想设置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>
定义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"] //所在的窗口获得焦点
然后再listview的layout定义里加上就ok了
android:background="@drawable/list_bg_selector"
分享到:
相关推荐
android listview点击保持背景颜色,实现已读功能
ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了,要实现放开鼠标后选择项的背景还是有颜色的。
我们常见的androidlistview 都是整体改变背景颜色,我今天上传的是 动态改变listview 其中一条或者多条的背景颜色,以及改变item的颜色。 不需要添加list的点击事件 就可以完成。
android listview 列表点击时改变点击颜色效果,本人抽空开发,亲测,有需要的可以下载
Android ListView错位问题之背景色错位
这是同一个问题,Listview中点击item是会变颜色的,因为listview设置了默认的listselector,有一个默认的颜色,同理如果点击没颜色变化我们怎么设置listselector也不会变颜色的。 但是在我们的开发过程中,我们可能会...
如果需要修改为自定义的背景颜色,一般情况下有三种方法: 1)设置listSelector 2)在布局文件中设置item的background 3)在adapter的getview中设置 这三种方法都能达到改变item默认的背景色和按下颜色,下面来...
详情可看:http://blog.csdn.net/u014704469/article/details/38843815
ListView的小例子,一次性采用绑定控件,ListView保持背景颜色不失效等功能,对初学者很有帮助
通过继承SimpleAdapter类,重写里面的getview方法来实现颜色隔行显示的功能。本代码一切从简、通俗易懂,适合于新接触SimpleAdapter的初学者
我做了一个音乐播放器,其中用ListView显示歌曲列表,当我点击某一首歌时,希望这首歌所在的item的背景颜色改变,以突出显示所选择的歌曲。 首先我想到的是在ItemClickListener里面写,如下: private View ...
ExpanExpandableListView 解决子级背景色混乱 和父级展开项唯一效果实现dableListView 解决子级背景色混乱 和父级展开项唯一效果实现
安卓ListView选中之后添加一个背景颜色……
本文实例讲述了android开发之listView...android:drawSelectorOnTop=”false” 点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的 Read the docs of ListActivity.It says you should hav
简单的小例子listview的demo,用于显示listview的背景颜色,漂亮的listview
Github中的swipelist 用了几次 总感觉背景变色 有Bug ListView 滑动删除效果
Android三级目录、ListView单选/GridView单选、ListView多选/GridView多选。选中后背景变色,字体变色。
自定义getView 比较综合一点 自己研究listView 改变选中行的字体大小 颜色 背景色 添加按钮等等之类的。