android中如何美化ListView的背景

 在android界面中,經常會用到ListView控件,在UI設計中,很多人都希望能夠美化一下這個控件的背景。改變背景其實很簡單,在佈局文件中,ListView控件加入代碼android:background="@drawable/bg",bg是背景圖片的名稱。不過這樣做後,背景是改變瞭,但當拖動時,或者點擊list的空白位置會發現ListItem都變成黑色的瞭,破壞瞭整體的效果。如下圖所示:
 

 
這是為什麼呢?因為ListView的默認ListItem的背景是透明的,而ListView的背景是固定不變的,所以滾動的時候背景要和當前每個Item的顯示內容進行混合運算,android為瞭優化這個過程,就用瞭android:cacheColorHint的屬性,在黑色主題下默認顏色值為#191919,所以就出現瞭剛才的畫面。有一半是黑色的。
如果隻是換背景顏色的話,那麼直接指定android:cacheColorHint為你所想要的顏色值就好瞭。
如果你是想要圖片當背景的話,隻要把android:cacheColorHint這個值設置定為透明,就是設置值為#00000000就可以瞭。這樣美化後會犧牲一些效率。
美化後的效果圖:

摘自 北京大學-Google Android實驗室

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *