UltraSwipeRefresh

UltraSwipeRefresh:一个可带来极致体验的 Compose 刷新组件;支持下拉刷新和上拉加载,可完美替代官方的 SwipeRefresh;并且支持的功能更多,可扩展性更强。
UltraSwipeRefresh 的设计之初,主要参考了谷歌官方的SwipeRefresh 和第三方的SmartRefreshLayout ,吸取了其优秀的设计思想;致力于打造一个极致体验的 Compose 刷新组件。
这里简单的概括下 UltraSwipeRefresh 主要的一些功能特色:刷新指示器支持多种滑动方式:平移、固定内容、固定在背后、固定在前面; headerIndicator 和 footerIndicator 可任意定制,并且 Header 和 Footer 的样式与滑动模式可随意组合。
Gif 展示

你也可以直接下载 演示App 体验效果
引入
Gradle:
-
在Project的 build.gradle 或 setting.gradle 中添加远程仓库
repositories {
//...
mavenCentral()
}
-
在Module的 build.gradle 里面添加引入依赖项
使用
UltraSwipeRefresh
Compose 组件的使用大都比较直观,一般看一下 Composable 函数对应的参数说明基本就会使用了。
UltraSwipeRefresh参数说明
UltraSwipeRefresh使用示例
比如:使用UltraSwipeRefresh实现一个经典样式的刷新与加载示例:
使用小提示:headerIndicator/footerIndicator 与 headerScrollMode/footerScrollMode 组合使用才更配哦。
UltraSwipeRefreshTheme(v1.1.0新增)
UltraSwipeRefreshTheme:主要用于统一管理全局默认配置。
通常情况下,一个App使用的刷新样式是统一的,如果你需要进行全局统一刷新组件的样式时,可以通过UltraSwipeRefreshTheme.config来动态修改UltraSwipeRefresh的全局默认配置。
UltraSwipeRefreshTheme使用示例
UltraSwipeRefreshTheme.config = UltraSwipeRefreshTheme.config.copy(
headerScrollMode = NestedScrollMode.Translate,
footerScrollMode = NestedScrollMode.Translate,
)
更多参数配置可查看:UltraSwipeRefreshTheme.config 的定义,这里就不一一举例了。
指示器样式
这里罗列一下目前 UltraSwipeRefresh 所提供的一些Header和Footer指示器样式,方便快速查找与参考。
如果以上的指示器效果都不满足你的需求,你可以自定义去实现Header和Footer的指示器,也可以直接使用Lottie动画样式的指示器来可快速接入任何Lottie动画。
更多使用详情,请查看app中的源码使用示例或直接查看 API帮助文档
相关推荐
compose-component 一个Jetpack Compose的组件库;主要提供了一些小组件,便于快速使用。
版本日志
v1.3.0 :2024-7-20
- 更新compose至v1.6.0 (v1.5.0 -> v1.6.0) (#13)
- 新增参数
alwaysScrollable:是否始终可以滚动
- 优化一些细节
v1.2.0 :2024-7-1
- 新增参数
contentContainer:内容的父容器,便于统一管理
- 修复了一些已知问题
v1.1.3 :2024-6-2
- 修复BUG:禁用下拉刷新或上拉加载时,上下滑动的边界值判定问题。(#8)
- 优化一些细节
v1.1.2 :2024-5-22
- 修复BUG:部分机型在某些特定场景下,出现“无法再次触发下拉刷新”的问题。(#7)
v1.1.1 :2024-4-20
- 修复BUG:刷新状态变化太快时,导致”完成时的定格提示动画”不执行的问题。(#4)
- 优化一些细节
v1.1.0 :2023-12-17
- 新增
UltraSwipeRefreshTheme:用于统一管理全局默认配置
- 新增参数
finishDelayMillis:完成时延时时间(可用于定格展示提示内容)
- 新增参数
vibrateEnabled:是否启用振动(当滑动偏移量满足触发刷新或触发加载更多时,会有振动效果)
v1.0.0 :2023-12-3
赞赏
如果您喜欢UltraSwipeRefresh,或感觉UltraSwipeRefresh帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:
您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:
关于我
联系我