Проект основан на открытом проекте android-Ultra-Pull-To-Refresh и адаптирован для работы с HarmonyOS. Версию исходного Android-проекта можно найти по меткам проекта и адресу GitHub (https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh)
Пулл-до-рифреш широко используется во многих мобильных приложениях. Когда пользователи используют приложение, действие пулл-до-рифреш становится автоматическим.
Этот проект представляет собой адаптацию компонента пулл-до-рифреш из исходного Android-проекта для использования в HarmonyOS.
p2r_library-debug.har
(расположенный в папке outputs
) из пакета p2r_library
..har
файл в директорию проекта "entry -> libs"
.build.gradle
модуля добавьте зависимость, указав jar-пакеты в директории libs
.dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
...
}
.har
файл и выберите "Add as Library", чтобы добавить его как библиотеку. Выберите нужный модуль и нажмите "OK" для завершения процесса.#### Инструкция по использованиюКомпонент состоит из шапки (header) и основной части (content).
Шапка используется для отображения анимации UI, которая сообщает пользователю о процессе обновления. Основная часть отображает содержимое страницы.
Расстояние до обновления: шапка должна быть прокручена на определённое расстояние, прежде чем будет запущено обновление. Это расстояние называется расстоянием до обновления.
Расстояние до обновления после прокрутки: когда происходит обновление, шапка остаётся прокрученной на определённое расстояние, которое называется расстоянием до обновления после прокрутки.
Отпускание для обновления: если шапка была прокручена до расстояния до обновления, но обновление ещё не началось, то при отпускании пальца обновление начнётся.
Если после достижения расстояния до обновления палец начинает двигаться обратно так, что расстояние до обновления меньше исходного, то при отпускании обновление не произойдёт, и шапка вернётся в исходное положение.
Обновление с сохранением верха: если установлена опция "сохранение верха при обновлении", то во время обновления отображается анимация загрузки в заголовке, указывающая на процесс загрузки данных. После завершения обновления заголовок возвращается в начальное положение.Если опция "сохранение верха при обновлении" не установлена, то после освобождения заголовок сразу возвращается в начальное положение.
Этот проект объединяет расстояние для обновления и расстояние для сохранения верха в одно общее значение, что позволяет реализовать автоматическое обновление при освобождении и выборочно использовать опцию "сохранение верха".
Интерфейс `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. Тестировал: Ли Тяньнин
Ultra-Pull-To-Refresh_ohos распространяется под лицензией Apache License, Version 2.0.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )