Android ListView fastScrollThumbDrawable 不工作

标签 android listview fastscroll

我正在做一个应用程序,我希望 ListView 上的快速滚动选项卡成为自定义拇指选项卡。阅读在线文档我认为这可以做到:

<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:cacheColorHint="@color/myWhite"
android:scrollbars="vertical"
android:scrollbarThumbVertical="@drawable/scrollthumb"
android:scrollbarSize="12dip"
android:fastScrollThumbDrawable="@drawable/scrollbar_thumb"
android:fastScrollEnabled="true"
/>

ListView 正常,自定义滚动条颜色正常工作,并且显示 fastscrollbar 选项卡,但它使用的是默认拇指图像,而不是 png 文件 scrollbar_thumb

缩略图是否需要具有特定的格式或大小? 是否可以更改为自定义图形,如果不能,至少可以更改拇指的颜色吗?

任何帮助将不胜感激

最佳答案

在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 文件夹中创建一个 value 文件夹。在res/values中创建themes.xml文件,如下:

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

最后确保 fastscroll.png 和 fastscroll_pressed.png 存在于您的可绘制文件夹中

关于Android ListView fastScrollThumbDrawable 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348291/

相关文章:

android - 重写 Android ArrayAdapter

android - ClassCastException : XAdapter cannot be cast to android. widget.BaseAdapter - FastScroller

android - 通过imageview销毁消耗内存

多次调用 Android 自定义 ArrayAdapter getView 方法 - 重置动态 TextView 值

c# - 当鼠标仍然按下时,如何防止在 Winforms Listview 中立即触发 MouseUp 事件?

java - 将 sqlite 数据从 ListView 传递到其他 Activity

android - 带大字母预览的拇指滚动

android - 如何实现Android的联系人列表滚动索引效果?

android - TextView 没有更新

android - Android 版谷歌分析 : No tracking information displayed