一般Listview条目被点击需要自定义点击时颜色变化,这里给出一种简单方法。
ListView的listSelector属性设置为#00000000或@null 或Android:listSelector=”@android:color/transparent”,后条目点击就没有变化了 ,
再设置item的background即可。
android:background="@drawable/bg_item"
设置条目的背景图片
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" android:state_pressed="false"/>
<item android:drawable="@color/holo_blue_light" android:state_pressed="true"/>
</selector>
–listView与checbox
如果Listview的item中包含CheckBox,由于checkbox的焦点优先级高于listView,所以点击listView时,不会有点击效果,解决方法是checkbox中加一组属性 android:focusable=”false”
几个重要属性
android:transcriptMode="alwaysScroll"
android:cacheColorHint="#00000000" //listView 滑动时的背景色
android:listSelector="@color/pink" listView item 选中时的颜色。默认为橙黄底色。
android:divider="#f9b68b" //分割线颜色
android:dividerHeight="1dp" //分割线边距
android:scrollbars="none" //不显示滚动条
android:fadingEdge="none" 去掉上边和下边黑色的阴影
// 设置Item之间无间隙
android:divider="#00000000" 或者在javaCode中如下定义:listView.setDividerHeight(0);
android:divider="@drawable/list_driver" 设置分割线的图片资源,如果则只要设置为
android:divider="@drawable/@null" 不想显示分割线
android:scrollbars="none" setVerticalScrollBarEnabled(true); 隐藏listView的滚动条
android:fadeScrollbars="true" 设置为true就可以实现滚动条的自动隐藏和显示
android:transcriptMode="alwaysScroll" 用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。
android:fadingEdge="none" 去掉上边和下边黑色的阴影
android:fastScrollEnabled="false"
android:fastScrollEnabled = "true" 加快滑动速度
android:drawSelectorOnTop="false"
android:scrollingCache="false" ??????????????
android:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
ListView的listSelector属性可以为列表的某个元素被点击时产生按下的效果,但是某些情况下这个listSelector属性的效果会被覆盖,比如列表的Item为一个占满单元格的ImageView的时候,ImageView如果有内容那么listSelector的效果就会被挡住。
解决的办法是为ListView添加drawSelectorOnTop属性并设置为true