Как быстро использовать прокрутку в 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"> 

Это список

  <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 находится здесь:

https://github.com/nolanlawson/CustomFastScrollViewDemo/blob/master/src/com/nolanlawson/customfastscrollviewdemo/CustomFastScrollView.java

Разместите это представление вокруг своего списка (вставьте свой список в это представление в свой файл макета 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:

андроид: fastScrollEnabled = "истина"

Вы можете программировать Enable Fast scroll bar:

getListView () setFastScrollEnabled (истина).