要开始使用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.9 | 1.9.22 |
1.5.8 | 1.9.22 |
1.5.7 | 1.9.21 |
1.5.6 | 1.9.21 |
1.5.5 | 1.9.20 |
1.5.4 | 1.9.20 |
1.5.3 | 1.9.10 |
1.5.2 | 1.9.0 |
1.5.1 | 1.9.0 |
1.5.0 | 1.9.0 |
1.4.8 | 1.8.22 |
1.4.7 | 1.8.21 |
1.4.6 | 1.8.20 |
1.4.5 | 1.8.20 |
1.4.4 | 1.8.10 |
1.4.3 | 1.8.10 |
1.4.2 | 1.8.10 |
1.4.1 | 1.8.0 |
1.4.0 | 1.8.0 |