修改setting的ui风格

<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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值