ListView之快速滑块
16lz
2021-01-23
//android:fastScrollEnabled属性值设为true,使用java代码需要电泳 listView.setFastScrollEnabled(true); //ListView组件并没有提供修改快速图像的API,因此不能直接修改快速滑块图像。但可以通过反射技术修改快速滑块图像 try { //FastScroller.mThumbDrawable变量保存了快速滑块图像,首先要通过AbsListView.mFastScroller变量 //获取FastScroller对象 Field field = AbsListView.class.getDeclaredField("mFastScroller"); field.setAccessible(true); Object obj = field.get(listView); //获取FastScroller.mThumbDrawable变量的Field对象 field = field.getType().getDeclaredField("mThumbDrawable"); field.setAccessible(true); //获取FastScroller.mThumbDrawable变量的值 Drawable drawable = (Drawable)field.get(obj); //装载新的快速滑块图像 drawable = getResources().getDrawable(R.drawable.common_listview_headview_red_arrow); //重新设置快速滑块的图像 field.set(obj,drawable); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); }
更多相关文章
- Android studio安装之前配置环境变量
- Android SDK的安装与环境变量配置
- android 之json对象解析并展示(含json解析源码)
- Android Shader类简介之渲染图像示例
- Android中使用putExtra()传递对象实例
- android 画图-----直接引用图像