Добавьте зависимости в файл build.gradle на уровне модуля, добавив ссылку на jar-пакет в каталоге libs в теге dependencies.
// Добавление репозитория Maven
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
// Добавление библиотеки зависимостей
dependencies {
implementation 'com.gitee.chinasoft_ohos:fastscroll:1.0.0'
}
Проект можно запустить непосредственно под sdk6 и DevEco Studio 2.2 Beta1. Если проект не запускается, удалите файлы .gradle, .idea, build, gradle и build.gradle и создайте новый проект с вашей версией. Скопируйте соответствующие файлы нового проекта в корневой каталог.
В файле layout:
<?xml version="1.0" encoding="utf-8"?>
<DependentLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
xmlns:app="http://schemas.huawei.com/apk/res-auto"
ohos:height="match_parent"
ohos:width="match_parent">
<ListContainer
ohos:id="$+id:list_con"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical">
</ListContainer>
<com.futuremind.recyclerviewfastscroll.FastScroller
ohos:id="$+id:fast"
ohos:height="match_parent"
ohos:width="match_content"
ohos:align_parent_right="true"
ohos:orientation="vertical">
</com.futuremind.recyclerviewfastscroll.FastScroller>
</DependentLayout>
В Ability/AbilitySlice:
listContainer = (ListContainer) mainComponent.findComponentById(ResourceTable.Id_list_con);
fastScroller = (FastScroller) mainComponent.findComponentById(ResourceTable.Id_fast);
listContainer.setItemProvider(BaseItemProvider);
// Необходимо вызвать после listContainer.setItemProvider()
fastScroller.setListContainer(listContainer);
В ListContainer.BaseItemProvider
:
public class BaseItemProvider ... implements SectionTitleProvider{
...
@Override
public String getSectionTitle(int position) {
// Эта строка будет отображаться в пузыре в указанной позиции
return getItem(position).substring(0, 1);
}
}
Примечание: необходимо заполнить достаточное количество элементов в адаптере, чтобы «FastScroll» мог прокручиваться. В библиотеке есть механизм автоматического скрытия, если нечего прокручивать.
Горизонтальное направление
Вы можете использовать эту библиотеку с горизонтальным LayoutManager. Используйте атрибут ohos:orientation="horizontal":
<com.futuremind.recyclerviewfastscroll.FastScroller
ohos:id="$+id:fast"
ohos:height="match_parent"
ohos:width="match_content"
ohos:orientation="vertical"
>
</com.futuremind.recyclerviewfastscroll.FastScroller>
Стиль
Версия 0.1.5 представила стилизацию и предоставила ограниченный набор настраиваемых атрибутов. Больше работы продолжается.
Вы можете установить атрибуты стиля в XML-макете:
Связанные атрибуты:
<com.futuremind.recyclerviewfastscroll.FastScroller
...
app:handleColor="#8f93d1"
app:bubbleColor="#5e64ce"
app:bubbleTextColor="#e0e0e0"
app:bubbleTextSize="24fp"
app:textStyle="bold"
/>
Или непосредственно в коде:
fastScroller.setBubbleColor(0xffff0000);
fastScroller.setHandleColor(0xffff0000);
fastScroller.setBubbleTextColor(0xffff0000);
fastScroller.setBubbleTextSize(24);
fastScroller.setTextStyle("bold");
Для получения дополнительной информации см. пример кода.
Пользовательские элементы управления
Вы можете настроить макет и анимацию для своей полосы прокрутки и пузыря, используя:
myViewProvider = new CustomScrollerViewProvider();
fastScroller.setViewProvider(myViewProvider);
Чтобы узнать больше, посмотрите пример кода CustomScrollerViewProvider
.
CodeCheck тестирование кода без исключений. CloudTest тестирование кода без исключений. Проверка безопасности вирусов пройдена. Текущая версия demo функционально практически идентична оригинальному компоненту.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )