List控件已经设置了android:cacheColorHint="@color/transparent" 但是滚动的时候有些列表项的还会出现黑色底,大家看看这个要怎么解决?

解决方案 »

  1.   

    用android:cacheColorHint="#00000000"试试
      

  2.   

    另外,代码中也要加这句: list.setCacheColorHint(0);   
      

  3.   

    ListView 在Android中可以说随处可见,在自定义背景上使用ListView,当List滚动的时候会发现List的背景为黑色(使用黑色主题的情况下).这是为什么呢? 原来ListView在滚动的时候为了提升性能做了优化.
    为了提高滚动的性能,Android框架在ListView中引入了一个 CacheColorHint 的属性 ,如果该值为非0,则说明该ListView绘制在单色不透明的背景上,在默认情况下该值为#191919,也就是黑色主题中的黑色背景颜色值,这样当ListView滚动的时候就会使用该值来绘制ListView的背景.
    要解决这个问题,只要使用该函数 CacheColorHint 设置其值为 #00000000就可以了.也可以通过xml属性设置: android:cacheColorHint="#00000000"
      

  4.   

    我的color/transparent的值就是#00000000 同时也试了在代码也设置list.setCacheColorHint(0); 
    但是还是会出现某个列表项在拖动的时候背景为黑色(注意是不定的某个项,有时还会几个列表项同时出现);
      

  5.   

    我试过了,我的就管用啊,我只有一个list,两个都得设置,只设置一个有时候不管用