Android Kotlin+Compose首个应用

06-01 723阅读

本教程将创建一个简单的基于 Kotlin 语言的 APP,并使用 Compose 来管理 UI。

创建一个基于 Kotlin 的Android 应用

打开 Android Studio,选择New Project来创建一个应用,然后在Phone and Tablet选项卡,选择 Empty Activity,如下图所示。

Android Kotlin+Compose首个应用

将应用命名为MyFirstKotlinApp,点击Finish。经过编译生成之后,可以看到如下页面:

Android Kotlin+Compose首个应用

可见,默认模版中已经包含了一些Compose元素。在 Android Jetpack Compose 中,Compose 函数是构建 UI 的核心。它们使用 @Composable 注解来标记,代表该函数是一个可组合的 UI 单元。而借助 @Preview 注解,您可以在 Android Studio 中预览可组合函数,而无需构建应用并将其安装到 Android 设备或模拟器中。该注解必须用于不接受参数的可组合函数。具体的效果如下图所示:

Android Kotlin+Compose首个应用

基础代码解析

打开折叠的 MainAcitivity的代码,

Android Kotlin+Compose首个应用

包含了项目工程的基本逻辑。

override fun onCreate(savedInstanceState: Bundle?) {

onCreate 是 Activity 的生命周期方法,当 Activity 被创建时调用。savedInstanceState 用于恢复上一次销毁时保存的状态(可选)。super.onCreate(savedInstanceState)调用父类的方法;enableEdgeToEdge() 用于开启 沉浸式状态栏与导航栏模式(即内容可以绘制到屏幕的边缘),通常配合 Compose 的 Scaffold 或 System UI Controller 使用,获得更现代的界面风格。

setContent {

Jetpack Compose 的入口,表示开始用 Composable 函数来构建 UI。像是以前 setContentView(R.layout.xxx) 的升级版,但是通过代码构建布局。

MyFirstKotlinAppTheme {

应用自定义的主题(颜色、字体、形状等),类似于 XML 中设置 Theme.MaterialComponents.DayNight。通常是自动生成的,在 ui/theme 文件夹下定义。

Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
   Greeting(
        name = "Android",
        modifier = Modifier.padding(innerPadding)
    )
}

Scaffold 是 Compose 中的一个结构性布局容器,Modifier.fillMaxSize() 让 Scaffold 填满整个屏幕,innerPadding 是 Scaffold 留出的空间,比如状态栏、导航栏或 TopBar 占用的部分。

整个setContent{…} 以及里面那些函数的调用,用的是 Kotlin 的一种高级特性 —— DSL(领域特定语言)+ Lambda 表达式,这正是 Jetpack Compose 的核心所在。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码