XML屬性
屬性名稱 |
描述 |
android:cacheColorHint |
指示該列表總是在固定的單色、不透明的背景下繪製。這允許列表優化其繪製過程 |
android:drawSelectorOnTop |
如果設爲真,選擇器將繪製在選中條目的上層。否則繪製在下層。默認爲假 |
android:fastScrollEnabled |
允許使用快速滾動滑塊,可以通過拖動該滑塊在列表中快速滾動 |
android:listSelector |
用於在列表中指示當前選中條目的可繪製對象 |
android:scrollingCache |
當爲真時,列表滾動使用繪圖緩存。該選項使渲染更快,但佔用更多的內存。 默認值爲真 |
android:smoothScrollbar |
爲真時,列表會使用更精確的基於條目在屏幕上的可見像素高度的計算方法。 默認該屬性爲真,如果你的適配器需要繪製可變高的條目,他應該設爲假。 當該屬性爲真時,你在適配器在顯示變高條目時,滾動條的把手會在滾動的 過程中改變大小。當設爲假時,列表只使用適配器中的條目數和屏幕上的 可見條目來決定滾動條的屬性 |
android:stackFromBottom |
用於 ListView 和 GridView,指示他們的內容棧從底部開始 |
android:textFilterEnabled |
設爲真時,列表會過濾根據用戶的要求,過濾結果集。列表的適配器必須實現了 Filterable 接口,才能使其可用 |
android:transcriptMode |
設置列表的跳轉模式。在跳轉模式下,當加入新條目時,列表會滾動到底部, 使新條目可見 |
1.android:background="@drawable/bg", listView設置背景色,拖動或者點擊list空白位置的時候發現ListItem都變成黑色。 因爲默認的ListItem背景是透明的,而ListView的背景是固定不變的,所以在滾動條滾動的過程中如果實時地去將當前每個Item的顯示內容跟背景進行混合運算,所以android系統爲了優化這個過程用,就使用了一個叫做android:cacheColorHint的屬性,在黑色主題下默認的顏色值是#191919,所以就出現了剛纔的畫面,有一半是黑色的。
如果你只是換背景的顏色的話,可以直接指定android:cacheColorHint爲你所要的顏色;如果你是用圖片做背景的話,那也只要將android:cacheColorHint指定爲透明(#00000000)就可以了,當然爲了美化是要犧牲一些效率的。
2. android:fadingEdge="none" 去掉上邊和下邊黑色的陰影
3. android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一個圖片資源lsitview的每一項之間需要設置一個圖片做爲間隔
設置Item之間無間隙
android:divider="#00000000" 或者在javaCode中如下定義:listView.setDividerHeight(0);
4. android:listSelector="@color/pink" listView item 選中時的顏色。默認爲橙黃底色。
5. android:divider="@drawable/list_driver" 設置分割線的圖片資源, 不想顯示分割線——》android:divider="@android:color/transparent"
6. android:scrollbars="none" setVerticalScrollBarEnabled(true); 隱藏listView的滾動條
7. android:fadeScrollbars="true" 設置爲true就可以實現滾動條的自動隱藏和顯示
8. android:transcriptMode="alwaysScroll" 用ListView或者其它顯示大量Items的控件實時跟蹤或者查看信息,希望最新的條目可以自動滾動到可視範圍內。通過設置的控件transcriptMode屬性可以將Android平臺的控件(支持ScrollBar)自動滑動到最底部。
android:fastScrollEnabled="false"
android:fastScrollEnabled = "true" 加快滑動速度
android:drawSelectorOnTop="false"
android:scrollingCache="false"
android:drawSelectorOnTop="true" 點擊某一條記錄,顏色會顯示在最上面,記錄上的文字被遮住,所以點擊文字不放,文字就看不到
android:drawSelectorOnTop="false" 點擊某條記錄不放,顏色會在記錄的後面,成爲背景色,但是記錄內容的文字是可見的
When set to true, the selector will be drawn over the selected item. Otherwise the selector is drawn behind the selected item. The default value is false.
比較特別的屬性:
stackFromBottom屬性,這隻該屬性之後你做好的列表就會顯示你列表的最下面,值爲true和false
android:stackFromBottom="true"
第二是 transciptMode屬性,需要用ListView或者其它顯示大量Items的控件實時跟蹤或者查看信息,並且希望最新的條目可以自動滾動到可視範圍內。通過設置的控件transcriptMode屬性可以將Android平臺的控件(支持ScrollBar)自動滑動到最底部。
android:transcriptMode="alwaysScroll"
第三cacheColorHint屬性,很多人希望能夠改變一下它的背景,使他能夠符合整體的UI設計,改變背景背很簡單隻需要準備一張圖片然後指定屬性 android:background="@drawable/bg",不過不要高興地太早,當你這麼做以後,發現背景是變了,但是當你拖動,或者點擊list空白位置的時候發現ListItem都變成黑色的了,破壞了整體效果。
如果你只是換背景的顏色的話,可以直接指定android:cacheColorHint爲你所要的顏色,如果你是用圖片做背景的話,那也只要將android:cacheColorHint指定爲透明(#00000000)就可以了
第四divider屬性,該屬性作用是每一項之間需要設置一個圖片做爲間隔,或是去掉item之間的分割線
android:divider="@drawable/list_driver" 其中 @drawable/list_driver 是一個圖片資源,如果不想顯示分割線則只要設置爲android:divider="@drawable/@null" 就可以了
第五fadingEdge屬性,上邊和下邊有黑色的陰影
android:fadingEdge="none" 設置後沒有陰影了~
第五scrollbars屬性,作用是隱藏listView的滾動條,
android:scrollbars="none"與setVerticalScrollBarEnabled(true);的效果是一樣的,不活動的時候隱藏,活動的時候也隱藏
第六fadeScrollbars屬性,android:fadeScrollbars="true" 配置ListView佈局的時候,設置這個屬性爲true就可以實現滾動條的自動隱藏和顯示。