如何按主题创建自定义颜色套件?
<style name="Dark" parent="@style/Theme.AppCompat">
<item name="blueStyled">#229</item>
</style>
在values-v21 / colors.xml
中<color name="blueStyled">?blueStyled</color>
但尝试设置此颜色时应用崩溃,例如:android:background="@color/blueStyled"
答案 0 :(得分:1)
首先,在 res / values / colors.xml 中定义颜色:
<color name="dark_color">#229</color>
<color name="light_color">#6161ff</color>
在 /res/attrs.xml 中创建您将用作颜色的属性:
<resources>
<attr name="blue_styled" format="reference"/>
</resources>
使用与属性名称相同的名称和所需颜色作为其值定义样式中的项目:
<style name="Dark" parent="@style/Theme.AppCompat">
<item name="blue_styled">@color/dark_color</item>
</style>
<style name="Light" parent="@style/Theme.AppCompat.Light">
<item name="blue_styled">@color/light_color</item>
</style>
使用该属性作为背景:
android:background="?attr/blue_styled"
应根据主题将属性解析为适当的颜色。