selector是在檔案夾drawable中進行定義的xml檔案。
它主要定義控制項在下pressed,selected,focused及平常狀態下的屬性。
越前面定義的狀態,其優先順序越高。對定得某個狀態,如果某個屬性沒有顯示說明,則表示此時該屬性為任意值,都沒關係。
樣本1:
定義背景圖片
bg_selector.xml檔案
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/listlayoutsample12xml_press_image" />
<item
android:state_selected="true"
android:drawable="@drawable/listlayoutsample12xml_focus_image" />
<item
android:state_focused="true"
android:drawable="@drawable/listlayoutsample12xml_focus_image" />
<item
android:drawable="@drawable/listlayoutsample12xml_bg_image" />
</selector>
在布局檔案中使用它
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:orientation="vertical"
android:background="@drawable/bg_selector"
android:paddingRight="13.33dp"
android:layout_height="65.33dp"
android:paddingLeft="31.9dp"
android:gravity="center_vertical">
</LinearLayout>
樣本2:定義selector的顏色
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="@touchwiz:color/tw_color001" />
<item android:state_selected="true" android:color="@touchwiz:color/tw_color001" />
<item android:state_focused="true" android:color="@touchwiz:color/tw_color001"/>
<item android:color="@touchwiz:color/tw_color003"/>
</selector>