Jetpack Compose auf Android TV verwenden

Compose for TV ist der moderne Ansatz für die Entwicklung von Android TV-Benutzeroberflächen. Mit Compose for TV können Sie alle Vorteile von Jetpack Compose für Android für Ihre TV-Apps nutzen. So wird die Entwicklung ansprechender und funktionaler Benutzeroberflächen für Ihre App erheblich vereinfacht.

Die Verwendung von Compose für TV bietet unter anderem folgende Vorteile:

  • Flexibilität: Mit Compose können Sie beliebige Arten von Benutzeroberflächen erstellen, von einfachen Layouts bis hin zu komplexen Animationen. Komponenten funktionieren sofort, können aber auch angepasst und gestaltet werden, um den Anforderungen Ihrer App zu entsprechen.
  • Vereinfachte und beschleunigte Entwicklung: Compose ist mit vorhandenem Code kompatibel und ermöglicht es Entwicklern, Apps effizienter mit weniger Code zu erstellen.
  • Intuitiv: Compose verwendet eine deklarative Syntax, mit der Sie Änderungen an Ihrer Benutzeroberfläche vornehmen, Fehler beheben, Code nachvollziehen und überprüfen können.

Wenn Sie mit dem Jetpack Compose-Toolkit nicht vertraut sind, sehen Sie sich 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 finden Sie unter Warum Compose?. Weitere Informationen finden Sie auch im Compose for TV-Beispielrepository auf GitHub.

Android TV-Unterstützung hinzufügen

In diesem Prompt wird um Anleitung zum Hinzufügen von Android TV-Unterstützung für Ihre App mit Jetpack Compose for TV anstelle von Leanback gebeten.

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 (neueste Canary-Version erforderlich).

Weitere Informationen zu Gemini in Studio finden Sie unter https://developer.android.com/studio/preview/gemini.

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.

Einrichten

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

Abhängigkeiten des Jetpack Compose-Toolkits

Wenn Sie Compose für TV verwenden möchten, fügen Sie die Jetpack Compose-Toolkit-Abhängigkeiten wie folgt in die Datei build.gradle Ihrer App ein:

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

Unterschiede

Die TV-Materialkomponenten sind für das Wohnzimmer konzipiert und bieten Indikatoren für einen klaren Fokus und eine für die Fernbedienung optimierte Eingabe. Weitere Informationen zur Verwendung dieser Komponenten finden Sie in den Designrichtlinien für die TV-Benutzeroberfläche.

Abbildung 1: Beispielkomponenten aus der TV-Materialbibliothek.

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

Es ist zwar technisch möglich, die mobile Version von Compose Material zu verwenden, sie ist jedoch nicht für den einzigartigen Stil von 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, kann es beispielsweise zu Inkonsistenzen bei Farben, Typografie oder Formen kommen, wenn beide Versionen verwendet werden.

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

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

Zusätzliche Ressourcen

  • TV-Designleitfäden
    Eine Übersicht über spezielle TV-Komponenten zum Erstellen von Benutzeroberflächen mit Links zu relevanten Entwicklerressourcen.

  • Beispiel für einen TV-Materialkatalog
    Eine Katalog-App, die zeigt, wie die Material Design-Grundsätze mit Compose für TV implementiert werden.

  • JetStream-Beispiel
    Eine Media-Streaming-App, die die Verwendung von TV Compose mit einer typischen Material-App und einer Architektur aus der Praxis demonstriert.

  • Einführung in Compose für TV
    In diesem Codelab wird beschrieben, wie Sie eine Videoplayer-App mit einem Bildschirm für den Katalogbrowser und einem Detailbildschirm erstellen.

Weitere Informationen

In diesen Leitfäden erfahren Sie, wie Sie für die folgenden Plattformen optimierte TV-Apps entwickeln: