Settings 界面修改

在平板横屏模式下,发现Settings主界面左侧显示不完整。问题源于PreferenceActivity加载的preference_list_content.xml布局文件。通过修改该布局文件或在Settings.java的onCreate方法中获取并调整ListView,可以解决显示问题。去除ListView的风格设置或直接在代码中修改布局,可能影响到所有继承PreferenceActivity的系统组件。

发现平板横屏的时候,Settings主界面的左侧界面显示不完整。

Settings.java继承的是PreferenceActivity,通过查看PreferenceActivity的源码,所在路径为:frameworks/base/core/java/android/preference/PreferenceActivity.java

发现它所加载的布局文件为:preference_list_content.xml,

所在路径为:frameworks/base/core/java/res/res/layout/preference_list_content.xml

左侧布局:



右侧布局:




所以要修改左右测的显示风格,可以对这个布局文件进行调整:

上面的ListView即为显示在settings_headers.xml中定义的每一项。


也可以在继承PreferenceActivity的类中通过这个布局中的id,得到相应的布局,进行修改。

如:在settings.java中的onCreate方法中,获得左侧的view

View view = findViewById(com.android.internal.R.id.headers);

view.setBackgroundColor(Color.GREEN);

即可将左侧背景设置为绿色。


同样可以获得listView,修改其选中时的颜色等等。


如我不想让listView距离它的父布局,发现上面的布局中有style,在style.xml中发现设置了距离左右的距离,这也就是导致我最开始所说的横屏显示不完整的问题,我将ListView的这个风格去掉以后,就解决了问题。当然也可以在Settings.java中得到这个ListView ,对其布局进行修改。


不过要是修改的是framework下的这个文件,那么将对系统中所有继承了PreferenceActivity的类都有一定的影响。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值