简单Android compose完成下拉刷新(效果展示+源码)

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+小伙伴,让你的学习不寂寞~·

你可能感兴趣的:(android)