当前位置: 首页 > news >正文

Jetpack Compose: Hello Android

Jetpack Compose 是一个现代化的工具包,用于使用声明式方法构建原生 Android UI。在本博文中,我们将深入了解一个基本的 “Hello Android” 示例,以帮助您开始使用 Jetpack Compose。我们将探讨所提供代码片段中使用的函数和注解。

入门

在深入代码之前,请确保您已经准备好使用 Jetpack Compose 进行工作。您应该安装了 Android Studio,并使用最新版本的 Android Gradle 插件。创建项目。
在这里插入图片描述

代码解析

让我们逐步查看所提供的代码:

MainActivity

package com.minosimport android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Devices
import androidx.compose.ui.tooling.preview.Preview
import com.minos.ui.theme.HelloComposeThemeclass MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContent {HelloComposeTheme {Surface(modifier = Modifier.fillMaxSize(),color = MaterialTheme.colorScheme.background) {Greeting("Android")}}}}
}
  • MainActivity 是一个标准的 Android 活动类。
  • onCreate 方法中,我们使用 setContent 设置内容视图,其中包含一个可组合函数 HelloComposeTheme
  • HelloComposeTheme 中,我们有一个 Surface 可组合,它使用 Material 主题中定义的背景颜色填充整个可用空间(Modifier.fillMaxSize())。
  • Surface 中,我们调用 Greeting 可组合,传递 “Android” 作为 name 参数。

Greeting 可组合

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {Text(text = "Hello $name!",modifier = modifier)
}
  • Greeting 是一个可组合函数,它接受一个 String 类型的 name 参数和一个可选的 Modifier 类型的 modifier 参数。
  • Greeting 内部,我们使用 Text 可组合来显示问候消息 “Hello $name!”。

GreetingPreview

@Preview(showBackground = true, backgroundColor = 0xFF00FF00, showSystemUi = true, device = Devices.PIXEL)
@Composable
fun GreetingPreview() {HelloComposeTheme {Greeting("Android")}
}
  • GreetingPreview 是一个带有 @Preview 注解的可组合函数。它允许我们在 Android Studio 中预览 UI 布局。
  • @Preview 注解的参数:
    • showBackground:指示是否显示背景。
    • backgroundColor:设置背景颜色。
    • showSystemUi:指示是否显示系统 UI。
    • device:指定用于预览的设备。
  • GreetingPreview 中,我们将 Greeting 可组合包装在 HelloComposeTheme 中,以提供适当的主题。

结论

本博文通过探讨一个简单的 “Hello Android” 示例介绍了 Jetpack Compose。我们讨论了所提供代码片段中使用的关键函数和注解。请继续关注更多关于 Jetpack Compose 的教程和深入探索!

http://www.lryc.cn/news/312001.html

相关文章:

  • 蓝桥每日一题 (差分)3月3号
  • Mybatis和Spring Data Jpa的优缺点比较(八股文)
  • LeetCode买卖股票的最佳时机
  • Codeforces Round 932 (Div. 2)----->A. Entertainment in MAC
  • 【JavaScript】 短路运算的妙用 ||
  • 密码学之椭圆曲线
  • overleaf latex 笔记
  • 第十五届蓝桥杯青少组STEMA测评SPIKE初级真题试卷 2024年1月
  • 10个常见的Java面试问题及其答案
  • Vue跳转页面传递参数
  • 【已解决】conda环境下ROS2 colcon build编译选择特定python解释器
  • QT C++实践| 连接数据库的登录界面实现| 附源码
  • html样式排版
  • Java:性能优化细节31-45
  • YOLOv9独家原创改进|增加SPD-Conv无卷积步长或池化:用于低分辨率图像和小物体的新 CNN 模块
  • Android Gradle开发与应用 (四) : Gradle构建与生命周期
  • [MRCTF2020]Transform1
  • JavaWeb HTTP 请求头、请求体、响应头、响应体、响应状态码
  • 穿越数字防线:SSH协议的全景解析与未来展望
  • 语文教学方法有哪些,产生了什么效果
  • Docker之网络配置
  • Mybatis实现分页查询数据(代码实操讲解)
  • 【自动驾驶技术系列丛书学习】1.《自动驾驶技术概论》学习笔记
  • 2023年全国职业院校技能大赛 GZ073网络系统管理赛项 模块A:网络构建(运维配置)
  • Linux设备模型(八) - sysfs
  • C语言实现Linux下的UDP服务端和客户端
  • Excel小技巧 (2) - 如何去除和增加前导0
  • 【GIS人必看】ArcPy脚本如何导入到ArcToolBox中(上)【建议收藏】
  • AI入门笔记(三)
  • Linux搭建SFTP服务器