作用:处理不同状态下展示

selector标签,可以添加一个或多个item子标签,而相应的状态是在item标签中定义的。定义的xml文件可以作为两种资源使用:drawable和color。作为drawable资源使用时,一般和shape一样放于drawable目录下,item必须指定android:drawable属性;作为color资源使用时,则放于color目录下,item必须指定android:color属性。

用于背景和文本颜色

常用状态

android:state_enabled: 设置触摸或点击事件是否可用状态,一般只在false时设置该属性,表示不可用状态

android:state_pressed: 设置是否按压状态,一般在true时设置该属性,表示已按压状态,默认为false

android:state_selected: 设置是否选中状态,true表示已选中,false表示未选中

android:state_focused: 设置是否获得焦点状态,true表示获得焦点,默认为false,表示未获得焦点

android:state_hovered: 设置是否鼠标在上面滑动的状态,true表示鼠标在上面滑动,默认为false,API Level 14及以上才支持

android:drawable属性除了引用@drawable资源,也可以引用@color颜色值;但android:color只能引用@color;

item是从上往下匹配的,如果匹配到一个item那它就将采用这个item,而不是采用最佳匹配的规则;所以设置默认的状态,一定要写在最后,如果写在前面,则后面所有的item都不会起作用了。

实例:

Android按钮按下改变颜色实现方

另外,selector标签下有两个比较有用的属性要说一下,添加了下面两个属性之后,则会在状态改变时出现淡入淡出效果,但必须在API Level 11及以上才支持:

android:enterFadeDuration 状态改变时,新状态展示时的淡入时间,以毫秒为单位

android:exitFadeDuration 状态改变时,旧状态消失时的淡出时间,以毫秒为单位

图片发自App

更多相关文章

  1. Android(安卓)Drawable Resources系列2:标签、.9.png图片制作
  2. Android的Merge讲解与实例
  3. Android(安卓)NFC开发-实践篇
  4. Android中自定义ListView无法响应OnItemClickListener中的onItem
  5. Firemonkey扩展增强:Android(安卓)浏览器支持Input file标签上传
  6. android 监听网络状态的变化及实战
  7. Android(安卓)ellipsize的几种属性值介绍
  8. 【笔记】【从Android(安卓)Guide温习Android(安卓)三】意图 (Int
  9. Android(安卓)uiautomator实例使用

随机推荐

  1. android手势滑动——左右滑动效果实现
  2. Android(安卓)使用系统摄像头拍相片与拍
  3. android 限定 EditText字符输入个数
  4. 强制 Android(安卓)应用使用某个 Locale
  5. IPPH-发送广播
  6. 重命名sd卡中的文件名
  7. startService写法
  8. 彻底解决Android(安卓)GPS没法定位这一顽
  9. Android和IOS打开文档
  10. Android中MediaPlayer的setDataSource方