android – 如何在使用fastScrollEnabled时显示自定义拇指

我有一个非字母顺序的国家列表视图,并开始使用fastscroll.我想在使用fastscroll滚动时显示country-flag,但似乎API将FastScroll类作为私有,因此我无法覆盖它.

还有其他人实现了自定义快速滚动视图吗?

参考文献:
http://developer.android.com/reference/android/widget/AbsListView.html#attr_android:fastScrollEnabled

解决方法

在ListView XML定义中,添加
android:fastScrollEnabled="true"

或者在代码

listView.setFastScrollEnabled(true);

在res / drawable文件夹中创建文件fastscroll_thumb.xml,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/fastscroll_pressed" />
    <item android:drawable="@drawable/fastscroll" />
</selector>

在AndroidManifest.xml中,为您的应用程序设置自定义主题

<application
    android:theme="@style/ApplicationTheme"
    ...>

在res文件夹中创建一个values文件夹.在res / values中创建themes.xml文件,如下所示:

<resources>
    <style name="ApplicationTheme">
        <item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb</item>
    </style>
</resources>

最后确保您的drawable文件夹中存在fastscroll.png和fastscroll_pressed.png

(可选的)
如果您愿意,还可以在调试时将快速滚动设置为始终可见

listView.setFastScrollAlwaysVisible(true);

或者用XML

android:fastScrollAlwaysVisible="true"

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...