要开始使用Compose,需要先向项目中添加一些 build 配置。

将以下定义添加到应用的build.gradle.kts文件中:

android {buildFeatures {compose = true}composeOptions {kotlinCompilerExtensionVersion = "1.5.9"}}

此外,请将以下部分中您需要的Compose BoM和Compose库依赖项的子集添加到您的依赖项:

dependencies {val composeBom = platform("androidx.compose:compose-bom:2024.02.00")implementation(composeBom)androidTestImplementation(composeBom)// Choose one of the following:// Material Design 3implementation("androidx.compose.material3:material3")// or Material Design 2implementation("androidx.compose.material:material")// or skip Material Design and build directly on top of foundational componentsimplementation("androidx.compose.foundation:foundation")// or only import the main APIs for the underlying toolkit systems,// such as input and measurement/layoutimplementation("androidx.compose.ui:ui")// Android Studio Preview supportimplementation("androidx.compose.ui:ui-tooling-preview")debugImplementation("androidx.compose.ui:ui-tooling")// UI TestsandroidTestImplementation("androidx.compose.ui:ui-test-junit4")debugImplementation("androidx.compose.ui:ui-test-manifest")// Optional - Included automatically by material, only add when you need// the icons but not the material library (e.g. when using Material3 or a// custom design system based on Foundation)implementation("androidx.compose.material:material-icons-core")// Optional - Add full set of material iconsimplementation("androidx.compose.material:material-icons-extended")// Optional - Add window size utilsimplementation("androidx.compose.material3:material3-window-size-class")// Optional - Integration with activitiesimplementation("androidx.activity:activity-compose:1.8.2")// Optional - Integration with ViewModelsimplementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")// Optional - Integration with LiveDataimplementation("androidx.compose.runtime:runtime-livedata")// Optional - Integration with RxJavaimplementation("androidx.compose.runtime:runtime-rxjava2")}

以下是Compose 与 Kotlin 的兼容性对应关系:

Compose Compiler 版本兼容的 Kotlin 版本
1.5.91.9.22
1.5.81.9.22
1.5.71.9.21
1.5.61.9.21
1.5.51.9.20
1.5.41.9.20
1.5.31.9.10
1.5.21.9.0
1.5.11.9.0
1.5.01.9.0
1.4.81.8.22
1.4.71.8.21
1.4.61.8.20
1.4.51.8.20
1.4.41.8.10
1.4.31.8.10
1.4.21.8.10
1.4.11.8.0
1.4.01.8.0