Compose

使用可组合函数来描述界面形状和数据依赖项,从而以编程方式定义界面。

Compose 由 androidx 中的 7 个 Maven 组 ID 构成。每个组都包含一套特定用途的功能,并各有专属的版本说明。

下表介绍了各个组的内容,点击链接即可查看其版本说明。

说明
compose.animation在 Jetpack Compose 应用中构建动画,丰富用户体验。
compose.compiler借助 Kotlin 编译器插件,转换 @Composable functions(可组合函数)并启用优化功能。
compose.foundation使用现成可用的构建块编写 Jetpack Compose 应用,还可扩展 Foundation 以构建您自己的设计系统元素。
compose.material使用现成可用的 Material Design 组件构建 Jetpack Compose UI。这是更高层级的 Compose 入口点,旨在提供与 www.material.io 上描述的组件一致的组件。
compose.material3使用 Material Design 3(新一代 Material Design)组件构建 Jetpack Compose UI。Material 3 中包括了更新后的主题和组件,以及动态配色等 Material You 个性化功能,旨在与新的 Android 12 视觉风格和系统界面相得益彰。
compose.runtimeCompose 编程模型和状态管理的基本构建块,以及 Compose 编译器插件的目标核心运行时。
compose.ui与设备互动所需的 Compose UI 的基本组件,包括布局、绘图和输入。

版本

下表列出了每个组的当前版本。

Maven 组 ID 最近更新时间 稳定版 候选版 Beta 版 Alpha 版
compose.animation 2024 年 11 月 13 日 1.7.5 - - 1.8.0-alpha06
compose.compiler 2024 年 8 月 7 日 1.5.15 - - -
compose.foundation 2024 年 11 月 13 日 1.7.5 - - 1.8.0-alpha06
compose.material 2024 年 11 月 13 日 1.7.5 - - 1.8.0-alpha06
compose.material3 2024 年 11 月 13 日 1.3.1 - - 1.4.0-alpha04
compose.runtime 2024 年 11 月 13 日 1.7.5 - - 1.8.0-alpha06
compose.ui 2024 年 11 月 13 日 1.7.5 - - 1.8.0-alpha06

声明依赖项

如需添加 Compose 的依赖项,您必须将 Google Maven 制品库添加到项目中。如需了解详情,请参阅 Google 的 Maven 制品库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.15"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

如需详细了解依赖项,请参阅添加 build 依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

BOM

如需了解最新的 BoM 版本,请访问 Compose BoM 映射页面

通告

日期 通知
2023 年 6 月 26 日 从 Compose 1.5.0-beta01 版本开始,Compose aar 位于 `*-android` 工件下。在 1.6.0-alpha01 中,Compose POM 文件已更新为默认指向 `-android` 工件,以便在不支持 Gradle 模块元数据的构建系统中解析依赖项。