您的位置:首页 > 移动开发 > Android开发

Android Selector自定义背景的使用

2015-10-21 00:02 288 查看
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">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: