我正在做一个应用程序,我希望 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/