android listView的開啓滑塊及最小頁數解決辦法

因項目需要listView顯示滑塊,在網上找了很多資料,大多數是說怎麼改圖片和如何開啓滑塊,但就是沒有找到自己定義最小頁數,

因爲android自身是當listView數據大於屏摹顯示內容的4倍時纔會出現滑塊,根據網上更改圖片的原理通過反射機制來自定義最小頁面.

這裏是設置的1頁,只要內容大於1頁就會出現滑塊.

開啓滑塊方法

xml文件中:

android:fastScrollEnabled="true"
android:focusable="true"

java代碼中:

myListView.setFastScrollEnabled(true);

修改滑塊圖片及最小頁面數方法:

public void updateListViewMinPage(ListView listView){

try {

Field field = AbsListView.class.getDeclaredField("mFastScroller");
field .setAccessible(true);
Object object=field .get(listView);
field =field .getType().getDeclaredField("mThumbDrawable");
field .setAccessible(true);
Drawable drawable=(Drawable)field .get(object);
drawable=getResources().getDrawable(R.drawable.logo);
field.set(object,drawable);

field .setAccessible(true);
Field minPages =object.getClass().getDeclaredField("MIN_PAGES");
minPages.setAccessible(true);
minPages.set(object,1);
} catch (Exception e) {
throw new RuntimeException(e);

}

}


--------------------------可以加我微信號:googlecao 進行交流------------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章