下面讲解以下在使用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点击无响应的解决方法...相关推荐

  1. android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法

    android studio开发的时候出现design editor is unavailable until after a successful project sync问题的解决方法 参考文章: ...

  2. android黑色半透明dialog背景,Android开发中Dialog半透明背景消失

    近日,遇到一个Dialog半透明背景消失的问题,背景需求是自定义Dialog实现警告提示框: // 初始化警告弹出框 alertDialog = new EmpAlertView(context, U ...

  3. android动态加载背景,Android六种加载动态图的方式(包括动态背景和加载动态图片)之四...

    参考文章:http://www.cnblogs.com/firecode/archive/2012/11/01/2749774.html 其实这篇文章已经写的很全面,我只是用了一下将它加入到我的dem ...

  4. [转]Listview的onItemClickListener无法响应的解决方法

    在Android软件设计与实现中我们通常都会使用到ListView这个控件,系统有一些预置的Adapter可以使用,例如SimpleAdapter和ArrayAdapter,但是总是会有一些情况我们需 ...

  5. Android点击无响应,Android Studio无响应打不开的解决办法

    最近谷歌发布了Android Studio,下载安装之后,在使用时发现一个问题,那就是发布无响应且无法启动,也就是点击Android图标的时候没有任务反应,我想说的是你需要重新配置一下环境~ 因为这个 ...

  6. Android TextView设置自动识别的超链接字体颜色,及自身点击事件无响应的解决办法

    前言 我们在给TextView设置超链接的时候,可能最简单的,Android已经给出了一个非常的简单的做法就是: 在xml中设置: <!--all表示匹配所有,web表示匹配网址 --> ...

  7. android手机收到消息推送无法显示,部分安卓手机收不到推送消息的解决方法(附图例)...

    最近有部分安卓用户(尤其华为),反馈老师的推送消息收取不到,或不及时,或部分能收到. 经过技术人员的排查,总结了一下推送设置的经验. 需要2个基本设置: 1. 手机允许接受爱股票的通知: 确定位置:设 ...

  8. Android ListView 点击item改变item的背景颜色(ListView实现光标移动)

    一下demo 地址 实现的效果图如下 ListView 光标移动,实现很是简单,这里是指item背景的改变 使用 listSelector listSelector  用户指定当前选中item 的颜色 ...

  9. android 实训的背景,Android实训项目作业.doc

    Android实训项目作业 2-1用整型数计算两个数的和2 2-7排列任意4个数的顺序,按从小到大顺序输出2 2.1编写显示下列图形的程序.2 3.1编写程序,当点击按钮命令后,页面标题及文本组件的文 ...

  10. android view保存成背景,Android用VideoView实现MP4作为页面背景

    类似Tumblr, Spotify, Keep等应用在登录界面都有要采用了背景是动画的效果.自己现在做课程设计,也想使用,所以经过捣鼓以后实现如下图: 动态背景.gif 1. 新建一个用于显示Vide ...

最新文章

  1. OC高效率52之理解OC错误模型
  2. 【译】Understanding Linked Data Formats
  3. raid卡缓存对硬盘性能_Mac Pro 2019加装2.5英寸机械硬盘方案
  4. 计算机科学和建筑设计结合,智能化建筑中计算机科学与技术的应用
  5. 服务化改造实践(二)| Dubbo + Kubernetes
  6. Hibernate学习之hibernate.cfg.xml
  7. stm32代码_ME3616 NB-IoT模组对接OneNET教程以及STM32代码
  8. 用MDT 2012为企业部署windows 7(三)--安装MDT 2012,ADK以及安装后情况
  9. 多行文字cad提取数据_怎样从cad中提取excel表格数据-如何快速提取CAD图纸表格数据...
  10. 计算机鼠标老跳动,鼠标跳动是什么原因 鼠标经常抖动的解决方法
  11. 如何查看云服务器的磁盘空间大小?
  12. Android读书笔记
  13. 关乎Java多线程+Runnable和Thread…
  14. TO_DATE使用詳解
  15. insert用法(插入表内容)
  16. C#实现物体尺寸测量(利用坐标转换)
  17. DRV8814PWPR
  18. 计算机中常用英文缩写
  19. 入门级用户福音,阿里云推轻量应用服务器新流量包套餐,成本最高可降50%
  20. ImportError: DLL load failed while importing _ctypes conda

热门文章

  1. 解决git 命令出现end问题
  2. 检测手机屏幕是否亮屏解锁
  3. KindEditor - 代码高亮
  4. Merge k Sorted Lists
  5. Gdcm源码编译with python wrap详解
  6. 权重不确定的概率线性回归
  7. 【CIKM2020】如何更为合适地评测推荐算法? Top-N物品推荐算法评测设置回顾
  8. 【GNN】一份简短入门《图神经网络GNN》笔记小册
  9. 谁是杨强?首位AAAI华人主席,身兼5大顶级组织Fellow,也是华为诺亚方舟实验室开创者...
  10. 推荐 | 掌握这些套路,你也能解决 90% 的 NLP 问题