Android Selector自定义背景的使用
2015-10-21 00:02
288 查看
Selector我用的地方一般是在点击事件背景的变化,所以这里就简单的讲一下Selector的几种状态和需要注意的地方
首先Selector分为四种:
默认状态下view的背景使用
获得焦点时view的背景使用
被按下时view的背景使用
被选中时view的背景使用
所以我们只要在xml中设置我们所需要的集中背景就可以了例如:
但是我们需要知道的是selector对它的每一个item的顺序是有要求的,当摸一个item满足当前要求之后就不会再往下执行,所以我们上面的selector只能看到从normal变到pressed而看不到selected,它本在pressed后面但是立马被第二个item拦截了所以看不到第三个
下面的是正确的例子:
首先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">
相关文章推荐
- Android开发中图片的加载
- Android异步更新
- Android自带控件ExpandableListView的使用
- Android对象与Base64为字符串
- Android空数据页面提示控件
- Android 新特性 - TabLayout
- Android定位入门(1)了解定位管理器--LocationManager 类
- Android 设置ImageView宽度固定,其高度按比例缩放适应
- Android 设置ImageView宽度固定,其高度按比例缩放适应
- Android获取手机的版本号等信息
- Android:Material系列:ActionBar-->Toolbar
- 如何重写Android 5.0 新增API
- Android引入库文件出错 Jar mismatch! Fix your dependencies
- Android学习笔记-XML文件解析(三)
- 面了某android开发职位2015
- Android自定义属性分析
- Android--ViewPager
- Android学习笔记-XML文件解析(二)
- Android学习笔记-XML文件解析(一)
- Ionic 入门