Compose的gradle配置以及与Kotlin的兼容对应

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

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

Kotlin 复制代码
android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.9"
    }
}

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

Kotlin 复制代码
dependencies {

    val composeBom = platform("androidx.compose:compose-bom:2024.02.00")
    implementation(composeBom)
    androidTestImplementation(composeBom)

    // Choose one of the following:
    // Material Design 3
    implementation("androidx.compose.material3:material3")
    // or Material Design 2
    implementation("androidx.compose.material:material")
    // or skip Material Design and build directly on top of foundational components
    implementation("androidx.compose.foundation:foundation")
    // or only import the main APIs for the underlying toolkit systems,
    // such as input and measurement/layout
    implementation("androidx.compose.ui:ui")

    // Android Studio Preview support
    implementation("androidx.compose.ui:ui-tooling-preview")
    debugImplementation("androidx.compose.ui:ui-tooling")

    // UI Tests
    androidTestImplementation("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 icons
    implementation("androidx.compose.material:material-icons-extended")
    // Optional - Add window size utils
    implementation("androidx.compose.material3:material3-window-size-class")

    // Optional - Integration with activities
    implementation("androidx.activity:activity-compose:1.8.2")
    // Optional - Integration with ViewModels
    implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
    // Optional - Integration with LiveData
    implementation("androidx.compose.runtime:runtime-livedata")
    // Optional - Integration with RxJava
    implementation("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 |

相关推荐
prettyxian15 小时前
【QT】信号与槽基础:手动连接的原理与实践
开发语言·qt
·云扬·15 小时前
【实操教程】Excel文件转CSV并导入MySQL的完整步骤
android·mysql·excel
触想工业平板电脑一体机15 小时前
【触想智能】工业触控一体机在船舶海运设备上应用的特点和具体场景分析
android·网络·计算机外设·电脑·智能电视
傻乐u兔15 小时前
C语言初阶————结构体
c语言·开发语言
weixin_4450547215 小时前
力扣热题52
开发语言·python
逑之15 小时前
C语言笔记2:C语言数据类型和变量
c语言·开发语言·笔记
Change_JW15 小时前
reserved mem addr & size
android
何中应16 小时前
@Autowrited和@Resource注解的区别及使用场景
java·开发语言·spring boot·后端·spring
汤面不加鱼丸16 小时前
android实践:生成.9.png图片
android
源代码•宸16 小时前
Golang语法进阶(Context)
开发语言·后端·算法·golang·context·withvalue·withcancel