Android Selector自定义背景的使用

来源:互联网 发布:阿里云服务器购买教程 编辑:程序博客网 时间:2024/06/12 11:59

Selector我用的地方一般是在点击事件背景的变化,所以这里就简单的讲一下Selector的几种状态和需要注意的地方
首先Selector分为四种:
默认状态下view的背景使用android:state_enabled="true"
获得焦点时view的背景使用android:state_focused="true"
被按下时view的背景使用android:state_pressed="true"
被选中时view的背景使用android:state_selected="true"
所以我们只要在xml中设置我们所需要的集中背景就可以了例如:

<itemandroid:state_pressed="true"android:drawable="@drawable/background_pressed"><itemandroid:state_pressed="false"android:drawable="@drawable/background_normal"><itemandroid:state_selected="true"android:drawable="@drawable/background_selected"><itemandroid:state_enabled="true"android:drawable="@drawable/background_normal">

但是我们需要知道的是selector对它的每一个item的顺序是有要求的,当摸一个item满足当前要求之后就不会再往下执行,所以我们上面的selector只能看到从normal变到pressed而看不到selected,它本在pressed后面但是立马被第二个item拦截了所以看不到第三个
下面的是正确的例子:

<itemandroid:state_pressed="true"android:drawable="@drawable/background_pressed"><itemandroid:state_selected="true"android:drawable="@drawable/background_selected"><itemandroid:state_enabled="true"android:drawable="@drawable/background_normal">
0 0
原创粉丝点击