• 为ListView组件加上快速滑块以及修改快速滑块图像


    本文转载自:http://blog.csdn.net/ouyang_peng/article/details/46919723

    作者:欧阳鹏  欢迎转载,与人分享是进步的源泉!

    转载请保留原文地址:http://blog.csdn.net/ouyang_peng

    1.允许快速滑动

    在xml中将android:fastScrollEnabled="true" ,如下代码所示:

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

    如果你用的是java代码,那么就用AbsListView.setFastScrollEnabled(boolean enabled)方法。

    2.修改滑块

    ListView组件并没有提供修改快速滑块图像的API,因此不能直接修改快速滑块图像。但是可以通过反射技术修改快速滑块图像,代码如下:

    //FastScroller.mThumbDrawable变量保存了快速滑块图像  
    //首先要通过AbsListView.mFastScroller获取FastScroller对象  
    Field field = AbsListView.class.getDeclaredField("mFastScroller");   
    field.setAccessible(true);   
    Object object=field.get(listView);   
    //获取FastScroller.mThumbDrawable变量的对象  
    field=field.getType().getDeclaredField("mThumbDrawable");   
    field.setAccessible(true);   
    //获取FastScroller.mThumbDrawable变量的值  
    Drawable drawable=(Drawable) field.get(object);   
    //装载新的快速滑块对象  
    drawable=getResources().getDrawable(R.drawable.img);   
    //重新设置快速滑块对象  
    field.set(object,drawable);  
                  //设置最小页数  
    field .setAccessible(true);  
    Field minPages =object.getClass().getDeclaredField("MIN_PAGES");  
    minPages.setAccessible(true);  
    minPages.set(object,1);  

    参考自:http://blog.csdn.net/ouyang_peng/article/details/46919723

  • 相关阅读:
    JQuery Ajax调用asp.net后台方法
    使用NuGet发布自己的类库包(Library Package)
    Database Schema Reader
    DELL服务器引导光盘图片及下载链接
    android 点击屏幕关闭 软键盘
    xUtils
    fastjson是阿里巴巴的开源JSON解析库
    安卓学习资料
    DELL服务器引导光盘下载
    sqlserver下载
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4711670.html
Copyright © 2020-2023  润新知