Utiliser Jetpack Compose sur Android TV

Compose pour la télévision est l'approche moderne pour créer Android TV et des interfaces utilisateur personnalisées. Compose pour la télévision offre tous les avantages de Jetpack Compose pour Android vos applications TV. Vous pouvez ainsi créer des interfaces utilisateur attrayantes et fonctionnelles pour votre application. plus facile.

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 simples des mises en page aux animations complexes. Les composants sont prêts à l'emploi, mais peuvent également être personnalisé et stylisé pour répondre aux besoins de votre application.
  • Simplifié et Développement accéléré: Compose est compatible avec code existant et permet aux développeurs de créer plus efficacement des applications avec moins de code.
  • Intuitif: Compose utilise une syntaxe déclarative qui vous permet d'effectuer les modifications apportées à l'UI, déboguer, comprendre et examiner votre code.

Si vous ne savez pas comment utiliser le kit d'outils Jetpack Compose, consultez le parcours Compose. Beaucoup des principes de développement de Compose pour mobile s'appliquent également à la télévision. Voir Pourquoi Compose pour en savoir plus des informations générales sur les avantages généraux d'un framework d'interface utilisateur déclaratif. Pour apprendre consultez la section Présentation de l'outil Dépôt d'exemples TV sur GitHub.

Compatibilité

Compose pour la télévision fonctionne sur Android TV avec Android 5.0 (niveau d'API 21) ou version ultérieure. L'utilisation de la version 1.0 de Compose pour la télévision nécessite la version 1.3.0 de 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 tous un 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 TV et facilitent la création et des interfaces utilisateur adaptées au téléviseur. Dans certains cas, ces composants partagent le même que ses homologues autres que TV, par exemple 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 le kit d'outils Jetpack Compose dans le fichier build.gradle de votre application, comme suit:

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")
}

Groovy

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

Ce qui change

Les composants de Material TV sont conçus pour une utilisation dans le salon, avec une mise au point claire des indicateurs lumineux et le comportement de saisie aisé à distance. Pour savoir comment pour utiliser ces composants spécifiques, consultez les guides de conception d'UI TV.

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

Dans la mesure du possible, utilisez la version TV des API pour bénéficier des avantages suivants : ces fonctionnalités.

Bien qu'il soit techniquement possible d'utiliser la version mobile de Compose Material, il n'est pas optimisé pour le style unique d'interactions sur Android TV. Dans en combinant Compose Material et Compose Material Compose pour la télévision peut entraîner un comportement inattendu. Par exemple : Étant donné que chaque bibliothèque possède son propre objet MaterialTheme, il est possible des couleurs, une typographie ou des formes incohérentes si les deux versions sont utilisées.

Le tableau suivant décrit les différences de dépendance entre les séries TV et 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

Complément d'informations

Consultez ces guides pour découvrir comment créer des expériences de qualité optimisées pour la télévision pour: