Style的自定义颜色套件

时间:2016-08-08 11:03:52

标签: android themes

如何按主题创建自定义颜色套件?

    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"

1 个答案:

答案 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"

应根据主题将属性解析为适当的颜色。