下面是几个是实现的效果

效果图demo 地址

selector 的作用:

selector 是选择,用来修改修改控件的背景,设置点击效果,等, 自己一般使用在点击之后改变控件的背景色以及文字的颜色,比如底部导航栏切换等, 对单个控件按下一个状态,松开之后有一个状态,就是要实现按压效果,别的没怎么用得到,

selector 的属性如下

android:state_pressed=["true" | "false"]  --是否触摸

android:state_focused=["true" | "false"]  --是否获得焦点

android:state_selected=["true" | "false"]  --是否被状态

android:state_checkable=["true" | "false"]  --是否可选

android:state_checked=["true" | "false"]  --是否选中

android:state_enabled=["true" | "false"]  --是否可用

android:state_window_focused=["true" | "false"]  --是否窗口聚焦

以上属性,如果对于单个控件,比如,一个Button ,一个Image ,一个Text 或者是一个布局, 使用的属性为: android:state_pressed 其他seleced 或者 checked 属性即使设置了也是没有效果的,

所以使用的时候要注意下选择的属性是否对,一个Image ,一个Text 或者是一个布局使用 android:state_pressed 点击之后没有效果,可以在xml 中对控制设置android:clickable="true" 这样就有效果

android:state_selected=["true" | "false"]  --是否被状态  这个是针对list 的item 是否被选中的,

android:state_checked=["true" | "false"]  --是否选中 设计多选的可以使用,比如 CheckBox和RadioButton 等,上面提到导航栏状态切换就是这个属性,

下面是一个 RadioButton 切换的代码

  <RadioGroupandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:orientation="horizontal"><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:button="@drawable/ra_selector_bg"android:textSize="20sp"android:text="单选"/><RadioButtonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:button="@drawable/mult_selector_bg"android:textSize="20sp"android:text="双选" /></RadioGroup>
ra_selector_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/single_select" android:state_checked="true" /><item android:drawable="@drawable/single_unselect" /></selector>
mult_selector_bg
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/mult_select" android:state_checked="true" /><item android:drawable="@drawable/mult_unselect" /></selector>

Android selector 使用注意.相关推荐

  1. android 动态修改 selector,Android Selector 按下修改背景和文本颜色的实现代码

    1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...

  2. Android Selector 用法

    此贴为转载 ,不是本人制作. Android中的Selector主要是用来改变ListView和Button控件的默认背景.其使用方法可以按一下步骤来设计:(以在mylist_view.xml为例) ...

  3. android selector点击修改颜色,Android Selector 按下修改背景和文本颜色的实现代码

    1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...

  4. android selector的用法解析

    Selector 的英文是选择器,挑战者 android中主要是背景选择器 selector 是在drawable/xxx.xml中配置的 相关属性: android:state_selected是选 ...

  5. [转]android selector 背景选择器

    关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是 很全,所以现在总结一下android的selector的用法. 首先android的selector是 ...

  6. android selector下的设置背景属性值

    在res/drawable文件夹新增一个文件,此文件设置了图片的触发状态,你可以设置 state_pressed,state_checked,state_pressed,state_selected, ...

  7. Android selector 使用

    <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="ht ...

  8. Android selector

    以前知道selector可以设置图片选择没有选择,不知道文字也可以.最近做项目,看到那个文字,点击一个颜色,不点击一个颜色.才知道原来文字也可以selector. 使用如下: <TextView ...

  9. Android Selector的简写

    在Android中,我们需要实现一个View的点击或选中样式的改变,大多数情况下我们都是使用drawable文件,也就是selector,shape等组成的资源文件.大致套路如下的常规写法: 常规写法 ...

最新文章

  1. android考勤系统,Android端实现考勤管理系统
  2. Tomcat7和mysql连接池dbcp方式的配置方法和测试
  3. 网关层面为何要用Lua
  4. Python 解析构建数据大杂烩 -- csv、xml、json、excel
  5. ActiveXObject文件读写
  6. Windows 键盘快捷键 : Windows 快捷键
  7. mysql 数据库dbhelp_策略模式实现支持多种类数据库的DBHelp
  8. 苹果6可以分屏吗_苹果可以5g网络吗
  9. 循环神经网络系列(一) RNN、双向RNN、深度RNN
  10. 每天二十分钟学习python_每天 3 分钟,小闫带你学 Python(二十五)
  11. 区块链 共识机制研究的重要定理有哪些
  12. widnows下lua开发环境luadist LuaRocks搭建
  13. 在html中函数无效,无法在按钮点击HTML中调用JavaScript函数
  14. SAP结转方法:表结法、帐结法
  15. Java什么时候会触发类初始化及原理(详解)
  16. gzip and deflate
  17. 美团高级技术专家艺涛:深度学习在搜索业务中的探索与实践
  18. html中显示人民币符号
  19. mysql update mapper_mybatis批量update(mysql)
  20. 网页前端知识汇总(四)——网页前端搜索框用get或者post提交方式的区别

热门文章

  1. 淘宝获取单笔订单信息服务端调用API及流程
  2. Python 标准库之 json
  3. 二叉树的前序、中序、后序非递归遍历 python实现
  4. c语言使用指定字符串替换特定的子串
  5. 寻找一个字符串的重复子串 后缀数组
  6. linux中去掉^M的方法
  7. X-Deep Learning功能模块
  8. TensorRT 数据和表格示例
  9. 人工智能芯片支持超低功耗器件的推理
  10. CUDA C++编程手册(总论)