一、介紹:
用以設定元件在某些特定情況下(例如:按下或啟用...)的顏色,此類會放在res/color/底下用XML來撰寫的檔案
既然是XML檔,勢必會有規定的元素(Element)及屬性(Attribute):
元素:
<selector>*
必須是根元素,包含一個或多個<item>元素
屬性:
xmlns:android(String)*
定義XML名稱空間,必為"http://schemas.android.com/apk/res/android"
<item>
定義特定狀態下的顏色,必須是<selector>的子元素
屬性:
android:color(Hex Color)*
始終以"#"開頭,值必須為3,4個1位16進位值或3,4個2位16進位值(Alpha-Red-Green-Blue)
格式:#RGB, #ARGB, #RRGGBB, #AARRGGBB
例如:#29F, #C29F, #E46F84, #3C5EA8BA
android:state_pressed(boolean)
對象按下與否時應用
android:state_focused(boolean)
對象聚焦與否時應用
android:state_selected(boolean)
對象選擇與否時應用
android:state_checkable(boolean)
對象可被勾選與否時應用
android:state_checked(boolean)
對象勾選與否時應用
android:state_enabled(boolean)
對象啟用與否時應用
android:state_window_focused(boolean)
對象應用程式聚焦與否時應用
注意:如果不包含以上可選屬性,該<item>元素應始終位於最後,因為從第一位開始尋找,如果可以被應用則不會再繼續往下尋找,而不包含以上可選屬性即代表默認值
範例(來自Android官方文件):
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#ffff0000"/> <!-- pressed --> <item android:state_focused="true" android:color="#ff0000ff"/> <!-- focused --> <item android:color="#ff000000"/> <!-- default --> </selector> |