Android中的ListView点击时的背景颜色设置
想设置listview中每行在点击、选中等不同状态下有不同的背景颜色,或者背景图片。
这可以用Android的Selector来实现。它可以定义组件在不同状态下的显示方式。
新建一个xml文件list_bg_selector.xml在drawable目录下
- <?xml version="1.0" encoding="utf-8" ?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_window_focused="false" android:drawable="@drawable/没有焦点时图片背景" />
- <item android:state_focused="true" android:state_pressed="true"
- android:drawable="@drawable/非触摸模式下获得焦点并单击时的背景图片" /> <!--双条件-->
- <item android:state_focused="false" android:state_pressed="true"
- android:drawable="@drawable/触摸模式下单击时的背景图片" />
- <item android:state_selected="true" android:drawable="@drawable/选中时的图片背景" />
- <item android:state_focused="true" android:drawable="@drawable/获得焦点时的图片背景" />
- <item android:drawable="@drawable/silver" /> <!--default color 当对应状态下没有定义时使用此default -->
- </selector>
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@drawable/没有焦点时图片背景" />
<item android:state_focused="true" android:state_pressed="true"
android:drawable="@drawable/非触摸模式下获得焦点并单击时的背景图片" /> <!--双条件-->
<item android:state_focused="false" android:state_pressed="true"
android:drawable="@drawable/触摸模式下单击时的背景图片" />
<item android:state_selected="true" android:drawable="@drawable/选中时的图片背景" />
<item android:state_focused="true" android:drawable="@drawable/获得焦点时的图片背景" />
<item android:drawable="@drawable/silver" /> <!--default color 当对应状态下没有定义时使用此default -->
</selector>
定义item时具体可以选择的条件有:
- android:state_pressed=["true" | "false"] //被点击
- android:state_focused=["true" | "false"] //获得焦点
- android:state_selected=["true" | "false"] //被选中
- android:state_checkable=["true" | "false"] //可以被check时
- android:state_checked=["true" | "false"] //被check时,例如用于checkbox
- android:state_enabled=["true" | "false"] //可用是,即能接收click/touch事件
- android:state_window_focused=["true" | "false"] //所在的窗口获得焦点
android:state_pressed=["true" | "false"] //被点击
android:state_focused=["true" | "false"] //获得焦点
android:state_selected=["true" | "false"] //被选中
android:state_checkable=["true" | "false"] //可以被check时
android:state_checked=["true" | "false"] //被check时,例如用于checkbox
android:state_enabled=["true" | "false"] //可用是,即能接收click/touch事件
android:state_window_focused=["true" | "false"] //所在的窗口获得焦点
然后再listview的layout定义里加上就ok了
- android:background="@drawable/list_bg_selector"
android:background="@drawable/list_bg_selector"
Android中的ListView点击时的背景颜色设置的更多相关文章
- Android 文字链接 文字点击时的背景颜色
案例:实现“忘记密码?”这个链接,并且在按下的时候改变颜色. 方法一:这个可以用TextView实现: 主界面main.xml: <?xml version="1.0" en ...
- 1016-06-首页20-封装工具条---UITableView控件距离顶部的间距问题----cell选中时的背景颜色设置
一.设置UITableView里面的顶部 cell 距离顶部的间距的三种方式: 方法 1. 直接设置: self.tableView.contentInset = UIEdgeInsetsMake(H ...
- WPF中ListBox /ListView如何改变选中条背景颜色
适用ListBox /ListView WPF中LISTVIEW如何改变选中条背景颜色 https://www.cnblogs.com/sjqq/p/7828119.html
- H5 -- 取消a标签在点击时的背景颜色
原文链接:点我 1.取消a标签在移动端点击时的蓝色 a { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-user-sele ...
- 取消a标签在移动端点击时的背景颜色
一.取消a标签在移动端点击时的蓝色 -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-user-select: none; -m ...
- 取消a标签或者onclick在移动端点击时的背景颜色
一.取消a标签在移动端点击时的蓝色 -webkit-tap-highlight-color: rgba(, , , ); -webkit-user-select: none; -moz-user-fo ...
- css取消a标签在移动端点击时的背景颜色
一.取消a标签在移动端点击时的蓝色 -webkit-tap-highlight-color: rgba(255, 255, 255, 0);-webkit-user-select: none;-moz ...
- 【转】整理一下Android中的ListView
原文网址:http://sunbofu.blog.51cto.com/6431507/1280441 Android中的listview目测是一个使用频率很高的组件,所以今天来总结一下listview ...
- Android中的ListView属性使用总结
Android中使用ListView控件比较常见,如果能知道常用的一些属性使用,肯定会少很多坑. 1.ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景 ...
随机推荐
- Delphi7中的Char和XE中的Char
我用FillChar()函数时,发现两个版本中的Char不一样. 在delphi7中 procedure TForm2.Button1Click(Sender: TObject); var s: ar ...
- UltraEdit 回车符替换空格
查找和替换 输入 ^r^n 替换为:(空格)
- android studio中使用recyclerview小白篇(二)
前面一个说了怎么把这个包引用进来,这一节说怎么做一个简单的例子出来,我也是照着别人的例子写的,然后慢慢改就行了,做好的效果如下图 1.在我们的activity_main中把recyclerview填加 ...
- CPU 和 GPU 的区别
作者:知乎用户链接:https://www.zhihu.com/question/19903344/answer/96081382来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 趣图:向客户介绍的产品VS实际开发的产品
趣图:客户需求 vs 最终产品 趣图:你永远想不到用户怎么使用你的产品
- MVC,MVP 和 MVVM 的区别之处
其实我一直以来,虽然做的是前端的工作,但是有一个疑问,就是什么是mvc模式,虽然大概知道,但是具体确实说不上来的的,今天,我就好好总结一下mvc ,mvp,mvvm模式的区别与相同. 1.MVC模式: ...
- 单机,伪分布式,完全分布式-----搭建Hadoop大数据平台
Hadoop大数据——随着计算机技术的发展,互联网的普及,信息的积累已经到了一个非常庞大的地步,信息的增长也在不断的加快.信息更是爆炸性增长,收集,检索,统计这些信息越发困难,必须使用新的技术来解决这 ...
- 【bzoj3456】城市规划 dp+多项式求逆
Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或 ...
- jquery常用事件——幕布
jquery常用事件:https://mubu.com/doc/yIEfCgCxy0
- Struts、Hibernate和Spring的整合
Spring整合Hibernate Spring以其开放性,能与大部分ORM框架良好的整合.这样Spring就能轻松地使用ORM. Spring提供了DAO支持,DA0组件是应用的持久层访问的重要组件 ...