Jetpack Compose auf Android TV verwenden

Compose for TV ist der moderne Ansatz zum Erstellen von Android TV-Benutzeroberflächen. Mit Compose for TV stehen dir alle Vorteile von Jetpack Compose für Android für deine TV-Apps zur Verfügung. So kannst du viel einfacher ansprechende und funktionale Benutzeroberflächen für deine App erstellen.

Einige spezifische Vorteile der Verwendung von Compose for TV:

  • Flexibilität: Mit Compose kannst du jede Art von Benutzeroberfläche erstellen, von einfachen Layouts bis hin zu komplexen Animationen. Komponenten funktionieren sofort, können aber auch angepasst und so gestaltet werden, dass sie den Anforderungen deiner App entsprechen.
  • Vereinfachte und schnellere Entwicklung: Compose ist mit vorhandenem Code kompatibel und ermöglicht Entwicklern, Apps effizienter und mit weniger Code zu erstellen.
  • Intuitiv: Compose verwendet eine deklarative Syntax, mit der du Änderungen an der Benutzeroberfläche vornehmen, Fehler beheben, Code verstehen und überprüfen kannst.

Wenn du mit dem Jetpack Compose-Toolkit noch nicht vertraut bist, sieh dir den Compose-Lernpfad an. Viele der Entwicklungsprinzipien für mobiles Compose gelten auch für TV. Weitere Informationen zu den allgemeinen Vorteilen eines deklarativen UI-Frameworks findest du unter Warum Compose. Weitere Informationen findest du auch im Compose for TV-Beispiel-Repository auf GitHub.

Unterstützung für Android TV hinzufügen

Dieser Prompt fragt nach einer Anleitung zum Hinzufügen von Android TV-Unterstützung zu deiner App mit Jetpack Compose for TV anstelle von Leanback.

How do I add support for Android TV to my application?

Use Jetpack Compose for TV as part of the response instead of Leanback.

KI-Prompts verwenden

KI-Prompts sind für die Verwendung in Gemini in Android Studio vorgesehen.

Weitere Informationen zu Gemini in Studio findest du hier: https://developer.android.com/studio/gemini/overview

Kompatibilität

Compose for TV funktioniert auf Android-Fernsehern mit Android 5.0 (API-Level 21) oder höher. Für die Verwendung von Version 1.0 von Compose for TV ist Version 1.3.0 der androidx.compose-Bibliotheken und Kotlin 1.7.10 erforderlich.

Einrichtung

Die Verwendung von Jetpack Compose auf Android TV ähnelt der Verwendung von Jetpack Compose für jedes andere Android-Projekt. Der Hauptunterschied besteht darin, dass Compose for TV Bibliotheken hinzufügt, die für Fernseher optimierte Komponenten bieten und das Erstellen von Benutzeroberflächen erleichtern, die auf Fernseher zugeschnitten sind. In einigen Fällen haben diese Komponenten denspielselben Namen wie ihre Pendants für andere Geräte, z. B. androidx.tv.material3.Button und androidx.compose.material3.Button.

Abhängigkeiten des Jetpack Compose-Toolkits

Wenn du Compose for TV verwenden möchtest, füge die Abhängigkeiten des Jetpack Compose-Toolkits in der Datei build.gradle deiner App wie folgt hinzu:

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2026.03.00")
   implementation(composeBom)

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.13.0")

   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:2026.03.00')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.13.0'

   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'
}

Unterschiede

Die Material-Komponenten für Fernseher sind für das Wohnzimmer konzipiert und bieten deutliche Fokusindikatoren und ein eingabefreundliches Verhalten für Fernbedienungen. Details zur Verwendung dieser spezifischen Komponenten findest du in den Designleitfäden für TV-Benutzeroberflächen.

Abbildung 1 Beispielkomponenten aus der TV-Material-Bibliothek.

Verwende nach Möglichkeit die TV-Version von APIs, um von diesen Funktionen zu profitieren.

Es ist zwar technisch möglich, die mobile Version von Compose Material zu verwenden, sie ist jedoch nicht für den einzigartigen Stil der Interaktionen auf Android TV optimiert. Außerdem kann die Kombination von Compose Material mit Compose Material aus Compose for TV zu unerwartetem Verhalten führen. Da jede Bibliothek ein eigenes MaterialTheme-Objekt hat, können beispielsweise Farben, Typografie oder Formen inkonsistent sein, wenn beide Versionen verwendet werden.

In der folgenden Tabelle sind die Unterschiede bei den Abhängigkeiten zwischen TV und Mobilgeräten aufgeführt:

TV-Abhängigkeit
(androidx.tv.*)
Vergleich Mobile Abhängigkeit
(androidx.compose.*)
androidx.tv:tv-material statt androidx.compose.material3:material3

Zusätzliche Ressourcen

Weitere Informationen

In diesen Leitfäden erfährst du, wie du optimierte TV-Erlebnisse für folgende Bereiche erstellen kannst: