Android ListView ListActivity PreferenceActivity背景变黑的问题

本文详细介绍了ListView滚动时背景变暗的原因,并提供了解决方案。通过设置android:cacheColorHint属性为透明,可以避免ListView滚动时背景变暗的问题。此方法同样适用于ListActivity和PreferenceActivity。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

ListView在滚动时背景会变暗甚至变黑,这个要从Listview的效果说起,默认的ListItem背景是透明的,而ListView的背景是固定不变的,所以在滚动条滚动 的过程中如果实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了 android:cacheColorHint 的属性,在黑色主题下默认的颜色值是#191919,所以就出现整个View变暗的情况。

要解决这个问题只要设android:cacheColorHint=”#00000000″(透明),也可以设置成你想要的颜色。

由于ListActivity和PreferenActivity是以 ListView为ContentView 的,所以也会有变黑的现象,但是xml里没有cacheColorHint这个属性,虽然你手动加上不会报错,但是也没起任何作用。其实解决方法很简单,就是在onCreate()方法里加上两句代码:

ListView listView = this.getListView();
listView.setCacheColorHint(Color.TRANSPARENT);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值