ListView组件并没有提供修改快速滑块图像的API,因此不能直接修改快速滑块图像,所以通过反射技术修改快速滑块的图像
android:fastScrollEnabled="true"
ListView lv=(ListView)findViewById(R.id.lv);
// 获取FastScroller对象 try { Field field = AbsListView.class.getDeclaredField("mFastScroller"); field.setAccessible(true); Object obj = field.get(lv); // 获取FastScroller.mTumbDrawable变量的Field对象 field = field.getType().getDeclaredField("mThumbDrawable"); field.setAccessible(true); // 获取FastScroller.mThumbDrawable变量的值 Drawable drawable = (Drawable) field.get(obj); // 装载新的快速滑块图像 drawable = getResources().getDrawable(R.drawable.ic_launcher); // 重新设置快速滑块的图像 field.set(obj, drawable); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchFieldException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); }