Android Kotlin+Compose首个应用

发布于:2025-04-22 ⋅ 阅读:(21) ⋅ 点赞:(0)

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

创建一个基于 Kotlin 的Android 应用

打开 Android Studio,选择New Project来创建一个应用,然后在Phone and Tablet选项卡,选择 Empty Activity,如下图所示。
选择Empty Activity
将应用命名为MyFirstKotlinApp,点击Finish。经过编译生成之后,可以看到如下页面:
第一个Kotlin应用
可见,默认模版中已经包含了一些Compose元素。在 Android Jetpack Compose 中,Compose 函数是构建 UI 的核心。它们使用 @Composable 注解来标记,代表该函数是一个可组合的 UI 单元。而借助 @Preview 注解,您可以在 Android Studio 中预览可组合函数,而无需构建应用并将其安装到 Android 设备或模拟器中。该注解必须用于不接受参数的可组合函数。具体的效果如下图所示:
Preview显示效果

基础代码解析

打开折叠的 MainAcitivity的代码,
在这里插入图片描述
包含了项目工程的基本逻辑。

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 的核心所在。


网站公告

今日签到

点亮在社区的每一天
去签到