【重学Android】1.关于@Composer注解的一点知识笔记
最新因为一些原因,开始重新学习Android及kotlin编程,也觉得可以顺带记录下这个过程中的一些知识点,也可以用作日后自己查找复习。
@Composable 注解在 Android 开发中的使用
@Composable
是 Jetpack Compose(Android 的现代声明式 UI 工具包)中的核心注解,用于标记可组合函数(Composable functions)。
基本概念
- 可组合函数:用
@Composable
注解的函数,用于描述 UI 的一部分 - 声明式 UI:与传统的命令式 UI 不同,你只需描述 UI 应该是什么样子,而不是如何更新它
- 重组:当状态变化时,Compose 会自动重新调用这些函数来更新 UI
基本用法
@Composable
fun Greeting(name: String) {Text(text = "Hello, $name!")
}
关键特性
- 无返回值:可组合函数不返回任何值,它们只是声明 UI
- 可以调用其他可组合函数:一个
@Composable
函数可以调用其他@Composable
函数 - 重组能力:当输入参数变化时,函数会自动重新执行
- 状态管理:可以使用
remember
和mutableStateOf
来管理状态
状态管理示例
@Composable
fun Counter() {var count by remember { mutableStateOf(0) }Button(onClick = { count++ }) {Text("Clicked $count times")}
}
常见用途
- 构建 UI 组件
- 主题和样式设置
- 导航逻辑
- 状态管理
注意事项
- 可组合函数可以在任何线程上执行
- 不应在可组合函数中执行长时间运行的操作
- 函数可以按任何顺序执行
- 函数可以并行运行
另外在搭配@Preview注解使用的时候,要确保所有的参数都已经赋予了默认参数,否则将会收到一个错误。
【Composable functions with non-default parameters are not supported in Preview unless they are annotated with @PreviewParameter 】