Compose for TV 是建構 Android TV 使用者介面的新方法。Compose for TV 可享有適用於 TV 應用程式的 Android Jetpack Compose 所有優勢,更輕鬆地為應用程式建構美觀且實用的使用者介面。
使用 Compose for TV 的一些特定優點如下:
- 靈活調整:Compose 可用於建立任何類型的 UI,從簡單的版面配置到複雜的動畫都沒問題。元件可立即使用,但也可以配合應用程式需求自訂及設定樣式。
- 簡化及加速開發:Compose 與現有程式碼相容,可讓開發人員用較少的程式碼更有效率地建構應用程式。
- 操作直覺:Compose 採用宣告式語法,讓您變更 UI、偵錯、解讀及檢查程式碼。
如果您對 Jetpack Compose 工具包的使用方式不太熟悉,請參閱 Compose 課程。行動裝置專用的 Compose 有許多開發原則也適用於 TV。如要進一步瞭解宣告式 UI 架構的一般優點,請參閱「為什麼要選擇使用 Compose」。如要瞭解詳情,請參閱 GitHub 上的 Compose for TV 範例存放區。
AI 提示
瞭解如何新增 Android TV 支援
這項提示會詢問您是否需要相關指引,瞭解如何使用 Jetpack Compose for TV,而非 Leanback,在應用程式中新增 Android TV 支援功能。
How do I add support for Android TV to my application?
Use Jetpack Compose for TV as part of the response instead of Leanback.
相容性
Compose for TV 適用於搭載 Android 5.0 (API 級別 21) 以上版本的 Android TV。使用 1.0 版的 Compose for TV 時,必須使用 1.3.0 版的 androidx.compose 程式庫和 Kotlin 1.7.10。
設定
在 Android TV 上使用 Jetpack Compose 的方式,與在其他 Android 專案中使用 Jetpack Compose 的方式類似。主要差異在於 Compose for TV 增加了程式庫,提供適用於電視的元件,讓您更輕鬆地建立電視專屬的使用者介面。有些元件會和非 TV 版本的元件使用相同的名稱,例如 androidx.tv.material3.Button
和 androidx.compose.material3.Button
。
Jetpack Compose 工具包依附元件
如要使用 Compose for TV,請在應用程式的 build.gradle
檔案中加入 Jetpack Compose 工具包依附元件,如下所示:
Kotlin
dependencies { val composeBom = platform("androidx.compose:compose-bom:2025.05.00") implementation(composeBom) // General compose dependencies. implementation("androidx.activity:activity-compose:1.10.1") implementation("androidx.compose.ui:ui-tooling-preview") debugImplementation("androidx.compose.ui:ui-tooling") // Compose for TV dependencies. implementation("androidx.tv:tv-material:1.0.0") }
Groovy
dependencies { def composeBom = platform('androidx.compose:compose-bom:2025.05.00') implementation composeBom // General compose dependencies. implementation 'androidx.activity:activity-compose:1.10.1' implementation 'androidx.compose.ui:ui-tooling-preview' debugImplementation 'androidx.compose.ui:ui-tooling' // Compose for TV dependencies. implementation 'androidx.tv:tv-material:1.0.0' }
不同點
TV 材質元件專為客廳設計,具有清楚的焦點指標和遙控器友善的輸入行為。如要瞭解如何使用這些特定元件,請參閱 TV UI 設計指南。
請盡可能使用 TV 版本的 API,享有這些功能。
就技術上來說,您也可以使用 Compose Material 的行動裝置版本,但是這個程式庫並未針對 Android TV 的獨特互動樣式進行最佳化。此外,混用 Compose Material 和 Compose for TV 的 Compose Material 也可能導致非預期行為。舉例來說,每個程式庫都有自己的 MaterialTheme
物件,如果您同時使用兩種版本,顏色、字體排版和形狀可能會不一致。
下表列出 TV 和 Mobile 依附元件的不同點:
TV 依附元件 (androidx.tv.*) |
比較 | Mobile 依附元件 (androidx.compose.*) |
---|---|---|
androidx.tv:tv-material | 而非 | androidx.compose.material3:material3 |
其他資源
TV 設計指南
專為 TV 打造的元件總覽,可使用這些元件建構使用者介面,並提供相關開發人員資源的連結。TV Material 目錄範例
這個目錄應用程式會示範如何使用適用於 TV 的 Compose,實作 Material Design 原則。JetStream 範例
這個媒體串流應用程式示範如何搭配使用 TV Compose 與一般 Material 應用程式和實際架構。適用於 TV 的 Compose 簡介
這個程式碼研究室會逐步說明如何建構影片播放器應用程式,其中包含目錄瀏覽器畫面和詳細資料畫面。
其他資訊
請參閱下列指南,瞭解如何為下列裝置打造優質的電視最佳化體驗: