晓我课堂

Jetpack Compose技术快速上手

2021-12-30  本文已影响0人  海_3efc

一、什么是Compose?

Jetpack Compose 是Google新推出的用于构建原生 Android 界面的新工具包。它可简化并加快 Android 上的界面开发,使用更少的代码、强大的工具和直观的Kotlin API,快速让应用生动而精彩。

二、Compose的优势

@Composable
fun Conversation(messages:List<Message>){
    LazyColumn {
        items(messages){ message->
            MessageCard(message)
        }
    }
}

三、开发环境准备

IDE版本:Android Studio Arctic Fox
语言:Kotlin

创建支持Jetpack Compose的新应用

打开Android Studio,依次执行File > New > New Project,在弹出的New Project弹窗中选择Empty Compose Activity,然后点击Next,设置对应Name、PackageName、和保存位置等信息,直接点击【Finish】即可完成Compose工程创建。

选择Empty Compose Activity界面

注:
1.仅支持Kotlin。
2.工程创建后会自动引入Compose相关基础库,如需其他工具包可在项目的Build.gradle配置。

四、Compose可组合函数和预览

新的Compose工程创建好后,在体验Compose开发前我们先来了解两个非常关键的注解。

★ 可组合函数
Jetpack Compose 是围绕可组合函数构建的。这些函数可让您以程序化方式定义应用的界面,只需描述应用界面的外观并提供数据依赖项,而不必关注界面的构建过程(初始化元素,将其附加到父项等)。如需创建可组合函数,只需将 @Composable 注解添加到函数名称中即可。

@Composable
fun MessageCard(name: String) {
    Text(text = "Hello $name!")
}

★ 预览函数
Android Studio允许在IDE中预览可组合函数,无需将应用安装到设备上。使用到的关键注解@Preview

@Preview
@Composable
fun DefaultPreview() {
    MessageCard("Android")
}
使用 Android Studio 预览可组合函数

五、布局

界面元素采用多层次布局,元素中包含其他元素。Compose中通过一个可组合函数调用其他可组合函数来构建界面。

@Composable
fun MessageCard(msg: Message) {
    Text(text = msg.author)
}
@Composable
fun MessageCard(message:Message) {
    //行
    Row {
        //添加一个图片元素
        Image(
            //填充内容
            painter = painterResource(id = R.mipmap.ic_girl),
            contentDescription = "logo",
        )
        //列
        Column{
            Text(text = message.author)
            Text(text = message.body)
        }
    }
}
效果图
//添加一个图片
Image(
     //填充内容
     painter = painterResource(id = R.mipmap.ic_girl),
     contentDescription = "logo",
     //尺寸及形状
     modifier= Modifier
           .padding(top = 2.dp)
           .size(40.dp)                 //图像尺寸
           .clip(CircleShape)       //裁剪形状
    )
采用修饰符后的效果图

六、使用Material Design

Compose的许多界面元素都支持Material Design。
创建的项目中会生成默认主题,支持自定义MaterialTheme。

同时预览白天模式和夜间模式效果图

七、列表和动画

在实际应用中列表和动画非常常见,这里以简单学习如何利用Compose轻松创建列表和添加动画效果。

最后附上源码地址

上一篇下一篇

猜你喜欢

热点阅读