ListView的item为TextView的时候,选中item设置不同的背景
来源:互联网 发布:爱奇艺网络大电影计划 编辑:程序博客网 时间:2024/06/04 19:03
Android本身的ListView其实已经提供了比较丰富的功能,但在实际设计应用的时候,需要根据公司独有的风格来进行设置,所以总需要自己来做一些变化。今天说到的一个问题,就是ListView的item为TextView的时候,如何根据焦点所在来改变背景。
我们都知道,ListView的内容是用Adapter来设置的,所以当时我的第一选择就是重写一个Adapter,在getView方法中来根据当前焦点位置进行设置,但很遗憾,也很莫名其妙的是,如果ListView中的item数量不超过当前屏幕,也就是不需要下拉的时候,完全没问题,但如果item比较多,焦点就无法向屏幕下方移动,这个问题我测试了好久也不知道是为什么,无奈就只能另辟奇径了。
思路来源于本来项目中的其他模块的代码,在layout布局文件中有这样的属性:
android:background="@drawable/textview_background"
然后再textview_background.xml文件中,则有一个<selector>,里面写着2个item,分别是有焦点(android:state_focused)和无焦点的时候来设置背景。照葫芦画瓢,我也在自己的模块中这样写绝世唐门,但结果依然悲剧。
无意间,自己输入了android:之后,eclipse给出了提示,在提示中有这样的属性:android:state_selected,会不会应该改成这个呢?试试吧,结果就是成功了!
我们都知道,ListView的内容是用Adapter来设置的,所以当时我的第一选择就是重写一个Adapter,在getView方法中来根据当前焦点位置进行设置,但很遗憾,也很莫名其妙的是,如果ListView中的item数量不超过当前屏幕,也就是不需要下拉的时候,完全没问题,但如果item比较多,焦点就无法向屏幕下方移动,这个问题我测试了好久也不知道是为什么,无奈就只能另辟奇径了。
思路来源于本来项目中的其他模块的代码,在layout布局文件中有这样的属性:
android:background="@drawable/textview_background"
然后再textview_background.xml文件中,则有一个<selector>,里面写着2个item,分别是有焦点(android:state_focused)和无焦点的时候来设置背景。照葫芦画瓢,我也在自己的模块中这样写绝世唐门,但结果依然悲剧。
无意间,自己输入了android:之后,eclipse给出了提示,在提示中有这样的属性:android:state_selected,会不会应该改成这个呢?试试吧,结果就是成功了!
具体来说,很简单,这个selector的xml代码如下:
<selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_selected="true"android:drawable="@drawable/第一个背景"/><item android:state_selected="false"android:drawable="@drawable/第二个背景"/></selector>问题解决了之后,也应该多想想,其实根本原因在于自己开发Android的经验太少,不了解这些东西,如果多开发,多做应用的话,会增加对Android的了解,这样的问题自然也会迎刃而解了。
- ListView的item为TextView的时候,选中item设置不同的背景
- 设置listview的item选中背景
- listview为不同的item设置不同的点击事件
- 设置 listview为单选模式平且设置选中的item的背景颜色为系统主题颜色
- Android为ListView的Item设置不同颜色背景
- Android为ListView的Item设置不同的布局
- Android为ListView的Item设置不同的布局
- Android为ListView的Item设置不同的布局
- Android为ListView的Item设置不同的布局
- getItemViewType为Listview的item设置不同的布局
- android中设置ListView的选中的Item的背景颜色(松开后的背景颜色)
- android listview内的TextView会在点击item的时候灰变背景颜色
- 设置ListView的item选中背景(选中之后不变色)
- 选中ListView中的Item后,让Item的背景高亮显示为某张图片的实现
- ListView Item 选中时 改变 TextView 的字体颜色
- Android的ListView子Item选中改变TextView字体颜色
- android中设置ListView的选中的Item的背景颜色(附源码)
- android中设置ListView的选中的Item的背景颜色
- 人为操控百度快照更新
- 安全测试之前言
- Linux启动流程简介
- wordpress友情链接如何双列显示代码添加
- 简单用户登录模式的实现
- ListView的item为TextView的时候,选中item设置不同的背景
- new 失败处理
- 简单算法--一个整形数逆序输出后正序输出/一段精彩的递归代码
- Linux 线程结束的善后处理
- 自己实现字符串处理函数
- Web.xml配置详解之context-param,listener
- 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页
- 像素、英寸、厘米之间的换算关系
- 用户从控制台输入文章、计算文章中单词个数并存入文件中