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

Android Studio第一个kotlin项目“Hello Android”

现在的Android Studio默认的kotlin demo和之前一些书上记载的又不一样了。全面使用kotlin+Jetpack Compose方式编写,继Data Binding 后推广,但是少了layout布局,初看一头雾水。这里查阅了一些资料,简单解释一下,备忘。

代码总体分为三段:
MainActivity中onCreate和之前一样。
Greeting方法中包含了text和布局。
GreetingPreview方法用于预览。

// MainActivity 继承自 ComponentActivity,这是 Android 中支持 Compose 的基本 Activity 类
class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)// enableEdgeToEdge() 让应用内容延伸到系统栏(状态栏和导航栏)下面。enableEdgeToEdge()// Compose 的入口点,在这里定义 UI。setContent {// 是一个自定义主题,通常由 Android Studio 的 Compose 模板生成。KotlinDemoTheme {// Scaffold 是一个 Compose 布局,提供基本的 Material Design 布局结构。// modifier = Modifier.fillMaxSize() 使 Scaffold 填满整个可用空间// innerPadding 是 Scaffold 提供的内部 padding,用于考虑系统栏等Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->Greeting(name = "Android",modifier = Modifier.padding(innerPadding))}}}}
}// @Composable 注解表示这是一个 Compose 函数,可以描述 UI。
@Composable
// name: String - 要显示的名称
// modifier: Modifier - 用于调整布局和外观的修饰符,有默认值
fun Greeting(name: String, modifier: Modifier = Modifier) {Text(text = "Hello $name!",modifier = modifier)
}// @Preview 注解表示这是一个预览函数,可以在 Android Studio 的设计工具中查看。
// showBackground = true 表示在预览中显示背景
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {KotlinDemoTheme {// 调用 Greeting("Android") 显示预览内容Greeting("Android")}
}

Android Studio 预览
在这里插入图片描述
实机展示
在这里插入图片描述

参考谷歌:
Jetpack Compose 基础知识

http://www.dtcms.com/a/321283.html

相关文章:

  • 解决Ollama外部服务器无法访问:配置 `OLLAMA_HOST=0.0.0.0` 指南
  • 鲸签云解决互联网行业合同管理难题​
  • 北京-4年功能测试2年空窗-报培训班学测开-第七十一天-面试第二天
  • 内容分发机制研究:实测一款多源短视频聚合App
  • C++中的继承:从基础到复杂
  • 从零构建TransformerP1-了解设计
  • FreeRTOS入门知识(初识RTOS)(一)
  • Nginx 部署前端项目、负载均衡与反向代理
  • Seaborn 学习笔记
  • DigitalProductId解密算法php版
  • 「安全发」ISV对接支付宝+小猎系统
  • Prometheus 通过读取文件中的配置来监控目标
  • [ MySQL 数据库 ] 环境安装配置和使用
  • Rocky Linux 安装 Google Chrome 浏览器
  • (附源码)基于SpringBoot的高校爱心捐助平台的设计与实现
  • USB (Universal Serial Bus,通用串行总线)
  • K次取反后最大化的数组和
  • [案例十] NX二次开发批量替换组件功能(装配环境)
  • 【Open3D】基础操作之三维数据结构的高效组织和管理
  • 【FreeRTOS】任务间通讯3:互斥量- Mutex
  • ctrl+alt+方向键导致屏幕旋转的解决方法
  • 基于双块轻量级神经网络的无人机拍摄的风力涡轮机图像去雾方法
  • No time to train! Training-Free Reference-Based Instance Segmentation之论文阅读
  • 机场风云:AI 云厂商的暗战,广告大战一触即发
  • 【实战】Dify从0到100进阶--中药科普助手(2)
  • 用browse实现菜单功能的方法
  • 快速上手 Ollama:强大的开源语言模型框架
  • Docker的安装使用以及常见的网络问题
  • 数据库恢复技术:保障数据安全的关键
  • DeepSeek辅助编写的带缓存检查的数据库查询缓存系统