Android Compose 的分页(Paging3)
Overview
官方链接:
https://developer.android.com/topic/libraries/architecture/paging/v3-overview
需要注意的是,Paging 库的组件在应用程序的三层中运行,Paging在三层的架构如下图:
- 存储库层
- ViewModel层
- 用户界面层
在三层的数据传递如下图:
方法/接口
官方链接:
https://developer.android.com/reference/androidx/paging/package-summary
版本查询
https://developer.android.com/jetpack/androidx/releases/paging
使用
基础官方教程(看这个即可)
https://developer.android.com/codelabs/android-paging-basics?hl=zh-cn#0
在Compose页面层的用法,看这里
https://developer.android.com/reference/kotlin/androidx/paging/compose/package-summary
注意:XXXXXXPagingSource.kt文件放在
data
软件包中
给个示意代码:
LazyColumn(modifier = Modifier.fillMaxWidth().fillMaxHeight()){ itemsIndexed(collectAsLazyPagingItems.itemSnapshotList) { index, collect ->//每个item的展示 if (collect != null) { Card( modifier .border(2.dp, color = Color.Black) .height(100.dp) .width(100.dp)) { Text(text = collect.name) } } } }
官方教程2(补充)
https://developer.android.com/codelabs/android-paging?hl=zh-cn#0
注意: 要保证viewModel只能访问到Repository类,所以加入PagingSource类后,需要更新Repository类,使其加入XXXXPagingSource()
:
package com.example.android.codelabs.paging.data import androidx.paging.PagingSource class ArticleRepository { fun articlePagingSource() = ArticlePagingSource() }
本文作者:kingwzun
本文链接:https://www.cnblogs.com/kingwz/p/17863922.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-11-29 error: 'gets' was not declared in this scope; did you mean 'fgets'? 解决方法
2021-11-29 数据库基础