3 Star 9 Fork 0

ISRC_OHOS / Ultra-Pull-To-Refresh_ohos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Ultra-Pull-To-Refresh_ohos

本项目基于开源项目android-Ultra-Pull-To-Refresh 进行鸿蒙化的移植和开发,可以通过项目标签以及github地址( https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh )追踪到原安卓项目版本

项目介绍

效果演示

输入图片说明

项目介绍

  • 编程语言:Java

下拉刷新被广泛应用于各类app中。当用户使用app时,下拉刷新已经成为一种潜意识的操作。 本项目基于原安卓项目对该组件进行鸿蒙化的移植和开发。

安装教程

  1. 下载p2r_library的har包p2r_library-debug.har(位于outputs文件夹下)。
  2. 启动 DevEco Studio,将下载的har包,导入工程目录“entry->libs”下。
  3. 在moudle级别下的build.gradle文件中添加依赖,在dependences标签中增加对libs目录下jar包的引用。
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
	……
}
  1. 在导入的har包上点击右键,选择“Add as Library”对包进行引用,选择需要引用的模块,点击“OK”即引用成功。

使用说明

组件主要由头部header和主页面content组成。
header用于显示UI动画提示用户正在加载更新,content展示主页面内容。

  1. 下拉刷新组件有以下定义细节:

刷新距离:header下拉需要达到一定距离才会触发刷新。这个距离定义为刷新距离。
刷新时保持头部的距离:刷新时,显示header动画效果表示正在加载更新,此时header的下拉距离定义为刷新时保持头部的距离。

释放刷新:header下拉达到刷新距离不触发刷新,手指释放后才会触发刷新。
达到刷新距离后,手指上滑使得下拉距离小于刷新距离,此时释放,不会触发刷新,header立即回到初始位置。

刷新时保持头部:如果设置刷新时保持头部,刷新时显示header动画效果表示正在加载更新,刷新完成之后,header回到初始位置。
如果不设置刷新时保持头部,释放之后,header立即回到初始位置。

本项目将刷新距离和刷新时保持头部距离合并为同一个距离,实现了释放刷新,并可选择是否设置保持头部。

2.接口和实现

PtrHandler接口
onRefreshBegin() 开始刷新时,调用这个方法进行数据刷新
checkCanDoRefresh() 调用这个方法确定下拉刷新的时机
onRefreshComplete() 刷新完成时,调用这个方法进行相关操作

PtrUIHandler接口
onUIRefreshPrepare() header被下拉,下拉距离没有达到刷新距离,调用这个方法进行相应操作
onUIRefreshBegin() header被下拉,下拉距离达到刷新距离,调用这个方法,开始刷新动画
onUIRefreshComplete() 刷新动画完成调用该方法进行相应操作
onUIPositionOver() header被下拉,下拉距离超过刷新距离,调用这个方法进行相应操作

Header使用了PtrUIHandler接口
setPullRefreshHeight(int pullRefreshHeight) 设置刷新距离
setmImage(Image mImage) 设置刷新动画相关图片
setText(Text mText) 设置刷新动画相关文本

ptrLayout使用了PtrHandler接口
setHeader(abstractHeader header) 设置头部组件
setContent(Component content) 设置主页面content
setPtrHandler(PtrHandler ptrHandler) 设置刷新接口

使用时可以通过继承Header和ptrLayout重写PtrUIHandler和PtrHandler接口中的方法实现自己定义的刷新动画效果和数据刷新效果
具体使用样例可以参考entry

测试信息

CodeCheck代码测试无异常 VirusTotal病毒安全检测通过 测试员:黎天宁

版本迭代

  • v0.1.0

版权和许可信息

Ultra-Pull-To-Refresh_ohos经过Apache License, version 2.0授权许可。

MIT License Copyright (c) <2015> <liaohuqiu.net> Copyright (c) 2021 isrc_ohos Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

下拉后进行页面刷新 展开 收起
Java
MIT
取消

发行版 (1)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/isrc_ohos/ultra-pull-to-refresh_ohos.git
git@gitee.com:isrc_ohos/ultra-pull-to-refresh_ohos.git
isrc_ohos
ultra-pull-to-refresh_ohos
Ultra-Pull-To-Refresh_ohos
master

搜索帮助

14c37bed 8189591 565d56ea 8189591