自定义ListView背景(解决了拖动变黑的效果)
生活随笔
收集整理的這篇文章主要介紹了
自定义ListView背景(解决了拖动变黑的效果)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
美化你的android程序:自定義ListView背景 文章分類:移動(dòng)開發(fā)
?
在Android中,ListView是最常用的一個(gè)控件,在做UI設(shè)計(jì)的時(shí)候,很多人希望能夠改變一下它的背景,使他能夠符合整體的UI設(shè)計(jì),改變背景背很簡(jiǎn)單只需要準(zhǔn)備一張圖片然后指定屬性 android:background="@drawable/bg",不過(guò)不要高興地太早,當(dāng)你這么做以后,發(fā)現(xiàn)背景是變了,但是當(dāng)你拖動(dòng),或者點(diǎn)擊list空白位置的時(shí)候發(fā)現(xiàn)ListItem都變成黑色的了,破壞了整體效果,如下圖所示
?
這是為什么呢?
這個(gè)要從Listview的效果說(shuō)起,默認(rèn)的ListItem背景是透明的,而ListView的背景是固定不變的,所以在滾動(dòng)條滾動(dòng)的過(guò)程中如果實(shí)時(shí)地去將當(dāng)前每個(gè)Item的顯示內(nèi)容跟背景進(jìn)行混合運(yùn)算,所以android系統(tǒng)為了優(yōu)化這個(gè)過(guò)程用,就使用了一個(gè)叫做android:cacheColorHint的屬性,在黑色主題下默認(rèn)的顏色值是#191919,所以就出現(xiàn)了剛才的畫面,有一半是黑色的 那怎么辦呢?
如果你只是換背景的顏色的話,可以直接指定android:cacheColorHint為你所要的顏色,如果你是用圖片做背景的話,那也只要將android:cacheColorHint指定為透明(#00000000)就可以了,當(dāng)然為了美化是要犧牲一些效率的。最后美化的效果如圖:
?
在Android中,ListView是最常用的一個(gè)控件,在做UI設(shè)計(jì)的時(shí)候,很多人希望能夠改變一下它的背景,使他能夠符合整體的UI設(shè)計(jì),改變背景背很簡(jiǎn)單只需要準(zhǔn)備一張圖片然后指定屬性 android:background="@drawable/bg",不過(guò)不要高興地太早,當(dāng)你這么做以后,發(fā)現(xiàn)背景是變了,但是當(dāng)你拖動(dòng),或者點(diǎn)擊list空白位置的時(shí)候發(fā)現(xiàn)ListItem都變成黑色的了,破壞了整體效果,如下圖所示
?
這是為什么呢?
這個(gè)要從Listview的效果說(shuō)起,默認(rèn)的ListItem背景是透明的,而ListView的背景是固定不變的,所以在滾動(dòng)條滾動(dòng)的過(guò)程中如果實(shí)時(shí)地去將當(dāng)前每個(gè)Item的顯示內(nèi)容跟背景進(jìn)行混合運(yùn)算,所以android系統(tǒng)為了優(yōu)化這個(gè)過(guò)程用,就使用了一個(gè)叫做android:cacheColorHint的屬性,在黑色主題下默認(rèn)的顏色值是#191919,所以就出現(xiàn)了剛才的畫面,有一半是黑色的 那怎么辦呢?
如果你只是換背景的顏色的話,可以直接指定android:cacheColorHint為你所要的顏色,如果你是用圖片做背景的話,那也只要將android:cacheColorHint指定為透明(#00000000)就可以了,當(dāng)然為了美化是要犧牲一些效率的。最后美化的效果如圖:
轉(zhuǎn)載于:https://blog.51cto.com/zhaohaiyang/531779
總結(jié)
以上是生活随笔為你收集整理的自定义ListView背景(解决了拖动变黑的效果)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 保护数据安全的三种武器
- 下一篇: 【CSON原创】 图片滑动展开效果发布