selector是在文件夹drawable中进行定义的xml文件。
它主要定义控件在下pressed,selected,focused及平常状态下的属性。
它主要定义控件在下pressed,selected,focused及平常状态下的属性。
越前面定义的状态,其优先级越高。对定得某个状态,如果某个属性没有显示说明,则表示此时该属性为任意值,都没关系。
示例1:
定义背景图片
bg_selector.xml文件
<?xmlversion="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:
定义背景图片
bg_selector.xml文件
<?xmlversion="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的颜色
<?xmlversion="1.0"encoding="UTF-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_selected="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_focused="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:color="@touchwiz:color/tw_color003"/>
</selector>
<?xmlversion="1.0"encoding="UTF-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android">
<itemandroid:state_pressed="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_selected="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:state_focused="true"android:color="@touchwiz:color/tw_color001"/>
<itemandroid:color="@touchwiz:color/tw_color003"/>
</selector>