Проект RecyclerView-FastScroll
Демонстрация эффекта:
allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:RecyclerView-FastScroll:1.0.0')
......
}
Проект можно запустить напрямую на SDK6 и DevEco Studio 2.2 Beta1. Если запуск не удаётся, удалите файлы build.gradle, .idea, build и gradle из проекта и создайте новый проект с соответствующей версией. Затем скопируйте файлы из нового проекта в корневой каталог.
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
ohos:id="$+id:listview"
ohos:height="match_parent"
ohos:width="match_parent"
app:fastScrollPopupBgColor="#FF4081"
app:fastScrollPopupTextColor="#ffffff"
app:fastScrollThumbColor="#FF4081">
</com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView>
Для отображения FastScrollPopup адаптер должен реализовать FastScrollRecyclerView.SectionedAdapter и переопределить getSectionName().
Чтобы узнать, когда начинается или останавливается быстрый скролл, установите OnFastScrollStateChangedListener на FastScrollRecyclerView.
Различная высота
По умолчанию все элементы адаптера FastScrollRecyclerView имеют одинаковую высоту. Если ваш адаптер имеет разную высоту элементов, вы должны реализовать интерфейс MeasurableAdapter и переопределить метод getViewTypeHeight(), чтобы обеспечить корректное отображение скроллинга. Метод getViewTypeHeight() возвращает высоту одного элемента заданного типа в пикселях. Высота каждого элемента должна быть одинаковой для всех экземпляров этого типа.
Настройка
Вы можете использовать свойства fastScrollAutoHide и fastScrollAutoHideDelay в XML для включения/отключения автоматического скрытия:
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
app:fastScrollAutoHide="true"
app:fastScrollAutoHideDelay="1500"
...
Также можно настроить через XML-стиль:
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
ohos:id="$+id:listview"
ohos:background_element="#ffffff"
ohos:layout_alignment="vertical_center"
app:fastScrollAutoHide="true"
app:fastScrollAutoHideDelay="1500"
app:fastScrollEnableThumbInactiveColor="true"
app:fastScrollPopupBackgroundSize="62vp"
app:fastScrollPopupBgColor="#FF4081"
app:fastScrollPopupPosition="adjacent"
app:fastScrollPopupTextColor="#ffffff"
app:fastScrollPopupTextSize="32fp"
app:fastScrollPopupTextVerticalAlignmentMode="font_metrics"
app:fastScrollThumbColor="#FF4081"
app:fastScrollThumbEnabled="true">
</com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView>
CodeCheck: код протестирован без исключений. CloudTest: код протестирован без исключений. Вирусная безопасность: проверка пройдена. Текущая версия demo: функциональность аналогична исходному компоненту.
Версия 1.0.0
Apache 2.0
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )