ComposeRefreshLayout 是一个简单易用的下拉刷新库,代码简单易用,可自定义刷新头与上拉加载View。
效果展示
说明
因刷新头与上拉加载View全部为自定义,比较灵活,所以本库里不包含默认刷新头与加载View,效果中的刷新头与加载View代码在app目录下的simple里
引入
repositories {
…
maven { url ‘jitpack.io’ }
}dependencies {
implementation ‘com.github.xiaoyu00:ComposeRefreshLayout:1.0.0’
}
下拉刷新
RefreshLayout(refreshingState = refreshing, onRefresh = { refreshing = true scope.launch { delay(2000) refreshing = false } }, refreshHeader = { offset, state -> // RefreshDefaultHeader(state, offset) // RefreshLottieHeader(state) // 你的刷新Header(上面刷新头代码在app下simple里) ... }) { // 刷新内容 ... } }
上拉加载(与下拉刷新使用方法相同)
LoadMoreLayout(loadMoreState = isLoadMore, onLoadMore = { isLoadMore = true scope.launch { delay(2000) isLoadMore = false } }, loadMore = { offset, state -> // LoadMoreDefaultView(state, isNoMore)(此代码在app下simple里) // 你的加载View ... }) { // 加载内容 ... }
组合使用
`LoadMoreLayout(loadMoreState = isLoadMore, onLoadMore = { isLoadMore = true scope.launch { delay(2000) isLoadMore = false } }, loadMore = { offset, state -> // LoadMoreDefaultView(state, isNoMore)(此代码在app下simple里) // 你的加载View ... }) { RefreshLayout(refreshingState = refreshing, onRefresh = { refreshing = true scope.launch { delay(2000) refreshing = false } }, refreshHeader = { offset, state -> //RefreshDefaultHeader(state, offset) (此刷新头代码在app下simple里) // 你的刷新Header ... }) { //内容 ... } }`
更多学习和讨论,欢迎加入我们的知识星球!
扫码加入我们吧!
群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
这里有2000+小伙伴,让你的学习不寂寞~·