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 kannst du alle Vorteile von Jetpack Compose für Android für die Entwicklung ansprechender und funktionaler Benutzeroberflächen für Ihre App-Apps. einfacher zu machen.

Die Funktion „Compose for TV“ bietet unter anderem folgende Vorteile:

  • Flexibilität: Compose kann verwendet werden, um jede Art von UI zu erstellen, von einfachen bis hin zu komplexen Animationen. Die Komponenten sind sofort einsatzbereit, können angepasst und an die Anforderungen Ihrer App angepasst werden.
  • Vereinfacht und Beschleunigte Entwicklung: Compose ist kompatibel mit und ermöglicht es Entwicklern, Apps mit weniger Code.
  • Intuitiv: Beim Schreiben wird eine deklarative Syntax verwendet, mit der Sie Änderungen an der Benutzeroberfläche vornehmen, Fehler beheben, Ihren Code verstehen und überprüfen.

Wenn Sie mit der Verwendung des Jetpack Compose-Toolkits nicht vertraut sind, sehen Sie sich die Erstellungspfad: Viele der Entwicklungsprinzipien für das Schreiben von Texten für Mobilgeräte gelten auch für das Fernsehen. Siehe Warum Schreiben, um weitere Informationen zu erhalten Informationen zu den allgemeinen Vorteilen eines deklarativen UI-Frameworks. Weitere Informationen Weitere Informationen finden Sie im Artikel zum Verfassen TV-Beispiel-Repository auf GitHub

Kompatibilität

Die Funktion „Compose for TV“ funktioniert auf Android TV-Geräten mit Android 5.0 (API-Level 21) oder höher. Für die Version 1.0 von Compose for TV ist Version 1.3.0 der androidx.compose-Bibliotheken und Kotlin 1.7.10.

Einrichten

Jetpack Compose funktioniert auf Android TV ähnlich wie Jetpack Compose mit einem anderen Android-Projekt. Der Hauptunterschied ist, dass die Funktion „Compose for TV“ werden Bibliotheken hinzugefügt, die TV-optimierte Komponenten bieten und das Erstellen maßgeschneiderte Benutzeroberflächen für den Fernseher. In einigen Fällen haben diese Komponenten nicht als Fernseher, verwenden, z. B. androidx.tv.material3.Button und androidx.compose.material3.Button

Abhängigkeiten des Jetpack Compose-Toolkits

Füge das Jetpack Compose-Toolkit hinzu, um Compose for TV zu verwenden Abhängigkeiten in der build.gradle-Datei Ihrer Anwendung so an:

Kotlin

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

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.9.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-rc01")
}

Cool

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2024.06.00')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.9.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-rc01'
}

Unterschiede

Die Materialkomponenten des Fernsehers sind auf das Wohnzimmer ausgerichtet und haben guten Fokus. und Fernbedienungen-Eingabeverhalten. Weitere Informationen dazu, wie Informationen zur Verwendung dieser spezifischen Komponenten finden Sie in den TV-UI-Designanleitungen.

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder">
</ph> Abbildung 1: Beispielkomponenten aus der Bibliothek für TV-Material

Verwenden Sie nach Möglichkeit die TV-Version der APIs, um von diese Funktionen.

Es ist zwar technisch möglich, die mobile Version von "Material verfassen" zu verwenden, Es ist nicht für den individuellen Interaktionsstil bei Android TV optimiert. In Durch die Kombination von „Compose Material“ und „Compose Material“ aus der Die Funktion „Fürs Fernsehen“ kann zu unerwartetem Verhalten führen. Beispiel: da jede Bibliothek ein eigenes MaterialTheme-Objekt hat, besteht die Möglichkeit, Farben, Typografie oder Formen uneinheitlich sind, wenn beide Versionen verwendet werden.

In der folgenden Tabelle sind die Unterschiede zwischen TV und TV aufgeführt. Mobilgeräte:

TV-Abhängigkeit
(androidx.tv.*)
Vergleich Abhängigkeit von Mobilgeräten
(androidx.compose.*)
androidx.tv:tv-material anstelle von androidx.compose.material3:material3

Weitere Informationen

  • TV-Design-Leitfäden
    Eine Übersicht über dedizierte TV-Komponenten zum Erstellen von Benutzeroberflächen mit Links zu relevanten Ressourcen für Entwickler.

  • TV Material Catalog-Beispiel
    Eine Kataloganwendung, die zeigt, wie die Material Design bei der Funktion „Compose for TV“.

  • JetStream-Beispiel
    Eine Media-Streaming-App, die die Verwendung von TV Compose mit einem einer typischen Material-App und einer realen Architektur.

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

Weitere Informationen

In diesen Leitfäden erfahren Sie, wie Sie TV-optimierte Inhalte erstellen für: