1.MainActivity.kt 的注释与理解 (Jetpack Compose)
·
package com.example.myapplication
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
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
//定义一个名为 MainActivity 的类,并继承 ComponentActivity 类。
//ComponentActivity是Android提供的一种向下兼容的Activity,可以使Activity在不同系统版本中的功能保持一致性
//Activity是Android系统提供的一个基类,所有自定义的Activity必须继承它或者它的子类才拥有Activity的特性
//AppCompatActivity是Activity的子类
class MainActivity : ComponentActivity() {
/*
onCreate 方法是 Activity 的生命周期方法之一
它是应用启动时第一个被调用的方法,用来进行初始化工作,比如设置内容视图、初始化变量、设置点击事件等。
*/
//savedInstanceState: Bundle?这是onCreate方法的一个参数,用于在Activity被重新创建时传递之前保存的状态数据。
//Bundle对象是Android中用来在不同组件(如Activity、Fragment、Service等)之间传递数据的一种机制。
/*
重写onCreat方法,为什么要先调用父类的方法?
这是因为父类的onCreate方法包含了Activity初始化的基本逻辑和设置
如果不调用它,可能会导致Activity的某些功能无法正常工作
*/
override fun onCreate(savedInstanceState: Bundle?) {
//父类的onCreate方法会处理传入的savedInstanceState参数,用于恢复Activity之前保存的状态
// 如果不调用父类的方法,可能会导致恢复状态的逻辑无法执行,从而丢失数据。
super.onCreate(savedInstanceState)
/*
enableEdgeToEdge() 是 Android 中的一种 API 方法
用于启用边缘到边缘(Edge-to-Edge)的布局
它允许应用内容扩展到屏幕的整个显示区域,包括状态栏和导航栏
这种布局模式可以用来创建更加沉浸式的用户体验。
*/
enableEdgeToEdge()
//setContent {}:这个函数用来设置Compose的UI内容。
//setContent 是一个扩展函数,用于在 ComponentActivity 中设置 Compose 布局。它取代了传统的 setContentView 方法。
setContent {
//MyApplicationTheme {}:应用的主题。
//(MyApplicationTheme 是一个自定义的 Composable 函数,用于设置应用的主题。)
MyApplicationTheme {
//Scaffold {}:一个用于实现基础布局结构的容器。
//Scaffold 是一个 Compose 布局组件,提供了应用的基础布局结构,如顶部栏、底部栏、浮动按钮等。
//modifier = Modifier.fillMaxSize():设置Scaffold填满整个屏幕。
//innerPadding:Scaffold的内边距。
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}
//Greeting是一个Composable函数,用于显示一段文本。
//@Composable:注解表示这是一个Composable函数。
//Modifier 是 Compose 中一个强大的工具,用于描述和组合 UI 元素的修饰符
// 例如,可以使用 Modifier 设置元素的大小、填充、边距、对齐方式等。
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
//Text:一个用于显示文本的Compose组件。
Text(
text = "Hello $name!",
modifier = modifier
)
}
//@Preview:注解用于在Android Studio中预览Compose的UI。
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
MyApplicationTheme {
Greeting("Android")
}
}
更多推荐

所有评论(0)