Compose

透過可組合函式描述 UI 的形狀和資料依附元件,以程式輔助方式定義 UI。

Compose 是由 androidx 中的 7 個 Maven 群組 ID 所組成。每個群組都包含一個指定功能子集,且各有一組專屬的版本資訊。

下表提供各群組的說明和每組版本資訊的連結。

群組說明
compose.animation在 Jetpack Compose 應用程式中建構動畫,提供豐富的使用者體驗。
compose.compiler透過 Kotlin 編譯器外掛程式轉換 @Composable 函式,並啟用最佳化功能。
compose.foundation透過現成的構成元素編寫 Jetpack Compose 應用程式,然後進一步擴充基礎,建構出自己的設計系統元件。
compose.material運用現成的 Material Design 元件建構 Jetpack Compose UI。這是更高層級的 Compose 進入點,用意是確保提供的元件與 www.material.io 上所述元件相符。
compose.material3運用新一代的 Material Design 3 元件建構 Jetpack Compose UI。Material 3 提供新的主題設定和元件,以及動態色彩等 Material You 個人化功能,可呼應全新的 Android 12 視覺風格和系統 UI。
compose.runtimeCompose 程式設計模型和狀態管理的基本構成元素,以及 Compose Compiler 外掛程式指定的核心執行階段。
compose.ui與裝置互動所需的 Compose UI 基礎元件,包括版面配置、繪圖及輸入。

版本

下表是每個群組的目前版本。

Maven 群組 ID 最新版 穩定版 候選版 Beta 版 Alpha 版
compose.animation 2024 年 4 月 17 日 1.6.6 - - 1.7.0-alpha07
compose.compiler 2024 年 4 月 17 日 1.5.12 - - -
compose.foundation 2024 年 4 月 17 日 1.6.6 - - 1.7.0-alpha07
compose.material 2024 年 4 月 17 日 1.6.6 - - 1.7.0-alpha07
compose.material3 2024 年 4 月 17 日 1.2.1 - - 1.3.0-alpha05
compose.runtime 2024 年 4 月 17 日 1.6.6 - - 1.7.0-alpha07
compose.ui 2024 年 4 月 17 日 1.6.6 - - 1.7.0-alpha07

宣告依附元件

如要新增 Compose 的依附元件,必須將 Google Maven 存放區新增至您的專案。詳情請參閱「Google 的 Maven 存放區」一節。

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.12"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 說明文件

BOM

如需最新的 BOM 版本,請前往 Compose BOM 對應頁面

公告事項

日期 公告
2023 年 6 月 26 日 自 Compose 1.5.0-beta01 版本起,Compose aar 位於「*-android」構件中。在 1.6.0-alpha01 版本中,Compose POM 檔案已更新為預設指向「-android」構件,以便針對不支援 Gradle 模組中繼資料的建構系統提供依附元件解析作業。