在Android中,selector是一個(gè)XML文件,用于定義不同狀態(tài)下的視圖樣式。它可以被應(yīng)用于按鈕、背景、文本顏色等視圖元素,以根據(jù)視圖的不同狀態(tài)顯示不同的樣式。
使用selector的步驟如下:
<selector>
標(biāo)簽包裹不同狀態(tài)下的樣式。<selector>
標(biāo)簽內(nèi)部,使用<item>
標(biāo)簽來定義每個(gè)狀態(tài)下的樣式。每個(gè)<item>
標(biāo)簽都有一個(gè)android:state_XXX
屬性,用于指定視圖的某個(gè)狀態(tài)。常用的狀態(tài)有:android:state_pressed
(按下狀態(tài))、android:state_focused
(獲取焦點(diǎn)狀態(tài))、android:state_enabled
(可用狀態(tài))、android:state_selected
(選中狀態(tài))等。<item>
標(biāo)簽內(nèi)部,可以定義具體的樣式,如背景顏色、文本顏色、字體大小等。使用android:xxx
屬性來指定具體的樣式。以下是一個(gè)示例的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>
在這個(gè)示例中,當(dāng)視圖被按下時(shí),背景顏色將改變?yōu)?code>colorPrimaryDark定義的顏色;當(dāng)視圖獲取焦點(diǎn)時(shí),背景顏色將改變?yōu)?code>colorAccent定義的顏色;其他狀態(tài)下,背景顏色為colorPrimary
定義的顏色。
通過將這個(gè)selector.xml文件應(yīng)用于按鈕的背景屬性,按鈕在不同狀態(tài)下將顯示不同的背景顏色。