android selector

drawable的item中可以有以下属性: 

android:color=”#ffffff”

android:drawable=”@[package:]drawable/drawable_resource”
android:state_pressed=[“true” | “false”]
android:state_focused=[“true” | “false”]
android:state_selected=[“true” | “false”]
android:state_active=[“true” | “false”]
android:state_checkable=[“true” | “false”] 
android:state_checked=[“true” | “false”] 
android:state_enabled=[“true” | “false”] 

android:state_window_focused=[“true” | “false”] 

一个item可以有多个属性


注意:selected属性要写在最前面才有效

item里还可以有字元素shape

eg:

<?xml version=”1.0″ encoding=”utf-8″?>

<selector xmlns:android=”http://schemas.android.com/apk/res/android”>

    <item android:state_pressed=”true”>

        <!– 定义当button 处于pressed 状态时的形态。–>

        <shape>

            <gradient android:startColor=”#8600ff” />

            <stroke android:width=”2dp” android:color=”#000000″ />

            <corners android:radius=”5dp” />

            <padding android:left=”10dp” android:top=”10dp”

                android:bottom=”10dp” android:right=”10dp” />

        </shape>

    </item>

    <item android:state_focused=”true”>

        <!– 定义当button获得focus时的形态–>

        <shape>

            <gradient android:startColor=”#eac100″ />

            <stroke android:width=”2dp” android:color=”#333333″ color=”#ffffff” />

            <corners android:radius=”8dp” />

            <padding android:left=”10dp” android:top=”10dp”

                android:bottom=”10dp” android:right=”10dp” />

        </shape>

    </item>

</selector>