按样式定制颜色套件
Custom color kit by Style
如何按主题创建自定义颜色套件?
在styles.xml
<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"
首先,在 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"
应该根据主题将属性解析为适当的颜色。
如何按主题创建自定义颜色套件?
在styles.xml
<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"
首先,在 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"
应该根据主题将属性解析为适当的颜色。