==
先看一下一個xml drawable文件,這是一個button的樣式。
<?xml version="1.0" encoding="utf-8" ?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" > <shape> <solid android:color="#FB7C16" /> <stroke android:width="1dp" android:color="#FB7C16" /> <corners android:radius="3dp" /> </shape> </item> <item> <shape> <solid android:color="#1FAC75"/> <stroke android:width="1.0dp" android:color="#1FAC75" /> <corners android:radius="3dp" /> </shape> </item> </selector>
可以看到這里好幾處用到了顏色,但是都是直接指定顏色值,如果我想引用一個外部顏色,比如定義在values/refs里面的。那該怎么辦呢?
先在values/refs.xml文件里面定義顏色,如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="whitecolor">#FFFFFF</drawable> <drawable name="blackcolor">#000000</drawable> <drawable name="graycolor">#aaaaaa</drawable> <drawable name="drawerdivider">#FFFFFF</drawable> <!--<drawable name="theme_color">#1FAC75</drawable>--> <drawable name="theme_color">#FF3300</drawable> <drawable name="search_page_color">#60D1A3</drawable> <drawable name="grid_background">#FFFDF1</drawable> <!--<color name="theme_color">#1FAC75</color>--> <color name="theme_color">#FF3300</color> </resources>
然后在drawable xml文件里面引用顏色即可,如下:
</item> <item> <shape> <solid android:color="@color/theme_color"/> <stroke android:width="1.0dp" android:color="@color/theme_color" /> <corners android:radius="3dp" /> </shape> </item> </selector>
==
