首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Android Compose集合
阿巴斯甜
创建于2024-07-29
订阅专栏
这是Compose从入门到精通的学习,也就是我学习的笔记总结
等 31 人订阅
共53篇文章
创建于2024-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android Compose中使用官方自带的PullToRefreshBox
一、完整版: 1. 依赖(稳定版) gradle 2.版本与组件对应关系 表格 版本区间 组件名称 状态 备注 1.0.x ~ 1.2.x PullToRefreshContainer 稳定 老版,需
LaunchedEffect(listState) 和 snapshotFlow { listState.layoutInfo } 的区别:
LaunchedEffect(listState) 和 snapshotFlow { listState.layoutInfo }中, 为什么LaunchedEffect用listState,而sna
学习:snapshotFlow { listState.layoutInfo }
我用最简单、最直白、最通俗 的方式给你讲懂 snapshotFlow { listState.layoutInfo } 到底是什么? 一句话核心解释 kotlin 意思是: 监听列表布局信息的变化,把
学习val listState = rememberLazyListState()
val listState = rememberLazyListState() 到底是什么? 一句话核心解释 kotlin 它就是 LazyColumn 的「遥控器 + 状态记录仪」 你可以通过它知道
Compose中 Saver的使用:
一、Saver 是干嘛的?(必须Compose中使用) Saver = 状态保存 + 恢复工具作用:屏幕旋转、切换暗黑模式、窗口大小变化 → 让你的状态不丢失! 比如: 输入框文字不消失 轮播图当前页
为什么必须写 asStateFlow()?
我用最通俗、最直白、最核心的话给你讲清楚,为什么必须写 asStateFlow() 。 一句话答案 为了 “封装” 和 “安全”! 不让外部随便修改数据,只让外部看,不让外部改。 1. 先看类型(超级
repeatOnLifecycle(Lifecycle.State.STARTED) 超详细总结
一、它到底是干嘛的? 一句话:让 Flow 的收集(collect)只在页面可见时执行,页面不可见时自动取消,避免内存泄漏、浪费资源、后台回调导致崩溃。 它是 Android 官方 唯一推荐 的 Fl
StateFlow 的使用
一、StateFlow 是什么? 属于 Kotlin 协程 Flow 体系 粘性可观察状态持有者 永远持有最新一个状态 新订阅者会立刻收到当前最新值 适合:页面 UI 状态管理(MVVM、MVI) 线
_uiState.update { it.copy(isLoading = true) } 中copy函数解释一下
一、先记住一句话 copy() = 复制一个新对象,只改你想改的字段,其他不变 而且它是 Kotlin 数据类(data class)自带的函数,不用你写。 二、先看你的 UiState 长什么样 你
StateFlow 中update的用法
在 Kotlin Coroutines 中,MutableStateFlow 是用于管理状态的核心 Hot Flow。更新状态主要有 value 赋值、emit、update、getAndUpdate
Compose 全套 Effect / State / Flow 终极思维导图
一、整体分类总览 1. 重组同步副作用 SideEffect 2. 协程异步任务 LaunchedEffect produceState 3. 带清理 / 订阅 DisposableEffect 4.
produceState的使用:
一、produceState 到底是什么? 一句话定义 produceState 是一个 Compose 内置的 Effect,用于在协程中异步生产数据,并自动将其转换为 State<T>,让 UI
snapshotFlow的使用
一、一句话核心 snapshotFlow = 把 Compose 的 State 变化,转换成 Kotlin Flow 监听 State/MutableState 的变化 每次 State 更新 →
Compose rememberUpdatedState的使用:
一、一句话核心 rememberUpdatedState = 把一个 “会变的值” 包成一个可观察的 State,让异步 / 回调永远拿到最新值,而不是启动时的旧值。 典型场景: LaunchedEf
Compose 对比:SideEffect / LaunchedEffect / DisposableEffect
1. 一句话总纲 SideEffect:每次重组后,同步执行一段代码 LaunchedEffect:key 变化时,启动协程做异步任务 DisposableEffect:带清理 / 销毁的 effec
SideEffect的使用:
一、先一句话记住 SideEffect = 专门用来在 Compose 中执行 “非界面副作用” 的函数 什么叫副作用? 发送 Analytics 埋点 更新外部变量 调用第三方 SDK 方法 打印日
SharedFlow 中理解1、专门用于一次性事件(专用于事件,不是状态);2、多订阅者共享(一对多)
一、专门用于一次性事件(专用于事件,不是状态); 完整示例:点击按钮 → 发送事件 → 页面收到显示 Toast 完全符合你要的:Toast、提示、一次性操作 1. 先看 ViewModel(核心:S
Flow、StateFlow、SharedFlow和ChannelFlow的区别
Flow 全家桶大白话终极对比 我用最简单、最形象、最容易记的方式给你讲清楚Flow / StateFlow / SharedFlow / ChannelFlow 的区别,保证你一次听懂! 1、一句话
解析:val vm: LiveDataViewModel = viewModel()
一、核心结论 绝对不能写:LiveDataViewModel () 必须写:viewModel () 因为 viewModel() 不是简单的创建对象,它是【系统管家】 ! 1. 为什么不能写 Liv
DisposableEffect的使用:
一、DisposableEffect 核心定义(基于 Compose 1.6.0+ 最新 API) DisposableEffect 是 Compose 中用于处理需要 “副作用执行 + 清理” 的
下一页