selector 顾名思义,指的就是选择器。我们以一个button的背景图片为例讲述一下它的用法:
对于一个button,我们需要在布局文件中通过 android:background进行设置,我们需要当button状态变换的时候,button的背景图片可以自动的选择在selector中定义好的背景图片。下面是一个选择器的例子:首先我们需要在我们工程目录drawable目录下面建立一个ic_tab_artists.xml的文件,并在文件中写入以下内容。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- When selected, use grey -->
<item android:drawable="@drawable/ic_tab_artists_grey"
android:state_selected="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/ic_tab_artists_white" />
</selector>
默认状态下的背景图片是ic_tab_artists_white.png 当button被选择时,背景图片是ic_tab_artists_grey.png
这样,我们在button的布局属性中设置android:background="@drawable/ic_tab_artists",当button被选中时,button的背景图片是ic_tab_artists_grey.png 没有被选中时,背景图片是ic_tab_artists_white.png. 接着我们看看选择器中的其他属性:
android:state_selected 选中状态
android:state_focused 获得焦点状态
android:state_pressed 点击状态
android:state_enabled 是否响应,指所有事件