Android Jetpack Compose学习—— Jetpack compose入门
Posted yuxiyu!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Jetpack Compose学习—— Jetpack compose入门相关的知识,希望对你有一定的参考价值。
Jetpack compose简介
Jetpack compose是Google推出的用于构建原生android UI的一个工具包,它使用了大量的Kotlin语言特性,其开发方式与Flutter很类似,可以在很大程度上简化Android UI的开发。
目前(2021年5月31日)Jetpack compose的版本为Beta版,还未发布1.0正式版。
需要注意的是:只能使用Kotlin语言来做基于Jetpack compose的开发
Jetpack compose起步
目前(2021年5月31日),要在Android项目中使用Jetpack compose来开发原生UI,必须使用Android Studio Canary版本,在这里可以下载到Canary版本。
要想在Android项目中使用Jetpack compose,需要如下两个步骤(确保已经创建了基于Kotlin的Android工程):
- 在项目根目录下的build.gradle文件中定义compose版本:
buildscript {
ext.kotlin_version = '1.4.31'
ext.compose_version = '1.0.0-beta03'
...
}
- 在module根目录下的build.gradle文件中加入如下配置(注意应用的最低API级别为21):
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'org.jetbrains.kotlin.android' // 1
}
android {
...
defaultConfig {
...
minSdkVersion 21
}
buildFeatures { // 2
compose true
}
composeOptions { // 3
kotlinCompilerVersion kotlin_version
kotlinCompilerExtensionVersion compose_version
}
}
dependencies { // 4 引入Jetpack compose相关依赖库
implementation "androidx.compose.ui:ui:$compose_version"
// Tooling support (Previews, etc.)
implementation "androidx.compose.ui:ui-tooling:$compose_version"
// Foundation (Border, Background, Box, Image, Scroll, shapes, animations, etc.)
implementation "androidx.compose.foundation:foundation:$compose_version"
// Material Design
implementation "androidx.compose.material:material:$compose_version"
// Material design icons
implementation "androidx.compose.material:material-icons-core:$compose_version"
implementation "androidx.compose.material:material-icons-extended:$compose_version"
// Integration with observables
implementation "androidx.compose.runtime:runtime-livedata:$compose_version"
implementation "androidx.compose.runtime:runtime-rxjava2:$compose_version"
// UI Tests
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
implementation "androidx.activity:activity-compose:1.3.0-alpha05"
}
一个最简单的Jetpack compose程序
下面的代码展示了一个最简单的使用Jetpack compose开发的UI界面:
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.material.Text
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Text("hello world")
}
}
}
上面的代码运行在手机上如下图所示:
可以看到Jetpack compose完全抛弃了之前我们使用的XML开发布局的那一套,完全使用Kotlin代码即可开发UI了。
本篇暂时记录到此,后续会继续记录更多关于Jetpack compose的知识点。
以上是关于Android Jetpack Compose学习—— Jetpack compose入门的主要内容,如果未能解决你的问题,请参考以下文章
Android Jetpack Compose学习—— Jetpack compose基础布局
Android Jetpack Compose学习—— Jetpack compose入门
Android Jetpack Compose学习—— Jetpack compose入门
Android Jetpack Compose学习—— 各种控件的用法