Utiliser Jetpack Compose sur Android TV

Compose pour la TV est l'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, ce qui facilite grandement la création d'interfaces utilisateur attrayantes et fonctionnelles.

Voici quelques avantages spécifiques de l'utilisation de Compose pour la TV :

  • 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çons 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.
  • Intuitivité : 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'interface utilisateur déclaratif, consultez la section Pourquoi choisir Compose. Pour en savoir plus, consultez également l'exemple de dépôt Compose pour la TV sur GitHub.

Découvrez comment ajouter la compatibilité avec Android TV

Cette invite demande des conseils sur l'ajout de la compatibilité avec Android TV à votre application à l'aide de Jetpack Compose pour la 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 des invites d'IA

Les invites d'IA sont destinées à être utilisées dans Gemini dans Android Studio.

Pour en savoir plus sur Gemini dans Studio, consultez https://developer.android.com/studio/gemini/overview.

Compatibilité

Compose pour la 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 la 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 TV ajoute des bibliothèques qui proposent des composants optimisés pour la TV et facilitent la création d'interfaces utilisateur adaptées à la TV. 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 TV, incluez les dépendances du kit d'outils Jetpack Compose dans le fichier build.gradle de votre application comme suit :

Kotlin (build.gradle.kts)

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2026.08.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 (build.gradle)

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2026.08.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'
}

Ce qui change

Les composants Material pour la TV sont conçus pour le salon, avec des indicateurs de mise au point 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 pour la TV.

Figure 1. Exemples de composants de la bibliothèque Material pour la TV.

Utilisez la version TV des API chaque fois que cela est possible pour profiter 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 d'interactions sur Android TV. Par ailleurs, la combinaison de Compose Material et de Compose Material de Compose pour la 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 la TV et le mobile :

Dépendance TV
(androidx.tv.*)
Comparatif Dépendance mobile
(androidx.compose.*)
androidx.tv:tv-material au lieu de androidx.compose.material3:material3

Ressources supplémentaires

  • Guides de conception pour la TV
    Présentation des composants TV dédiés à la création d'interfaces utilisateur avec des liens vers les ressources pour les développeurs pertinentes.

  • Exemple de catalogue Material pour la TV
    Application de catalogue qui montre comment implémenter les principes de Material Design à l'aide de Compose pour la TV.

  • Exemple JetStream
    Application de streaming multimédia qui montre l'utilisation de Compose pour la TV avec une application Material typique et une architecture réelle.

  • Présentation de Compose pour la TV
    Cet atelier de programmation explique comment créer une application de lecteur vidéo avec un écran de navigateur de catalogue et un écran d'informations.

Documentation complémentaire

Consultez ces guides pour découvrir comment créer des expériences optimisées pour la TV :