ComposeUI——下拉刷新+上拉加载(一、简单封装)

本文介绍了在ComposeUI中实现下拉刷新和上拉加载的方法。通过引入SwipeRefresh库进行下拉刷新,并详细讲解了使用步骤。对于上拉加载,由于未找到成熟第三方库,作者自己封装了一套解决方案,包括判断LazyColumn底部、扩展LazyListState以及封装LazyLoadMoreColumn组件。提供了关键代码示例,旨在帮助开发者理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:ComposeUI是将来开发的趋势,本人也在对它进行学习,会把踩过的坑一一记录下来,希望能对大家有帮助。话不多说,直接开干。

目录

下拉刷新

1、引入依赖库

2、使用方法

上拉加载 

1、先看用法(结合下拉刷新):

2、具体实现


下拉刷新

下拉刷新有封装好的控件SwipeRefresh我们直接拿来用:

1、引入依赖库

repositories {
    mavenCentral()
}

dependencies {
    implementation "com.google.accompanist:accompanist-swiperefresh:<version>"
}

注意:要根据自己项目中composeUI 的版本引入正确的版本号

2、使用方法

ViewModel:
    var isRefreshing by mutableStateOf(false)//用来控制SwipeRefresh的刷新状态
        private set

UI:
SwipeRefresh(
            state = rememberSwipeRefreshState(isRefreshing = vm.isRefreshing),//用来控制SwipeRefresh的刷新状态
            onRefresh = {//刷新回调
                vm.loadTopArticle()
                vm.loadArticle(true)
            }) {
            LazyColum() {
                item {
                    SwiperContent(dataSource = vm.swiperData)
                }
                items(vm.articleTopDataSource) { temp ->
                    ArticleItem(item = temp, true)
                }
            }
        }

这个控件使用起来还是比较简单的,可以参考官网:Guide - Accompanist


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值