在android开发中,listview的默认背景颜色是黑色的,所以在UI设计中,肯定会对它进行美化处理,尤其是在游戏开发中。最近在做用户聊天框的时候遇到一个这样的问题,我把显示用户聊天记录的listview背景设置成白色的,看起来没有什么问题,但是当我滚动滚动条的时候,有内容的listitem全部变成黑色的了,效果很不好。
google了一下,原因是:默认的ListView的背景是透明的,而ListView的背景是固定不变的,所以当我滚动滚动条的时候,会实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做android:cacheColorHint的属性,在黑色主题下默认的颜色值是#191919,所以就出现了刚才那样的效果。
解决的办法:如果你只要换背景颜色,就只需将android:cacheColorHint属性设置成你想要的颜色就行了。如果需更换背景图片,则需使用android:background="@drawable/bg"属性,并把android:cacheColorHint设置成(#00000000)透明的就ok了。
在Android开发中,ListView在滚动时可能出现背景颜色变化的问题。本文详细解释了这一现象的原因,即由于ListView默认使用了缓存提示颜色。并提供了两种解决方案:一种是更改缓存提示颜色,另一种是设置背景图片同时将缓存提示设为透明。
897

被折叠的 条评论
为什么被折叠?



