Android滚动条修改的练习记录

来源:互联网 发布:淘宝时间校准器 编辑:程序博客网 时间:2024/05/16 10:44

怎么修改listview的滚动条呢?

可以从freamwork层去修改替换,这样修改是最直观清楚的


在网上看到一达人的ap层方法 

http://m.blog.csdn.net/blog/weidi1989/8470421


使用反射的方法去进行图片替换实现

        //        try {        Field f = AbsListView.class.getDeclaredField("mFastScroller");        f.setAccessible(true);        Object o=f.get(statusListView);        f=f.getType().getDeclaredField("mThumbDrawable");        f.setAccessible(true);        Drawable drawable=(Drawable) f.get(o);        drawable=getResources().getDrawable(R.drawable.icon);        f.set(o,drawable);        Toast.makeText(this, f.getType().getName(), 1000).show();        } catch (Exception e) {        throw new RuntimeException(e);        }        //

设置属性

    <ListView     android:id="@+id/android:list"     android:fastScrollEnabled="true"    android:focusable="true"    android:layout_height="wrap_content"     android:layout_width="wrap_content">    </ListView>


在5.1的系统上,发现执行会出错,类里面的字段变了,查看AbsListView文件,把mFastScroller修改为mFastScroll后,运行没有错误了,但是没有生效,滚动条还是系统默认的滚动条。


这个时候,怀疑是系统变化导致的,

在4.0的系统上测试发现,可以实现滚动条的图片替换




0 0
原创粉丝点击