Подтвердить что ты не робот

Как использовать быстрый прокрутка в Android?

У меня есть список событий, которые отделяются по месяцам и годам (июнь 2010, июль 2010 и т.д.).

Я хочу включить быструю прокрутку, потому что список действительно длинный.

Как включить быструю прокрутку на ListViews в Android?

4b9b3361

Ответ 1

В методе onCreate ListActivity используйте setFastScrollEnabled:

getListView().setFastScrollEnabled(true);

Ответ 2

Используйте android:fastScrollEnabled в своем xml:

<ListView
    android:id="@+id/listview_files"
    ...
    android:fastScrollEnabled="true" >
</ListView>

Ответ 3

Попробуйте выполнить

 <?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"
         />

Ответ 4

Если вы хотите настроить свой быстрый скроллер, например, чтобы выбрать собственное изображение скроллера, я рекомендую использовать этот источник:

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

Ответ 5

Я хотел сделать что-то похожее на то, чего вы хотели достичь. Я столкнулся с этот пост. Это отличный способ быстро выполнить прокрутку без использования стандартного Android AlphabetIndexer, который требует курсора, который у вас может не всегда быть.

В принципе, вам нужно будет реализовать интерфейс SectionIndexer в вашем адаптере. В вашем случае вместо текущей буквы вы будете показывать текущий период при прокрутке.

Ответ 6

Если вы хотите показать алфавитную индексацию, вы можете проверить это:

https://github.com/andraskindler/quickscroll

Это проект библиотеки, который я создал, потому что мне пришлось использовать этот шаблон прокрутки в нескольких последних приложениях, поэтому я думал, что другие могут быть заинтересованы в нем. Он довольно прост в использовании, см. Readme в ссылке github выше.

Ответ 7

Определите fastScrollEnabled в вашем xml или установите его во время выполнения, когда это необходимо.

1)  <ListView
        ...
        android:fastScrollEnabled="true" />

2) mListView.setFastScrollEnabled(true);

Ответ 8

В файле Layout:

Android: fastScrollEnabled = "истина"

Вы можете программно Включить Быстрая полоса прокрутки:

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