android studio示例程序MainActivity代码阅读

下面这段代码是用Kotlin语言编写的,适用于Android平台,并且使用了Jetpack Compose框架。

Jetpack Compose是一个现代的Android UI开发工具包,它可以简化和加速UI开发。

Compose在音乐领域是作曲的意思,代表是创作活动,作为UI工具包的名字,很贴切。

包声明和导入

package com.example.myapplication

import 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.Preview

import com.example.myapplication.ui.theme.MyApplicationTheme

这部分声明了代码所属的包名称com.example.myapplication,并且导入了所需的类和函数。

这包括Android的Bundle,Compose的ComponentActivity和UI组件,例如TextSurface以及一些修饰符(Modifier)。

MainActivity类

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            MyApplicationTheme {
                // A surface container using the 'background' color from the theme
                Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background) {
                    Greeting("Android")
                }
            }
        }
    }
}

MainActivity类继承自ComponentActivity

在这里,onCreate方法被重写,它是Android应用程序生命周期中的一个关键点,用于初始化Activity。

  • setContent是Compose中的一个核心函数,用于将Composable内容设置为Activity的UI内容。
  • MyApplicationTheme应用了定义在应用的主题文件中的样式和颜色。
  • Surface用于创建一个有颜色背景的容器,此处使用了主题中background的颜色。
  • Modifier.fillMaxSize()使得Surface充满整个屏幕。
  • 在这个Surface内部,调用了Greeting函数,并传递了一个字符串"Android"。

@Composable Greeting函数

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Text(
        text = "Hello $name!",
        modifier = modifier
    )
}
  • @Composable注解表明这是一个可组合函数,可以被Compose工具用于声明UI元素
  • Greeting函数接收一个字符串name和一个Modifier(默认为空),用于显示文本。
  • Text是一个Compose UI组件,用于在屏幕上显示文本。此处显示的文字是"Hello "和name变量的组合。

预览函数GreetingPreview

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    MyApplicationTheme {
        Greeting("Android")
    }
}
  • @Preview注解使这个可组合函数能够在Android Studio的预览窗口中渲染,这有助于开发者在不运行应用程序的情况下查看UI元素的样式。
  • showBackground = true表明在预览中应当显示背景
  • 这个预览函数调用Greeting并且通过MyApplicationTheme主题应用到预览中。

在这段代码中,Greeting函数定义了一个简单的UI组件,它可以复用来显示不同的名字。

当这个应用程序运行时,屏幕上将显示带有"Hello Android!"文字的主题背景。

在Studio的设计视图中,你还可以看到这段文字的预览。

MainActivity类调用Greeting函数

GreetingPreview也是调用Greeting函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值