Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Compose for TV ist der moderne Ansatz zum Erstellen 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 jede Art von Benutzeroberfläche erstellen, von einfachen Layouts bis hin zu komplexen Animationen. Komponenten funktionieren sofort, können aber auch angepasst und formatiert 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-Beispiel-Repository auf GitHub.
auto_awesome KI‑Prompt
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.
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{valcomposeBom=platform("androidx.compose:compose-bom:2025.08.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{defcomposeBom=platform('androidx.compose:compose-bom:2025.08.00')implementationcomposeBom// 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:
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 Schritt für Schritt eine Videoplayer-App mit einem Katalogbrowser- und einem Detailbildschirm erstellt.
Weitere Informationen
In diesen Leitfäden erfahren Sie, wie Sie für die folgenden Plattformen optimierte TV-Apps entwickeln:
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-08-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-27 (UTC)."],[],[],null,["Compose for TV is the modern approach for building Android TV\nuser interfaces. Compose for TV unlocks all the benefits of Android's Jetpack Compose for\nyour TV apps, making building beautiful and functional UIs for your app much\neasier.\n\nSome specific benefits of using Compose for TV include the following:\n\n- **Flexibility**: Compose can be used to create any type of UI, from simple layouts to complex animations. Components work out of the box but can also be customized and styled to fit your app's needs.\n- **Simplified \\& Accelerated Development**: Compose is compatible with existing code and enables developers to more efficiently build apps with less code.\n- **Intuitive**: Compose uses a declarative syntax that lets you to make changes to your UI, debug, understand and review your code.\n\nIf you are unfamiliar with using the Jetpack Compose toolkit, check out the\n[Compose pathway](/courses/pathways/compose). Many\nof the development principles for mobile Compose apply to TV as well. See [Why\nCompose](/jetpack/compose/why-adopt) for more\ninformation about the general advantages of a declarative UI framework. To learn\nmore, also see [the Compose for\nTV samples repository on GitHub](https://github.com/android/tv-samples/).\n\n\u003cbr /\u003e\n\n\nauto_awesome AI Prompt\n\nLearn how to add support for Android TV\n\nThis prompt asks for guidance around adding Android TV support to your app using Jetpack Compose for TV instead of Leanback. \n\n How do I add support for Android TV to my application?\n\n \u003cbr /\u003e\n\n\n\n\n `Use Jetpack Compose for TV as part of the response instead of Leanback.`\n\nUsing AI prompts\n\nAI prompts are intended to be used within Gemini in Android Studio.\n\nLearn more about Gemini in Studio here: [https://developer.android.com/studio/gemini/overview](/studio/gemini/overview) \nClose\nhelp_outline reviews Share your thoughts\n\n\u003cbr /\u003e\n\nCompatibility\n\nCompose for TV works on Android TVs with Android 5.0 (API level 21) or higher.\nUsing version 1.0 of Compose for TV requires version 1.3.0 of\n[androidx.compose](/jetpack/androidx/releases/compose) libraries\nand Kotlin 1.7.10.\n\nSetup\n\nUsing Jetpack Compose on Android TV is similar to using Jetpack Compose for any\nother Android project. The main difference is that Compose for TV\nadds libraries that offer TV-optimized components and make it easier to create\nuser interfaces tailored to TV. In some cases those components share the same\nname as their non-TV counterparts, such as\n[`androidx.tv.material3.Button`](/reference/kotlin/androidx/tv/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.compose.ui.unit.Dp,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1))\nand\n[`androidx.compose.material3.Button`](/reference/kotlin/androidx/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)).\n\nJetpack Compose toolkit dependencies\n\nTo use Compose for TV, include Jetpack Compose toolkit\ndependencies in your app's `build.gradle` file as follows: \n\nKotlin \n\n```kotlin\ndependencies {\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation(composeBom)\n\n // General compose dependencies.\n implementation(\"androidx.activity:activity-compose:1.10.1\")\n\n implementation(\"androidx.compose.ui:ui-tooling-preview\")\n debugImplementation(\"androidx.compose.ui:ui-tooling\")\n\n // Compose for TV dependencies.\n implementation(\"androidx.tv:tv-material:1.0.0\")\n}\n```\n\nGroovy \n\n```groovy\ndependencies {\n def composeBom = platform('androidx.compose:compose-bom:2025.08.00')\n implementation composeBom\n\n // General compose dependencies.\n implementation 'androidx.activity:activity-compose:1.10.1'\n\n implementation 'androidx.compose.ui:ui-tooling-preview'\n debugImplementation 'androidx.compose.ui:ui-tooling'\n\n // Compose for TV dependencies.\n implementation 'androidx.tv:tv-material:1.0.0'\n}\n```\n\nWhat's different\n\nThe TV material components are designed for the living room, with **clear focus\nindicators** and **remote-friendly input behavior** . For details on how\nto use these specific components, check the [TV UI design guides](/design/ui/tv/guides/components).\n**Figure 1.** Sample components from the TV material library.\n\nUse the [TV version](/reference/kotlin/androidx/tv/material3/package-summary) of APIs wherever possible to benefit from\nthese features.\n\nWhile it is technically possible to use the mobile version of Compose Material,\nit is not optimized for the unique style of interactions on Android TV. In\naddition, mixing Compose Material with Compose Material from\nCompose for TV can result in unexpected behavior. For example,\nbecause each library has its own `MaterialTheme` object, there's the possibility\nof colors, typography, or shapes being inconsistent if both versions are used.\n\nThe following table outlines the dependency differences between TV and\nMobile:\n\n| **TV Dependency** (androidx.tv.\\*) | **Comparison** | **Mobile Dependency** (androidx.compose.\\*) |\n|------------------------------------------------------------------------------------|------------------|---------------------------------------------|\n| [androidx.tv:tv-material](/reference/kotlin/androidx/tv/material3/package-summary) | ***instead of*** | androidx.compose.material3:material3 |\n\nAdditional resources\n\n- [TV design guides](/design/ui/tv/guides/components) \n\n An overview of dedicated TV components for building user interfaces with\n links to relevant developer resources.\n\n- [TV Material Catalog sample](https://github.com/android/tv-samples/tree/main/TvMaterialCatalog) \n\n A catalog app that demonstrates how to implement\n [Material Design](https://www.material.io) principles using Compose for TV.\n\n- [JetStream sample](https://github.com/android/tv-samples/tree/main/JetStreamCompose) \n\n A media streaming app that demonstrates the use of TV Compose with a\n typical Material app and real-world architecture.\n\n- [Introduction to Compose for TV](/codelabs/compose-for-tv-introduction) \n\n This codelab steps through building a video-player app with a catalog-browser\n screen and a details screen.\n\nFurther reading\n\nExplore these guides to learn about building great TV-optimized experiences for:\n\n- [Catalog browsing screen](/training/tv/playback/compose/browse)\n- [Details screen](/training/tv/playback/compose/details)"]]