ListView小结

来源:互联网 发布:知乎 苏联解体 编辑:程序博客网 时间:2024/04/24 02:25

ListView小结

最近在做关于listview显示数据的例子,网上搜了很多资源,这里自己大概总结下,忘了可以随时看看

listVIew设置每个Item之间的距离时,xml文件中可用

android:divider="#00000000"//分割线透明android:dividerHeight="18dp"//高度

1.、listview在拖动的时候背景图片消失变成黑色背景。等到拖动完毕我们自己的背景图片才显示出来。

2 、listview的上边和下边有黑色的阴影。

问题1 有如下代码结解决 android:scrollingCache="false"

问题2 用如下代码解决:android:fadingEdge="none" 

1)点击Item时无背景颜色变化
在xml文件中的ListView控件中加入如下属性:
android:listSelector="@drawable/timer_list_selector"
在drawable中定义timer_list_selector的属性值
timer_list_selector.xml中定义如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@android:color/transparent" />
</selector>
在values文件夹下的colors.xml中定义transparent如下:
<color name="transparent">#50000000</color>

2)设置Item之间无间隙
在xml文件中ListView控件中加入如下属性:
android:divider="#00000000"
或者在javaCode中如下定义:
listView.setDividerHeight(0);

3)自定义的BaseAdapter中调用notifyDataSetChanged()方法会重新调用BaseAdapter的getView()方法。

4)listview设置背景图片后,点击list空白位置的时候发现ListItem都变成黑色的了

解决方法:

如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了



0 0
原创粉丝点击