例:
在 android:drawable
资源文件目录下新建资源文件
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="#44BF1A" />
</shape>
</item>
<item android:state_checked="false">
<shape android:shape="rectangle">
<corners android:radius="4dp" />
<solid android:color="#44BF1A" />
</shape>
</item>
</selector>
其中:item属性:
android:state_pressed:
布尔值。true指当用户点击或者触摸该控件的状态。默认为false;一般用于设置按钮颜色 / 图片的设置。
android:state_focused:
布尔值。ture指当前控件获得焦点时的状态。默认为false;一般用于EdiText
android:state_hovered:
布尔值。true表示光标移动到当前控件上的状态。默认为false;光标是否悬停,通常与state_focused 相同,它是4.0的新特性,一般用于EdiText
android:state_selected
布尔值。true表示被选择的状态,例如在一个下拉列表中用方向键下选择其中一个选项。
这个和focus的区别,selected是focus不充分的情况。比如一个listview获得焦点(focus),而用方向键选择了其中的一个item(selected)
android:state_checkable
布尔值。ture表示可以被勾选的状态。这个仅在当控件具有被勾选和不被勾选的状态间转换时才起作用。
android:state_checked
布尔值。true表示当前控件处于被勾选(check的状态)
android:state_enabled
布尔值。true表示当前控件处于可用的状态。比如可以被点击
android:state_activated
布尔值。true表示当前控件被激活的状态。
android:state_window_focused
布尔值。true表示当前控件处于最前端时,应用窗口获得焦点的状态