我有一个按月和年(2010 年 6 月、2010 年 7 月等)分隔的事件列表
我想启用快速滚动,因为列表真的很长。
如何ListViews
在 Android 中启用快速滚动?
我有一个按月和年(2010 年 6 月、2010 年 7 月等)分隔的事件列表
我想启用快速滚动,因为列表真的很长。
如何ListViews
在 Android 中启用快速滚动?
在 ListActivity 的 onCreate 方法中使用setFastScrollEnabled:
getListView().setFastScrollEnabled(true);
在您的 xml 中使用android:fastScrollEnabled :
<ListView
android:id="@+id/listview_files"
...
android:fastScrollEnabled="true" >
</ListView>
尝试以下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="listviewfastscrollstyle" parent="android:Theme">
<item name="android:fastScrollTrackDrawable">@drawable/listselector</item>
<item name="android:fastScrollThumbDrawable">@drawable/listselector</item>
</style>
</resources>
在您的清单中设置如下样式:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">
这是列表视图
<ExpandableListView
android:id="@android:id/list1"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:fastScrollAlwaysVisible="true"
android:fastScrollEnabled="true"
/>
如果您希望能够自定义您的快速滚动条,例如选择您自己的滚动条图像来显示,我推荐使用这个源:
https://github.com/nolanlawson/CustomFastScrollViewDemo/
基本上,您的列表视图适配器必须实现一个sectionindexer。如果您不想使事情复杂化并在整个列表长度上提供简单的快速滚动,则此部分索引器可以非常精简。
fastscroller 的直接来源在这里:
将此视图放在您的列表视图周围(将您的列表视图嵌套在您的 xml 布局文件中的此视图中)并在您的列表视图上设置 android:fastScrollEnabled="true"。
您可能还想查看以前的答案:ListAdapter 和 SectionIndexer 的快速滚动显示问题
我想做一些类似于你想要实现的事情。我碰到了这个帖子。这是在不使用标准 Android AlphabetIndexer 的情况下实现快速滚动的好方法,它需要一个您可能并不总是拥有的光标。
基本上,您必须在适配器中实现 SectionIndexer 接口。在您的情况下,您将在滚动时显示当前期间,而不是当前字母。
在布局文件中:
安卓:fastScrollEnabled="真"
您可以以编程方式启用快速滚动条:
getListView().setFastScrollEnabled(true);
在您的 xml 中定义 fastScrollEnabled 或在需要时在运行时设置它。
1) <ListView
...
android:fastScrollEnabled="true" />
2) mListView.setFastScrollEnabled(true);