zoukankan      html  css  js  c++  java
  • 为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

  • 相关阅读:
    HTTP 错误 404.17
    ASP.NET 日志组件Smart.LogNet.DLL 引用即可写入日志及读取日志
    委托(Func与Action)
    三元表达式
    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查
    文件流的读写操作
    6.递归加载文件目录树(递归自己加载自己)
    文件基本操作
    线程
    委托
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4711670.html
Copyright © 2011-2022 走看看