Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Compose pour la télévision est une approche moderne pour créer des interfaces utilisateur Android TV. Compose pour la TV offre tous les avantages de Jetpack Compose d'Android pour vos applications TV. Vous pouvez ainsi créer plus facilement des interfaces utilisateur attrayantes et fonctionnelles pour votre application.
Voici quelques avantages spécifiques de Compose pour la télévision :
Flexibilité : Compose permet de créer n'importe quel type d'UI, qu'il s'agisse de mises en page simples ou d'animations complexes. Les composants sont prêts à l'emploi, mais vous pouvez aussi les personnaliser et les façonner selon les besoins de votre application.
Développement simplifié et accéléré : Compose est compatible avec le code existant et permet aux développeurs de créer des applications plus efficacement avec moins de code.
Intuitif : Compose utilise une syntaxe déclarative qui vous permet de modifier votre UI, de déboguer, de comprendre et d'examiner votre code.
Si vous ne savez pas comment utiliser le kit d'outils Jetpack Compose, consultez le parcours Compose. De nombreux principes de développement concernant Compose pour mobile s'appliquent également à la TV. Pour en savoir plus sur les avantages généraux d'un framework d'UI déclaratif, consultez Pourquoi choisir Compose. Pour en savoir plus, consultez également le dépôt d'exemples Compose pour TV sur GitHub.
auto_awesome Requête d'IA
Découvrez comment ajouter la compatibilité avec Android TV.
Cette requête demande des conseils pour ajouter la prise en charge d'Android TV à votre application à l'aide de Jetpack Compose pour TV au lieu de 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.
Utiliser les requêtes d'IA
Les requêtes d'IA sont destinées à être utilisées dans Gemini dans Android Studio.
Compose pour TV fonctionne sur les téléviseurs Android équipés d'Android 5.0 (niveau d'API 21) ou version ultérieure.
Pour utiliser la version 1.0 de Compose pour TV, vous devez utiliser la version 1.3.0 des bibliothèques androidx.compose et Kotlin 1.7.10.
Configuration
L'utilisation de Jetpack Compose sur Android TV est semblable à celle de Jetpack Compose pour tout autre projet Android. La principale différence est que Compose pour la télévision ajoute des bibliothèques qui proposent des composants optimisés pour la télévision et facilitent la création d'interfaces utilisateur adaptées à la télévision. Dans certains cas, ces composants portent le même nom que leurs homologues non-TV, tels que androidx.tv.material3.Button et androidx.compose.material3.Button.
Dépendances du kit d'outils Jetpack Compose
Pour utiliser Compose pour la télévision, incluez les dépendances du kit d'outils Jetpack Compose dans le fichier build.gradle de votre application, comme suit :
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'}
Ce qui change
Les composants TV Material sont conçus pour le salon, avec des indicateurs de sélection clairs et un comportement d'entrée adapté à la télécommande. Pour savoir comment utiliser ces composants spécifiques, consultez les guides de conception de l'UI TV.
Figure 1. Exemples de composants de la bibliothèque Material TV.
Utilisez la version TV des API chaque fois que possible pour bénéficier de ces fonctionnalités.
Bien qu'il soit techniquement possible d'utiliser la version mobile de Compose Material, elle n'est pas optimisée pour le style unique des interactions sur Android TV. Par ailleurs, la combinaison de Compose Material et de Compose Material de Compose pour TV peut entraîner un comportement inattendu. Par exemple, comme chaque bibliothèque possède son propre objet MaterialTheme, il est possible que les couleurs, la typographie ou les formes soient incohérentes si les deux versions sont utilisées.
Le tableau suivant décrit les différences de dépendance entre TV et Mobile :
Guides de conception pour téléviseur
Présentation des composants TV dédiés pour créer des interfaces utilisateur avec des liens vers les ressources pour les développeurs concernées.
Exemple JetStream
Application de streaming multimédia qui montre comment utiliser TV Compose avec une application Material typique et une architecture réelle.
Présentation de Compose pour TV
Cet atelier de programmation vous guide dans la création d'une application de lecteur vidéo avec un écran de navigateur de catalogue et un écran de détails.
Complément d'informations
Consultez ces guides pour découvrir comment créer des expériences optimisées pour la TV :
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]