Android stuidio 的Empty Activty程序解读入门

2024-06-26 1108阅读

这段代码是一个用Kotlin编写的Android应用程序,利用Jetpack Compose创建一个简单的界面。Jetpack Compose是用于构建Android界面的现代工具包,它使UI开发更加直观和简便。以下是代码的详细解释:

Android stuidio 的Empty Activty程序解读入门
(图片来源网络,侵删)

MainActivity 类

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContent {
            MyApplicationTheme {
                Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
                    Greeting(
                        name = "Android",
                        modifier = Modifier.padding(innerPadding)
                    )
                }
            }
        }
    }
}
  1. MainActivity 继承自 ComponentActivity:这是一个Activity,它是Android应用的基本组件,用于创建和显示界面。
  2. onCreate 方法:该方法在Activity启动时调用。这里面有几个重要的步骤:
    • enableEdgeToEdge():启用沉浸式全屏显示。
    • setContent {}:使用Jetpack Compose设置Activity的内容视图。setContent函数接收一个Composable Lambda,用于定义UI。
    • MyApplicationTheme {}:应用主题,以确保界面的一致性。
    • Scaffold:这是一个Compose布局组件,提供了基础的Material Design布局结构,例如顶部应用栏、底部导航栏等。这里使用了Modifier.fillMaxSize()来使Scaffold占满整个屏幕。
    • Greeting:这是一个自定义的Composable函数,用于显示问候语。Modifier.padding(innerPadding)确保内容不会被系统栏遮挡。

Greeting 组件

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Text(
        text = "Hello $name!",
        modifier = modifier
    )
}
  1. @Composable:这是一个注解,标识这个函数是一个Composable函数,可以用来描述界面。
  2. Greeting 函数:接收一个name参数和一个modifier参数。name用于动态显示问候语,modifier用于修饰和调整Text的布局。
  3. Text:Compose提供的基础UI组件,用于显示文本内容。这里通过text参数设置要显示的文本内容。

GreetingPreview 组件

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    MyApplicationTheme {
        Greeting("Android")
    }
}
  1. @Preview:这是一个注解,用于在Android Studio中预览Composable函数的效果。
  2. GreetingPreview 函数:用于预览Greeting组件的显示效果。MyApplicationTheme {}确保预览时应用主题。调用Greeting("Song")显示预览时的问候语。

总结

这段代码展示了如何使用Jetpack Compose创建一个简单的问候界面,并且通过Scaffold布局确保内容的布局和系统栏的协调。同时,通过预览功能,可以在开发过程中快速看到组件的显示效果。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]