Listview属性大全

来源:互联网 发布:mac 照片 文件夹 分类 编辑:程序博客网 时间:2024/06/03 20:08

listView设置背景色android:background="@drawable/bg",拖动或者点击list空白位置的时候发现ListItem都变成黑色。 因为默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做android:cacheColorHint的属性,在黑色主题下默认的颜色值是#191919,所以就出现了刚才的画面,有一半是黑色的。

如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色;如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了,当然为了美化是要牺牲一些效率的。

2. android:fadingEdge="none" 去掉上边和下边黑色的阴影

3. android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一个图片资源lsitview的每一项之间需要设置一个图片做为间隔

设置Item之间无间隙

android:divider="#00000000" 或者在javaCode中如下定义:listView.setDividerHeight(0);

4. android:listSelector="@color/pink" listView item 选中时的颜色。默认为橙黄底色。

5. android:divider="@drawable/list_driver" 设置分割线的图片资源,如果则只要设置为

android:divider="@drawable/@null" 不想显示分割线

 

6. android:scrollbars="none" setVerticalScrollBarEnabled(true); 隐藏listView的滚动条

7. android:fadeScrollbars="true" 设置为true就可以实现滚动条的自动隐藏和显示

8. android:transcriptMode="alwaysScroll" ListView或者其它显示大量Items的控件实时跟踪或者查看信息,希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。

android:fastScrollEnabled="false"
android:fastScrollEnabled = "true" 加快滑动速度

android:drawSelectorOnTop="false" 
android:scrollingCache="false" 

Android下ListView上下滑动背景变黑在代码中可以使用:listview.setCacheColorHint(Color.TRANSPARENT);
补充当item中的子view也需要获取焦点时,比如item中存在editview时

项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件,此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

这时候就可以使用descendantFocusability来解决啦,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

        beforeDescendants:viewgroup会优先其子类控件而获取到焦点

        afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性就好了.

0 0
原创粉丝点击