我有一个非字母顺序的国家列表视图,并开始使用fastscroll.我想在使用fastscroll滚动时显示country-flag,但似乎API将FastScroll类作为私有,因此我无法覆盖它.
有没有其他人实现自定义快速滚动视图?
参考文献:http://developer.android.com/reference/android/widget/AbsListView.html#attr_android : fastScrollEnabled
Jef*_*ffG 11
在ListView XML定义中,添加
android:fastScrollEnabled="true"
Run Code Online (Sandbox Code Playgroud)
或者在代码中
listView.setFastScrollEnabled(true);
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest.xml中,为您的应用程序设置自定义主题:
<application
android:theme="@style/ApplicationTheme"
...>
Run Code Online (Sandbox Code Playgroud)
在res文件夹中创建一个values文件夹.在res/values中创建themes.xml文件,如下所示:
<resources>
<style name="ApplicationTheme">
<item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
最后确保您的drawable文件夹中存在fastscroll.png和fastscroll_pressed.png
(可选)如果您愿意,还可以在调试时设置快速滚动始终可见
listView.setFastScrollAlwaysVisible(true);
Run Code Online (Sandbox Code Playgroud)
或者用XML
android:fastScrollAlwaysVisible="true"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3732 次 |
| 最近记录: |