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

  • 相关阅读:
    16 pymysql模块的使用
    15 可视化工具 Navicat的简单使用
    14 补充 MySQL的创建用户和授权
    13 多表查询
    linux常用查看文件或日志命令
    linux查找大文件命令
    linux测试环境维护之磁盘空间维护
    linux配置IP访问权限
    通过pytty工具代理连接数据库mysql(绕开数据库白名单限制)
    redis安装详解
  • 原文地址:https://www.cnblogs.com/tianzhijiexian/p/4711670.html
Copyright © 2011-2022 走看看