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