前言:本人也是刚开始了解的,不足之处请各位多多指教,多给意见,一起成长,一起进步!废话不多说,开始!!!
我的第一个Compose应用:
在 Jetpack Compose 作为构建原生界面的工具包,我们还是用 Activity/Fragment 来加载视图,在以前 XML 布局模式下,Activity 关联视图使用 setContentView()
函数。在 Jetpack Compose 中加载关联视图使用 setContent
函数,如下所示:
//为Activity设置布局
setContent {
MyCompaseTheme {
Surface(color = MaterialTheme.colors.background) {
//添加一个 Jetpack Compose 视图
Greeting("Android")
}
}
}
可组合 (Composable) 函数
在以前 View 视图模式下,我们编写视图都是在 XML 文件中去书写,在 Jetpack Compose 中我们都用被加上 @Composable
注解的 kotlin 函数来构建界面,如下代码所示:
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
1.可组合函数的函数名一般首字母大写,以便和普通函数区分。
2.可组合函数只能在其他可组合函数中调用,这一点有点类似协程 suspend 函数。
3.虽然函数用@Composable
注解,但 Jetpack Compose 并不是一个注入处理器。Compose 在 Kotlin 编译器的类型检测与代码生成阶段依赖 Kotlin 编译器插件工作。此说法来自 深入详解 Jetpack Compose | 实现原理 这篇文章中,感兴趣可以去看一看。
以上均出自Jepack Compose基础,里面还有一些(环境搭建,个别组件的属性)没有摘抄完,点击查看详情!
以下为自己学习、尝试的属性 及效果(官方文档):
Compose(二)