ompose发布正式版已经有一段时间了。趁最近比较闲,抓紧学习一波。
学习过程中,主要以实战项目中常用技术为目标。下面是项目地址,会长期更新,希望能给正在学习Compose的小伙伴一点参考。同时您有什么好的建议,也可以提issue给我,我们一起讨论。
目标
- 配合Retrofit+Okhttp实现数据加载并展示
- 实现列表的上拉加载更多、下来刷新
- 项目采用单页面
- 使用compose-navigation实现路由导航
- 使用ViewModel+LiveData实现MVVM架构
- 使用ViewModel+Flow(LiveData)实现MVI架构
- 导航动画使用
- compose中嵌入原生控件
- 常见的动画使用
- 全局状态的管理
- 适配平板
- 暗黑适配
- 多主题定制,切换
- 自定义组件
- 视频列表实现和优化
- 嵌入网页,和js交互
- compose-permission使用
- compose-pager使用
- 流式布局实现和优化
- Material3主题适配
- 实现至少两个复杂页面并交互
- 登录功能,并实现全局登录状态的同步
- 本地数据存储Room、DataStore等组件的使用
- 自定义页面状态管理组件
- 代码质量检测工具
- 老项目混写Compose
- 其他更高级的功能,想到再补充
知识点
这只是我自己学习过程中的笔记和思考,可能不是完全正确,如有错误,忘指正!
SnackBar的使用
//第一步:
val snackbarHostState = remember { SnackbarHostState() }