listview item背景设置为透明
2011-05-25 16:54
239 查看
转自CSDN博客:http://blog.csdn.net/wangshione/archive/2011/01/24/6161336.aspx
在android开发中,listview的默认背景颜色是黑色的,所以在UI设计中,肯定会对它进行美化处理,尤其是在游戏开发中。最近在做用户聊天框的时候遇到一个这样的问题,我把显示用户聊天记录的listview背景设置成白色的,看起来没有什么问题,但是当我滚动滚动条的时候,有内容的listitem全部变成黑色的了,效果很不好。
google了一下,原因是:默认的ListView的背景是透明的,而ListView的背景是固定不变的,所以当我滚动滚动条的时候,会实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做android:cacheColorHint的属性,在黑色主题下默认的颜色值是#191919,所以就出现了刚才那样的效果。
解决的办法:如果你只要换背景颜色,就只需将android:cacheColorHint属性设置成你想要的颜色就行了。如果需更换背景图片,则需使用android:background="@drawable/bg"属性,并把android:cacheColorHint设置成(#00000000)透明的就ok了。
或者:
直接上代码了,目标:设置listview背景
Java代码
lv.setBackgroundResource(R.drawable.listback);
这样设置可以,但是拖动列表就会发现列表又变成背景黑色的了说明这只设置了列表的背景,但是列表自身的颜色没有改变
这就要设置列表自身为透明:
Java代码
lv.setCacheColorHint(0);
参数为int型,如果在xml中设置这个属性则可以使用一般的16进制颜色表示方法,即#00ff00ff之类
这样就实现了列表的透明处理
api很丰富,要多多实践啊
Java代码
lv.setAlwaysDrawnWithCacheEnabled(true);
这个用于设置拖动之后是否再次显示背景,也就是说设为true后,拖动listview,就不会显示背景图片了(默认显示黑色),除非离开activity(tabactivity之间切换不算)
<color name = "transparent_background" > #50000000 </color>
#50000000前两位是透明的效果参数从00--ff(透明--不透明),后6位是RGB颜色的设置
在android开发中,listview的默认背景颜色是黑色的,所以在UI设计中,肯定会对它进行美化处理,尤其是在游戏开发中。最近在做用户聊天框的时候遇到一个这样的问题,我把显示用户聊天记录的listview背景设置成白色的,看起来没有什么问题,但是当我滚动滚动条的时候,有内容的listitem全部变成黑色的了,效果很不好。
google了一下,原因是:默认的ListView的背景是透明的,而ListView的背景是固定不变的,所以当我滚动滚动条的时候,会实时地去将当前每个Item的显示内容跟背景进行混合运算,所以android系统为了优化这个过程用,就使用了一个叫做android:cacheColorHint的属性,在黑色主题下默认的颜色值是#191919,所以就出现了刚才那样的效果。
解决的办法:如果你只要换背景颜色,就只需将android:cacheColorHint属性设置成你想要的颜色就行了。如果需更换背景图片,则需使用android:background="@drawable/bg"属性,并把android:cacheColorHint设置成(#00000000)透明的就ok了。
或者:
直接上代码了,目标:设置listview背景
Java代码
lv.setBackgroundResource(R.drawable.listback);
这样设置可以,但是拖动列表就会发现列表又变成背景黑色的了说明这只设置了列表的背景,但是列表自身的颜色没有改变
这就要设置列表自身为透明:
Java代码
lv.setCacheColorHint(0);
参数为int型,如果在xml中设置这个属性则可以使用一般的16进制颜色表示方法,即#00ff00ff之类
这样就实现了列表的透明处理
api很丰富,要多多实践啊
Java代码
lv.setAlwaysDrawnWithCacheEnabled(true);
这个用于设置拖动之后是否再次显示背景,也就是说设为true后,拖动listview,就不会显示背景图片了(默认显示黑色),除非离开activity(tabactivity之间切换不算)
<color name = "transparent_background" > #50000000 </color>
#50000000前两位是透明的效果参数从00--ff(透明--不透明),后6位是RGB颜色的设置
相关文章推荐
- listview item背景设置为透明
- WinJS:Listview item 设置背景透明
- Android中listview的item点击时候去掉背景颜色或者设置成透明的
- 设置ListView的item选中背景(选中之后不变色)
- android中设置ListView的选中的Item的背景颜色
- android中设置ListView的选中的Item的背景颜色
- android中设置ListView的选中的Item的背景颜色(松开后的背景颜色)
- android中设置ListView的选中的Item的背景颜色
- android中设置ListView的选中的Item的背景颜色
- Android ListView背景成透明设置方法
- ListView获取item的焦点以及设置item点击的背景效果
- ListView item 的view设置背景后OnItemClick事件不响应 解决办法
- Android:Listview背景设置为透明
- android中设置ListView的选中的Item的背景颜色
- Android中设置Listview的item之间透明及item点击无响应问题
- 点击listview,改变item的背景颜色设置
- android中设置ListView的选中的Item的背景颜色
- listview当选中某一个item时设置背景 4000 色其他的不变
- Android:ListView设置item点击背景效果
- android中设置ListView的选中的Item的背景颜色(附源码)