state_enable
android:state_enabled 如果值为true,当该组件能使用时显示该图片;false,当该组件不能使用时显示该图片。
下面就来通过代码看看:
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="40dip"
android:layout_weight="1"
android:background="@drawable/button"
android:minWidth="80dip"
android:text="@string/login"
android:textColor="#fff"
android:textSize="18sp"
android:enabled="false"/><!-- 设置按钮可用为false不可用 -->
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:drawable="@drawable/apple" /><!-- 设置可用时才可见 -->
<item android:state_pressed="true" android:drawable="@drawable/dialog_down" />
<item android:state_focused="true" android:drawable="@drawable/dialog_down" />
</selector>
再来设置:
state_activated
这里还有两个重要的应用场景:
在我们使用的时候推荐这样使用:
<?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/dialog_down" />
<item android:state_focused="true" android:drawable="@drawable/dialog_down" />
<item android:drawable="@drawable/dialog_up" /><!-- 这里是默认的设置 -->
</selector>