Settings 界面修改
16lz
2021-01-25
发现平板横屏的时候,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的类都有一定的影响。
更多相关文章
- Android(安卓)CircleMenu 圆形旋转菜单
- android项目高级UI学习
- android极简原创系列:tabhost最简单配置
- Android(安卓)百分比布局详解及实例代码
- Android动画四种类型xml布局
- 采用Scroller实现任意布局的上下左右弹性效果
- lint工具改错
- android Caused by: java.lang.IllegalArgumentException: Binar
- Android(安卓)ViewStub