У меня есть список событий, которые отделяются по месяцам и годам (июнь 2010, июль 2010 и т.д.).
Я хочу включить быструю прокрутку, потому что список действительно длинный.
Как включить быструю прокрутку на ListViews
в Android?
У меня есть список событий, которые отделяются по месяцам и годам (июнь 2010, июль 2010 и т.д.).
Я хочу включить быструю прокрутку, потому что список действительно длинный.
Как включить быструю прокрутку на ListViews
в Android?
В методе onCreate ListActivity используйте setFastScrollEnabled:
getListView().setFastScrollEnabled(true);
Используйте android:fastScrollEnabled в своем xml:
<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">
это listview
<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/
В принципе, вашему адаптеру listview придется реализовать sectionindexer. Этот индексатор раздела может быть очень разделен, если вы не хотите усложнять ситуацию и обеспечить простой быстрый просмотр, хотя и всю длину списка.
Прямой источник для fastscroller находится здесь:
Поместите это представление вокруг своего списка (вставьте свой список в это представление в свой файл макета xml) и установите в Android-браузере android: fastScrollEnabled = "true".
Вы также можете проверить предыдущий ответ: Проблема с быстрым прокруткой с помощью ListAdapter и SectionIndexer
Я хотел сделать что-то похожее на то, чего вы хотели достичь. Я столкнулся с этот пост. Это отличный способ быстро выполнить прокрутку без использования стандартного Android AlphabetIndexer, который требует курсора, который у вас может не всегда быть.
В принципе, вам нужно будет реализовать интерфейс SectionIndexer в вашем адаптере. В вашем случае вместо текущей буквы вы будете показывать текущий период при прокрутке.
Если вы хотите показать алфавитную индексацию, вы можете проверить это:
https://github.com/andraskindler/quickscroll
Это проект библиотеки, который я создал, потому что мне пришлось использовать этот шаблон прокрутки в нескольких последних приложениях, поэтому я думал, что другие могут быть заинтересованы в нем. Он довольно прост в использовании, см. Readme в ссылке github выше.
Определите fastScrollEnabled в вашем xml или установите его во время выполнения, когда это необходимо.
1) <ListView
...
android:fastScrollEnabled="true" />
2) mListView.setFastScrollEnabled(true);
В файле Layout:
Android: fastScrollEnabled = "истина"
Вы можете программно Включить Быстрая полоса прокрутки:
getListView() setFastScrollEnabled (истина);.