listview屬性總結

jia635發表於2014-07-11

1  stackFromBottom   你做好的列表就會顯示你列表的最下面   值為true false


2  android:transcriptMode="alwaysScroll"    通過設定的控制元件transcriptMode屬性可以將Android平臺的控制元件(支援ScrollBar)自動滑動到最底部。


3 cacheColorHint   如果你只是換背景的顏色的話,可以直接指定android:cacheColorHint為你所要的顏色,如果你是用圖片做背景的話,那也只要將android:cacheColorHint指定為透明(#00000000)就可以了

4 divider屬性,該屬性作用是每一項之間需要設定一個圖片做為間隔,或是去掉item之間的分割線

5 fadingEdge   android:fadingEdge="none" 設定後沒有陰影了~


6 scrollbars屬性,作用是隱藏listView的滾動條   android:scrollbars="none"


7 fadeScrollbars屬性,android:fadeScrollbars="true"  配置ListView佈局的時候,設定這個屬性為true就可以實現滾動條的自動隱藏和顯示。

8 fastScrollEnabled屬性 , 可以設定快速拖動的條目


9 drawSelectorOnTop  android:drawSelectorOnTop="true" 點選某一條記錄,顏色會顯示在最上面,記錄上的文字被遮住,所以點選文字不放,文字就看不到
android:drawSelectorOnTop="false"點選某條記錄不放,顏色會在記錄的後面,成為背景色,但是記錄內容的文字是可見的

自定義listview中滾動條樣子:

ListView中新增屬性:
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"

android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"

scrollbar_vertical_trackcrollbar_vertical_thumb

自定義的xml檔案,放在Drawable中,track是指長條,thumb是指短條,然後再xml中定義短條和長條的樣式

不讓滾動條消失,一直出現:

android:fadeScrollbars="false"

不讓滾動條出現:

android:scrollbars="none"


這裡需要我們自己定義一個adapter,在getview方法裡新增我們的判讀邏輯(讓listview指定的item獲取焦點),讓返回的view去掉用view.requestFous,並對listview.setSelection(pos)pos為指定的item,同時要注意滑鼠點選操作出現listview會使焦點丟失(不會出現在item上)

 PopWindow中listview的item獲取不到點選事件的解決方案

 1. 想讓listview的item獲取點選事件,
        千萬不要用listview.setOnItemClickListener()
因為listview是獲取不到焦點的,怎麼設定都沒有用處,我已經用過n多次了
要在adapter中的getView方法中對當前view設定點選事件,並使用一個回撥介面暴露給建立該listview的
activity,這樣就可以進行一些操作了,注意暴漏的介面要是public的,AdapterItemOnClickCallback

2, 發評論的朋友說的:

  popupWindow.setFocusable(true);
popupWindow.update();


去掉滑動到頭時兩邊的陰影

       android:overScrollMode="never"


去掉兩頭泛色的過度地帶:

  android:fadingEdge="none"


有個EditText, 當軟鍵盤開啟的時候, listview下面的東西被蓋住了, 

     設定以下屬性: android:transcriptMode="alwaysScroll"

它會使listview的最新條目滾動到可視範圍, 設定normal有時候會不管用,

但是它的很大的弊端是: 下拉獲取更多的訊息完畢時,或者只要你呼叫adapter的notify方法, 它總是預設選中listview最後一項, listview的setSelection是沒有用的;

解決方法是: 傳送一個在下拉開始的時候, 禁用掉, 等下拉完畢後,傳送一個message, 在handler的handleMesage中啟用它,,

為什麼不直接在下拉完畢adapter.notify完畢後啟用它, 試試就知道了. 反正我的是行不通的,所以才用handler


  android:listSelector="@color/pink" listView item 選中時的顏色。預設為橙黃底色。
  android:divider="@drawable/list_driver" 設定分割線的圖片資源,如果則只要設定為
    android:divider="@drawable/@null" 不想顯示分割線

相關文章