2016-08-08 2 views
1

Как создать набор пользовательских цветов по темам?Пользовательский комплект цветов по стилю

  • в styles.xml

    <style name="Dark" parent="@style/Theme.AppCompat"> 
        <item name="blueStyled">#229</item> 
    </style> 
    
  • в значениях-v21/colors.xml

    <color name="blueStyled">?blueStyled</color> 
    

но приложение падает при попытке установить этот цвет, например: android:background="@color/blueStyled"

ответ

1

Сначала определите цвета в Рез/значений/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" 

Атрибут должен быть разрешен к соответствующему цвету на основе темы.