此贴为转载 ,不是本人制作。

Android中的Selector主要是用来改变ListView和Button控件的默认背景。其使用方法可以按一下步骤来设计:(以在mylist_view.xml为例)

1.创建mylist_view.xml文件

首先在res目录下新建drawable文件夹,再在新建的drawable文件夹中新建mylist_view.xml,其目录结构为:res/drawable/mylist_view.xml。

2.根据具体需求编辑mylist_view.xml文件

新建mylist_view.xml文件后,在没有添加任何属性时其内部代码结构为:

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> </selector>

下面就可以根据项目需求,在其内部定义为自己想要的样式了,主要属性如下:

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 默认时的背景图片-->  <item android:drawable="@drawable/pic1" />
<!-- 没有焦点时的背景图片 -->  <item android:state_window_focused="false"   android:drawable="@drawable/pic1" />
<!-- 非触摸模式下获得焦点并单击时的背景图片 -->  <item android:state_focused="true" android:state_pressed="true"   android:drawable= "@drawable/pic2" />
<!-- 触摸模式下单击时的背景图片-->
<item android:state_focused="false" android:state_pressed="true"   android:drawable="@drawable/pic3" />
<!--选中时的图片背景-->  <item android:state_selected="true"   android:drawable="@drawable/pic4" />
<!--获得焦点时的图片背景-->  <item android:state_focused="true"   android:drawable="@drawable/pic5" />
</selector>

3.引用mylist_view.xml文件

三种方法可以来引用刚才创建的文件:

(1)在ListView中添加如下属性代码

android:listSelector="@drawable/mylist_view"  

(2)在ListView的item界面中添加如下属性代码

android:background="@drawable/mylist_view"

(3)利用JAVA代码直接编写

Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);
listView.setSelector(drawable);

为了防止列表拉黑的情况发生,需要在ListView中添加以下的属性代码

android:cacheColorHint="@android:color/transparent"

属性介绍:

android:state_selected选中

android:state_focused获得焦点

android:state_pressed点击

android:state_enabled设置是否响应事件,指所有事件

转载于:https://www.cnblogs.com/snake-hand/archive/2013/06/05/3119830.html

Android Selector 用法相关推荐

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

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

  2. 【转】 Android - LayoutInflate用法

    [转自]http://blog.csdn.net/scut1135/article/details/7055461 通俗的说,inflate就相当于将一个xml中定义的布局找出来. 因为在一个Acti ...

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

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

  4. MTK驱动(77)---Android getevent用法

    Android getevent用法 getevent命令用法如下: Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [ ...

  5. Android inflater用法

    Android inflater用法 简介 具体作用 获取layoutInflater的三种方式 源码查看 返回值结果 注意 简介 在实际的开发中layoutInflater这个类的主要的主要的作用类 ...

  6. android plurals用法

    参考 android plurals用法 对一个给定的语言和数字来说,决定使用哪一个case的规则是很复杂的,所以android提供了方法getQuantityString(),它可以用来为你选择合适 ...

  7. android plurals用法(单复数)

    0.相关文章 android plurals用法 Android中的string资源占位符及Plurals string 1.使用 对一个给定的语言和数字来说,决定使用哪一个case的规则是很复杂的, ...

  8. android selector的用法解析

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

  9. Android Selector 与 Shape 基本用法

    1:Selector drawable的item中可以有以下属性:  android:drawable="@[package:]drawable/drawable_resource" ...

最新文章

  1. matlab方波假频现象分析,基于MATLAB 的信号时域采样及频率混叠现象分析
  2. 什么是SAP FR?
  3. 关于JS客户端对服务器控件赋值,Post后不能保留值的解决办法
  4. android 正则表达式3,含有至少3个字符类型的android正则表达式
  5. C语言语句知识结构大学霸IT达人
  6. python调用qq互联_Django项目中实现使用qq第三方登录功能
  7. bigqury 认证
  8. NLP分析小说人物关系,找找主人公的真爱。
  9. source 导入大批量sql文件的方法
  10. 前端学习(1799):前端调试之清除浮动
  11. Flutter1.12与原生Android交互(kotlin)
  12. 说实话:中文自然语言处理(知识图谱)的N个真实情况
  13. 电商seo培训之卖家搜索优化步骤
  14. CDN选择合适的回源策略很重要
  15. 及c语言实现 pdf,词法分析及其C语言实现.PDF
  16. Exchange 2013 启用反垃圾邮件功能
  17. Games104 gameplay系统笔记
  18. 用NDK交叉编译pixman-0.34
  19. 第一单元 用python学习微积分(五) 隐函数微分法和逆函数导数(上)- 隐函数微分
  20. 最大后验估计(MAP)

热门文章

  1. 算法之排列与组合算法
  2. 代码大全--防御试编程
  3. 十进制数转为十六进制字符串
  4. linux命令:nslookup 、tar、route , tracert, traceroute, netstat、write、mesg、touch
  5. 任意输入一个整数反转输出
  6. 8.STM32中对ADC1_Config()函数(ADC1_GPIO_Config()和ADC1_Mode_Config())的理解(自定义)测试ADC转换电压值输出到终端上。
  7. springcloud(四):熔断器Hystrix
  8. 害怕抑郁症?该系统通过日常交流就能判断你是否有病
  9. 参数处理:#{}与${}取值的区别
  10. shell-awk常见用法