最近遇到改变app主题颜色的需求,其实很简单,就是设置好主题,然后把所有设置颜色的地方改成attr获取。直接看具体实现。
color.xml文件:颜色该怎么设置怎么设置就行了
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="color_FFFF0000">#FFFF0000</color>
<color name="color_FF00FF00">#FF00FF00</color>
</resources>
attrs.xml文件:定义颜色名称
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- 主题颜色,外层这个declare-styleable可以去掉,测试发现包不包这层效果一样 -->
<declare-styleable name="MyColor">
<attr name="colorPrimary" format="reference|color" />
<attr name="colorBackground" format="reference|color" />