android listview item 选中背景,Android ListView的item背景色设置和item点击无响应的解决方法...
下面讲解以下在使用listview时最常见的几个问题。
1.如何改变item的背景色和按下颜色
listview默认情况下,item的背景色是黑色,在用户点击时是黄色的。如果需要修改为自定义的背景颜色,一般情况下有三种方法:
1)设置listSelector
2)在布局文件中设置item的background
3)在adapter的getview中设置
这三种方法都能达到改变item默认的背景色和按下颜色,下面来分别讲解,但是在这之前需要先写好selector.xml文件;
xmlns:android="http://schemas.android.com/apk/res/android">
在改变button或者listview的item默认背景色,就可以用到selector。drawable可以设置为色彩资源,也可以设置为图片资源。
1)设置listview的listSelector
android:id="@+id/history_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#565C5D"
android:dividerHeight="3dp"
android:listSelector="@drawable/selector"
android:cacheColorHint="@android:color/transparent">
2)在listitem的布局文件中设置background属性,下面是listitem的布局文件
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/selector">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="历史记录"
android:textColor="#ffffff"
android:textSize="20sp"
android:layout_centerInParent="true">
3)在adapter的getView方法中设置
if(convertView ==null)
{
convertView = LayoutInflater.from(context).inflate(R.layout.listitem, null);
}
convertView.setBackgroundResource(R.drawable.selector);
上述方法都能达到同样的效果,就是改变item默认的背景色和点击时的背景颜色,第三种方法最灵活,如果listview的奇数行和偶数行需要设置为不同的selector,只能用第三种方法。
2.包含button,checkbox等控件时点击无响应问题。
如果listitem里面包括button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最常用的解决办法是在listitem的布局文件中设置descendantFocusability属性。
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:descendantFocusability="blocksDescendants">
android:id="@+id/history_item_checkbt"
android:layout_height="30dp"
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:checked="false"
>
android:id="@+id/history_item_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/history_item_checkbt"
android:background="@drawable/item_icon">
android:id="@+id/history_item_edit_bt"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="编辑"
android:textColor="#ffffff"
android:textSize="14sp"
android:background="@drawable/button_bg">
android:id="@+id/history_item_time_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textColor="#565C5D"
android:textSize="14sp"
android:text="10-01 10:20"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@id/history_item_edit_bt">
android:id="@+id/history_item_title_tv"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_centerVertical="true"
android:textColor="#565C5D"
android:textSize="14sp"
android:text="xxxxxxxxXXXXXXXXXXXXXXXX"
android:ellipsize="end"
android:maxLines="1"
android:layout_toRightOf="@id/history_item_image"
android:layout_toLeftOf="@id/history_item_time_tv"
android:layout_marginLeft="3dp">
android listview item 选中背景,Android ListView的item背景色设置和item点击无响应的解决方法...相关推荐
- android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法
android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法 参考文章: ...
- android黑色半透明dialog背景,Android开发中Dialog半透明背景消失
近日,遇到一个Dialog半透明背景消失的问题,背景需求是自定义Dialog实现警告提示框: // 初始化警告弹出框 alertDialog = new EmpAlertView(context, U ...
- android动态加载背景,Android六种加载动态图的方式(包括动态背景和加载动态图片)之四...
参考文章:http://www.cnblogs.com/firecode/archive/2012/11/01/2749774.html 其实这篇文章已经写的很全面,我只是用了一下将它加入到我的dem ...
- [转]Listview的onItemClickListener无法响应的解决方法
在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需 ...
- Android点击无响应,Android Studio无响应打不开的解决办法
最近谷歌发布了Android Studio,下载安装之后,在使用时发现一个问题,那就是发布无响应且无法启动,也就是点击Android图标的时候没有任务反应,我想说的是你需要重新配置一下环境~ 因为这个 ...
- Android TextView设置自动识别的超链接字体颜色,及自身点击事件无响应的解决办法
前言 我们在给TextView设置超链接的时候,可能最简单的,Android已经给出了一个非常的简单的做法就是: 在xml中设置: <!--all表示匹配所有,web表示匹配网址 --> ...
- android手机收到消息推送无法显示,部分安卓手机收不到推送消息的解决方法(附图例)...
最近有部分安卓用户(尤其华为),反馈老师的推送消息收取不到,或不及时,或部分能收到. 经过技术人员的排查,总结了一下推送设置的经验. 需要2个基本设置: 1. 手机允许接受爱股票的通知: 确定位置:设 ...
- Android ListView 点击item改变item的背景颜色(ListView实现光标移动)
一下demo 地址 实现的效果图如下 ListView 光标移动,实现很是简单,这里是指item背景的改变 使用 listSelector listSelector 用户指定当前选中item 的颜色 ...
- android 实训的背景,Android实训项目作业.doc
Android实训项目作业 2-1用整型数计算两个数的和2 2-7排列任意4个数的顺序,按从小到大顺序输出2 2.1编写显示下列图形的程序.2 3.1编写程序,当点击按钮命令后,页面标题及文本组件的文 ...
- android view保存成背景,Android用VideoView实现MP4作为页面背景
类似Tumblr, Spotify, Keep等应用在登录界面都有要采用了背景是动画的效果.自己现在做课程设计,也想使用,所以经过捣鼓以后实现如下图: 动态背景.gif 1. 新建一个用于显示Vide ...
最新文章
- OC高效率52之理解OC错误模型
- 【译】Understanding Linked Data Formats
- raid卡缓存对硬盘性能_Mac Pro 2019加装2.5英寸机械硬盘方案
- 计算机科学和建筑设计结合,智能化建筑中计算机科学与技术的应用
- 服务化改造实践(二)| Dubbo + Kubernetes
- Hibernate学习之hibernate.cfg.xml
- stm32代码_ME3616 NB-IoT模组对接OneNET教程以及STM32代码
- 用MDT 2012为企业部署windows 7(三)--安装MDT 2012,ADK以及安装后情况
- 多行文字cad提取数据_怎样从cad中提取excel表格数据-如何快速提取CAD图纸表格数据...
- 计算机鼠标老跳动,鼠标跳动是什么原因 鼠标经常抖动的解决方法
- 如何查看云服务器的磁盘空间大小?
- Android读书笔记
- 关乎Java多线程+Runnable和Thread…
- TO_DATE使用詳解
- insert用法(插入表内容)
- C#实现物体尺寸测量(利用坐标转换)
- DRV8814PWPR
- 计算机中常用英文缩写
- 入门级用户福音,阿里云推轻量应用服务器新流量包套餐,成本最高可降50%
- ImportError: DLL load failed while importing _ctypes conda