在Android中,selector是一個XML文件,用于定義不同狀態下的視圖樣式。它可以被應用于按鈕、背景、文本顏色等視圖元素,以根據視圖的不同狀態顯示不同的樣式。
使用selector的步驟如下:
<selector>標簽包裹不同狀態下的樣式。<selector>標簽內部,使用<item>標簽來定義每個狀態下的樣式。每個<item>標簽都有一個android:state_XXX屬性,用于指定視圖的某個狀態。常用的狀態有:android:state_pressed(按下狀態)、android:state_focused(獲取焦點狀態)、android:state_enabled(可用狀態)、android:state_selected(選中狀態)等。<item>標簽內部,可以定義具體的樣式,如背景顏色、文本顏色、字體大小等。使用android:xxx屬性來指定具體的樣式。以下是一個示例的selector.xml文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/colorPrimaryDark" />
<item android:state_focused="true" android:drawable="@color/colorAccent" />
<item android:drawable="@color/colorPrimary" />
</selector>
在這個示例中,當視圖被按下時,背景顏色將改變為colorPrimaryDark定義的顏色;當視圖獲取焦點時,背景顏色將改變為colorAccent定義的顏色;其他狀態下,背景顏色為colorPrimary定義的顏色。
通過將這個selector.xml文件應用于按鈕的背景屬性,按鈕在不同狀態下將顯示不同的背景顏色。