1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/chinasoft_ohos-recycler-fast-scroll

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

recycler-fast-scroll

Проект введения

  • Название проекта: recycler-fast-scroll.
  • Серия проекта: openharmony, сторонние компоненты, адаптация и перенос.
  • Функция: быстрая прокрутка и разделённое отображение ListContainer.
  • Состояние переноса проекта: часть функций реализована (проблема возникает, когда высота или ширина Item не фиксированы).
  • Вызов различий: настройки стиля и имена методов отличаются от оригинальной версии, пожалуйста, обратитесь к инструкции по использованию.
  • Версия разработки: SDK6, DevEco Studio 2.2 Beta1.
  • Базовая версия: на основе Maven 0.2.5.

Демонстрация эффекта

Инструкция по установке

Добавьте зависимости в файл 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-макете:

Связанные атрибуты:

  • handleColor — цвет полосы прокрутки.
  • bubbleColor — цвет фона пузыря.
  • bubbleTextColor — отображаемый цвет текста пузыря.
  • bubbleTextSize — размер шрифта текста пузыря.
  • textStyle — стиль текста пузыря поддерживает жирный и курсив.
    <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 функционально практически идентична оригинальному компоненту.

Итерация версии

  • 1.0.0

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Быстрое скольжение и отображение разделов в представлении Recycler View операционной системы iOS. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/chinasoft_ohos-recycler-fast-scroll.git
git@gitlife.ru:oschina-mirror/chinasoft_ohos-recycler-fast-scroll.git
oschina-mirror
chinasoft_ohos-recycler-fast-scroll
chinasoft_ohos-recycler-fast-scroll
master