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

OSCHINA-MIRROR/isrc_ohos-ultra-pull-to-refresh_ohos

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

Ultra-Pull-To-Refresh_ohos

Проект основан на открытом проекте android-Ultra-Pull-To-Refresh и адаптирован для работы с HarmonyOS. Версию исходного Android-проекта можно найти по меткам проекта и адресу GitHub (https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)

Описание проекта

  • Название проекта: универсальный компонент для пулл-до-рифреша
  • Серия: адаптация сторонних компонентов для HarmonyOS
  • Функционал: выполнение обновления страницы при прокрутке вниз
  • Состояние портирования: основные функции завершены
  • Различия при использовании: нет
  • Версия SDK: 5, DevEco Studio 2.1 beta3
  • Автор проекта: Xu Zexin
  • Электронная почта: isrc_hm@iscas.ac.cn
  • Адрес документации исходного проекта: https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh

Демо

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

Описание проекта

  • Язык программирования: Java

Пулл-до-рифреш широко используется во многих мобильных приложениях. Когда пользователи используют приложение, действие пулл-до-рифреш становится автоматическим.

Этот проект представляет собой адаптацию компонента пулл-до-рифреш из исходного Android-проекта для использования в HarmonyOS.

Инструкция по установке1. Скачайте файл p2r_library-debug.har (расположенный в папке outputs) из пакета p2r_library.

  1. Запустите DevEco Studio и импортируйте скачанный .har файл в директорию проекта "entry -> libs".
  2. В файле build.gradle модуля добавьте зависимость, указав jar-пакеты в директории libs.
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
    ...
}
  1. Нажмите правой кнопкой мыши на импортированный .har файл и выберите "Add as Library", чтобы добавить его как библиотеку. Выберите нужный модуль и нажмите "OK" для завершения процесса.#### Инструкция по использованию

Компонент состоит из шапки (header) и основной части (content).

Шапка используется для отображения анимации UI, которая сообщает пользователю о процессе обновления. Основная часть отображает содержимое страницы.

  1. У пулл-до-рифреш компонента есть следующие детали:

Расстояние до обновления: шапка должна быть прокручена на определённое расстояние, прежде чем будет запущено обновление. Это расстояние называется расстоянием до обновления.

Расстояние до обновления после прокрутки: когда происходит обновление, шапка остаётся прокрученной на определённое расстояние, которое называется расстоянием до обновления после прокрутки.

Отпускание для обновления: если шапка была прокручена до расстояния до обновления, но обновление ещё не началось, то при отпускании пальца обновление начнётся.

Если после достижения расстояния до обновления палец начинает двигаться обратно так, что расстояние до обновления меньше исходного, то при отпускании обновление не произойдёт, и шапка вернётся в исходное положение.

Обновление с сохранением верха: если установлена опция "сохранение верха при обновлении", то во время обновления отображается анимация загрузки в заголовке, указывающая на процесс загрузки данных. После завершения обновления заголовок возвращается в начальное положение.Если опция "сохранение верха при обновлении" не установлена, то после освобождения заголовок сразу возвращается в начальное положение.

Этот проект объединяет расстояние для обновления и расстояние для сохранения верха в одно общее значение, что позволяет реализовать автоматическое обновление при освобождении и выборочно использовать опцию "сохранение верха".

2. Интерфейсы и реализация

Интерфейс `PtrHandler`
`onRefreshBegin()` — вызывается при начале обновления для обновления данных
`checkCanDoRefresh()` — вызывается для проверки возможности начала обновления
`onRefreshComplete()` — вызывается при завершении обновления для выполнения необходимых действий

Интерфейс `PtrUIHandler`
`onUIRefreshPrepare()` — вызывается при прокрутке заголовка до расстояния, недостаточного для запуска обновления
`onUIRefreshBegin()` — вызывается при достижении расстояния для запуска обновления, начинается анимация обновления
`onUIRefreshComplete()` — вызывается при завершении анимации обновления для выполнения необходимых действий
`onUIPositionOver()` — вызывается при прокрутке заголовка за пределы расстояния для запуска обновления

Заголовок использует интерфейс `PtrUIHandler`
`setPullRefreshHeight(int pullRefreshHeight)` — устанавливает расстояние для обновления
`setmImage(Image mImage)` — устанавливает изображения для анимации обновления
`setText(Text mText)` — устанавливает текст для анимации обновления
```Компонент `ptrLayout` использует интерфейс `PtrHandler`.
```java
setHeader(AbstractHeader header) — устанавливает компонент заголовка
setContent(Component content) — устанавливает основной контент страницы
setPtrHandler(PtrHandler ptrHandler) — устанавливает обработчик обновления

При использовании можно переопределять методы интерфейсов PtrUIHandler и PtrHandler для создания своих эффектов анимации обновления и обновления данных. Конкретные примеры использования можно найти в разделе entry.

Информация о тестировании

Код прошёл тестирование CodeCheck без ошибок. Прошёл проверку безопасности на VirusTotal. Тестировал: Ли Тяньнин

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

  • v0.1.0

Информация о правах и лицензиях

Ultra-Pull-To-Refresh_ohos распространяется под лицензией Apache License, Version 2.0.

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

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

Введение

После раскрытия (выпадающего списка) выполните обновление страницы. Развернуть Свернуть
MIT
Отмена

Обновления (1)

все

Участники

все

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

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/isrc_ohos-ultra-pull-to-refresh_ohos.git
git@api.gitlife.ru:oschina-mirror/isrc_ohos-ultra-pull-to-refresh_ohos.git
oschina-mirror
isrc_ohos-ultra-pull-to-refresh_ohos
isrc_ohos-ultra-pull-to-refresh_ohos
master