修改setting的ui风格

来源:互联网 发布:windows xp系统下载 编辑:程序博客网 时间:2024/06/03 05:16

<1>修改系统的色调

在设置的主题中添加:

<!-- 更改首页图标颜色 --><item name="android:colorAccent">#ff6900</item>

这样只是修改掉Setting内部的颜色,一些链接到系统其他应用的颜色没有改变
还需要在源码的framework/base/core/res/res/values/ 目录下,修改对应的主题颜色,我这使用的是material主题:themes_material.xml
可以看到主题中

dark主题<item name="colorAccent">@color/accent_material_dark</item>light主题<item name="colorAccent">@color/accent_material_light</item>

再去对应的color_material.xml 文件中查找,修改对应的颜色

修改framework res需要重新编译framework res模块:
编译framework res部分

1.初始化环境 : . ./build/envsetup.sh

2.选择模块: lunch

3.编译res: make framework-res

4.将编译好的模块推到机器:adb remount && adb push ./out/…/framework-res.apk /system/framework/framework-res.apk

5.重启系统 adb reboot

注意:我使用的是本地eng版本才有权限,push

<2>修改系统的Switch的风格

1.首先在主题中添加:

<!-- For SwitchPreference SwitchBar --><item name="@*android:switchStyle">@style/customSwitchStyle</item>

再在style中添加自定义switchStyle:

<style name="customSwitchStyle" parent="@*android:style/Widget.Material.CompoundButton.Switch">        <item name="android:track">@drawable/switch_track</item>        <item name="android:thumb">@drawable/switch_thumb</item>        <item name="android:textOn">""</item>        <item name="android:textOff">""</item>        <item name="android:switchMinWidth">0dip</item>    </style>

对应的资源文件:
switch_track.png

这里写图片描述

switch_thumb.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/switch_disable" android:state_enabled="false"/>    <item android:drawable="@drawable/switch_on" android:state_checked="true"></item>    <item android:drawable="@drawable/switch_off"></item></selector>

switch_disable.png switch_on.png switch_off.png :

这里写图片描述这里写图片描述这里写图片描述

同样需要修改系统个framework中源码res:
在material主题中将switchStyle属性修改为上面自定义的风格,将资源放在对应的drawable中
编译framework-res ……等就修改啦控件switch的默认风格
修改其他控件一样

<3>像上面修改后发现还有一些系统的ui没有改变颜色

这就需要修改SystemUI中的颜色,在res中的color文件中修改颜色
如果不知道对应是那个颜色,只有去style中去看对应的应用或者直接在color中查找之前改的颜色,直接替换
编译SystemUI

1.make SystemUI

2.adb remount && adb push ./out/…/SystemUI.apk /system/…/SystemUI.apk //out输出对应目录

5.重启系统 adb reboot

0 0
原创粉丝点击