android中ListView 设定背景图后拖动时整体背景变黑的解决

在Android中,ListView是很常用的一个控件。我们在使用的时候,经常会碰到点击之后整个View变暗的现象,此现象在设置背景图片后尤为明显。
这个要从Listview的效果说起,默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了 android:cacheColorHint 的属性,在黑色主题下默认的颜色值是#191919,所以就出现整个View变暗的情况。
解决这个问题只需要一行代码即可,如果你只是换背景的颜色的话,可以直接指定android:cacheColorHint为你所要的颜色,如果你是用图片做背景的话,那也只要将android:cacheColorHint指定为透明(#00000000)就可以了。
方法一:在布局文件中,ListView中加入以下属性即可:android:cacheColorHint=”#00000000″。
方法二:在java文件中,对于ListActivity,在onCreate中通过this.getListView()先获取listview,然后通过调用listview的方法:setCacheColorHint(Color.TRANSPARENT),将背景设置为透明即可。
  

你可能感兴趣的:(android中ListView 设定背景图后拖动时整体背景变黑的解决)