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 进行交流------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷子熟了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值