ListView的背景、选中状态、下划线等相关说明
来源:互联网 发布:苹果安装windows系统 编辑:程序博客网 时间:2024/05/02 06:12
1. 背景色: 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:drawSelectorOnTop="true" 点击某一条记录,颜色会显示在最上面,记录上的文字被遮住,所以点击文字不放,文字就看不到
android:drawSelectorOnTop="false" 点击某条记录不放,颜色会在记录的后面,成为背景色,但是记录内容的文字是可见的
When set to true, the selector will be drawn over the selected item. Otherwise the selector is drawn behind the selected item. The default value is false.
9.在ListView中添加属性:
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track" android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
scrollbar_vertical_track,crollbar_vertical_thumb自定义的xml文件,放在Drawable中,track是指长条,thumb是指短条,然后再xml中定义短条和长条的样式
在项目的开发过程中,需要Listview的Item中包含按钮的效果。在实际开发过,Item中放置按钮后,ListView 单行选择背景颜色变化的效果没有了。
问题原因
ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽。
目前网络上普遍的解决方式
设置1 在Item的xml模板中设置 根布局 属性
android:descendantFocusability= "blocksDescendants"
如下:
< RelativeLayout>
android:descendantFocusability= "blocksDescendants"
设置2 在按钮控件<ImageButton>中设置属性
android:focusable = "false"
补充:这种设置后,点击按钮,整条Item都响应点击效果,显示的效果非我们需要的
我们的需要的效果
1 ListView的Item本身可以选择
2 Item中的按钮可以随意点击,不会干扰Item
实现的过程
在ListView中用图片控件,或者文本控件,来代替图片按钮和普通按钮,并在Adapter中设置点击事件就可以
如例:
//根据数据项,设置点击文本框的文字,并设置点击事件 TextView txt_Remember=(TextView)convertView.findViewById(R.id.txt_Remember); txt_Remember.setOnClickListener(new TextView.OnClickListener() { public void onClick(View v){ LibListViewAdapter.this.remove(LibListViewAdapter.this.getItem(1)); } });
- ListView的背景、选中状态、下划线等相关说明
- 设置透明背景的Listview和选中状态
- tableView 设置选中背景 下划线消失的原因
- ListView点击item改变背景,重新选中另一项刷新,默认是选中第一项的状态
- 去除ListView选中时的黄色背景
- 设置listview的item选中背景
- 去掉ListView选中背景
- listview 选中变换背景
- 设置Listview 的选中背景效果 背景变蓝字变白
- C# ListView 选中状态的判断方法
- [android] ListView 选中状态的动态改变
- ListView 处理Item的选中状态(checked)
- Android ListView选中状态
- ListView设置选中状态
- android ListView 去除下划线和选中模式
- ListView选中更改背景颜色
- listview选中item背景变色
- Android 中的ListView被选中项的背景怎么改
- 确认序列号----阿里巴巴2015实习生笔试题
- <java.util>PriorityQueue代码分析
- mongo-pymongo 数组操作
- About The Problem "scrollToItemAtIndexPath:atScrollPosition:animated:" doesn't work
- iOS 通过(lame)将录制音频转换成Mp3
- ListView的背景、选中状态、下划线等相关说明
- CodeForces 342B--模拟+贪心
- 160708杂七杂八_static 关键字&memset&valgrind查看内存泄露
- Android 复习笔记5 listView ArrayList
- IIS7.0/IIS7.5 Microsoft.Web.Administration相关操作参数详解
- highcharts中如何正确显示时间格式的x轴
- UVa 1638 Pole Arrangement
- Apache/IIS/Tomcat共存,配置全能服务器
- switch—case break 语句总结