#每天一个知识点#
每天一个知识点:jetpack compose项目的setContent {}

 setContent {}  是  ComponentActivity  的扩展函数,是 Jetpack Compose 页面UI挂载入口。
不再加载XML布局,用来替代传统 Android 的  setContentView() ,它加载的是可组合函数(@Composable)构成的声明式UI树。

```kotlin
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
// 根Compose UI,此处写@Composable函数
Text("Hello Compose")
}
}
}
 
```
关键点:

1. 大括号是 Lambda 代码块,内部只能调用标记  @Composable  的可组合函数;
2. 自动搭建 Compose 重组环境,管理状态、UI重组更新;
3. 仅限  ComponentActivity ,普通  AppCompatActivity  不能直接使用;
4. 和  @Preview  区别: @Preview  只是IDE静态预览, setContent  是真机、模拟器上真实运行的UI入口。

简洁地说:

每天一个知识点:jetpack compose项目的setContent {}
setContent {} 是ComponentActivity中Compose的UI挂载入口,替代传统setContentView,不再加载XML布局,加载由@Composable可组合函数构建的声明式UI树,是页面Compose UI树的起点。
展开
评论