首先,在/res/values/colors.xml
定義兩種顏色:
<resources>
<!-- ActionBar-->
<color name="MySpecialTextColorLight">@color/white</color>
<color name="MySpecialTextColorDark">@color/black</color>
<resources>
然後在/res/values/attrs.xml
定義了一個獨特的名稱的屬性:
<resources>
<attr name="mytheme_text_color" format="color"/>
</resources>
接下來,在你的兩個主題,該屬性定義值,如:
<resources>
<style name="MyTheme" parent="android:Theme">
<item name="mytheme_text_color">@color/MySpecialTextColorDark</item>
</style>
<style name="MyTheme.Light" parent="android:Theme.Light">
<item name="mytheme_text_color">@color/MySpecialTextColorLight</item>
</style>
</resources>
最後,使用引用屬性y你定義爲指代這些顏色。在你的情況下,你使用:
<TextView
...
android:color="?attr/mytheme_text_color"
.../>
太棒了!我會稍後嘗試和反饋。 – Robin
爲您投票!它像一個魅力! – Robin
嗨,一些更新。似乎?attr/xxx不能用於選擇器,任何想法? – Robin