tv
androidx.tv.foundation
androidx.tv.foundation.lazy.grid
androidx.tv.foundation.lazy.list
androidx.tv.material3
| Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| 16 juillet 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Déclarer des dépendances
Pour ajouter des dépendances sur tv-foundation et tv-material, vous devez ajouter le dépôt Google Maven à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Aucune note de version pour cet artefact.
Tv-Material version 1.1
Version 1.1.0-alpha01
15 janvier 2025
Publication d'androidx.tv:tv-material:1.1.0-alpha01. La version 1.1.0-alpha01 contient ces commits.
Modifications apportées à l'API
- Remplacement de
FocusEnterExitScope.cancelFocus()parcancelFocusChange(). (I89959) FocusProperties.enteretFocusProperties.exitont été remplacés respectivement paronEnteretonExit, à l'aide d'un champ d'application du récepteur au lieu du paramètreFocusDirection. (I6e667)
Correction de bugs
- Déplacement de
CompositingStrategy.OffScreende Surface à Texte pour corriger le texte saccadé lors de la mise à l'échelle. (I92b15f17) - Correction de la gestion du focus dans le carrousel (Ie508b721375)
- La surface (non interactive) a une implémentation simplifiée par rapport aux surfaces interactives. (I7ea545150)
Tv-Material version 1.0
Version 1.0.1
16 juillet 2025
Publication d'androidx.tv:tv-material:1.0.1. La version 1.0.1 contient ces commits.
Correction de bugs
- La hauteur de
NavigationDrawerItema été modifiée pour correspondre aux spécifications. (cf9a3ce) - La configuration de la stratégie de composition a été déplacée du composable Surface vers le composable Text. Correction du bug qui empêchait Exoplayer de s'afficher sur les composables Surface sur les versions antérieures de l'API Android. (9858ffb)
Version 1.0.0
21 août 2024
Publication d'androidx.tv:tv-material:1.0.0. La version 1.0.0 est la première version stable de androidx.tv:tv-material.
Version 1.0.0-rc02
7 août 2024
Publication d'androidx.tv:tv-material:1.0.0-rc02. La version 1.0.0-rc02 contient ces commits.
Correction de bugs
- Correction de l'animation de texte saccadée dans le composable Surface. (3163319)
Version 1.0.0-rc01
10 juillet 2024
Publication d'androidx.tv:tv-material:1.0.0-rc01. La version 1.0.0-rc01 contient ces commits.
Version 1.0.0-beta01
1er mai 2024
Publication d'androidx.tv:tv-material:1.0.0-beta01. La version 1.0.0-beta01 contient ces commits.
Modifications apportées à l'API
ColorSchemeet ses fonctions utilitaires sont désormais stables. (If34fa)LocalContentColorest désormais stable (I60ee2).- L'API
Typographyest désormais stable (I088d6). - Les API Shapes sont désormais stables (I0f5f4).
- L'API Border est désormais stable (I69281).
- L'API Glow est désormais stable (Iea5f1).
- Le composant Icône est désormais stable (I62c2d)
- L'API
LocalTextStylesest désormais stable (Iaded8). - L'API
MaterialThemeest désormais stable (I2f541). - Le composant de texte est désormais stable (Ib9e31)
- Le composant
RadioButtonest désormais stable (Ia03c8). - Le composant Switch est désormais stable (I6cea3).
- Les composants
Checkboxsont désormais stables (I7eafc). - Les composants Surface sont désormais stables (I58758, I04aca).
- Changement de nom :
NonInteractiveSurfaceDefaultsdevientSurfaceDefaultsetNonInteractiveSurfaceColorsdevientSurfaceColors(I0812e) - Selectable Surface utilise désormais le terme "sélectionner" au lieu de "cocher", car ils ont des significations sémantiques différentes (I5a206).
NavigationDraweretNavigationDrawerScopesont désormais stables (I249c1).- Le composant
NavigationDrawerItemest désormais stable (Id6986) - Les composants d'onglet et
TabRowsont désormais stables (I92d92). - Les composants
Button,OutlinedButton,IconButton,OutlinedIconButtonetWideButtonsont désormais stables (Ib4de8). - Les composants
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContaineretWideCardContainersont désormais stables (I34390). - Changement de nom :
StandardCardLayoutdevientStandardCardContaineretWideCardLayoutdevientWideCardContainer(I08883) - Suppression de
CardContainerDefaults.ImageCardet renommage deCardDefaults.ContainerGradientenCardDefaults.ScrimBrush(I6adfe). Vous pouvez utiliserCardà la place deCardContainerDefaults.ImageCarddans vos conteneurs de cartes. ListItemetDenseListItemsont désormais stables (Idebd9).ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBorderetListItemDefaults.SelectedContainerColorOpacitysont désormais privés (I5d533)- Réorganisation des paramètres de
ListItemet renommage deListItemDefaults.ListItemElevationenListItemDefaults.TonalElevation(Id6841). Le paramètreheadlineContenta été déplacé en haut du composable. Auparavant, vous pouviez utiliser la syntaxe lambda de fin de Kotlin pour transmettre leheadlineContent. Vous devrez maintenant utiliser la syntaxe des paramètres nommés pour fournir leheadlineContent. LocalAbsoluteTonalElevationest désormais interne (Ibfc65)- Le composant
ImmersiveLista été supprimé. Consultez cet exemple pour découvrir comment le créer vous-même. (Id48da) - Les composants tv-material exposant un
MutableInteractionSourcedans leur API ont été mis à jour pour exposer désormais unMutableInteractionSourcepouvant être nul et dont la valeur par défaut est nulle. Il n'y a pas de changement sémantique ici : transmettre une valeur nulle signifie que vous ne souhaitez pas hisser leMutableInteractionSource, et il sera créé à l'intérieur du composant si nécessaire. Le passage à la valeur nulle permet à certains composants de ne jamais allouer deMutableInteractionSourceet à d'autres de ne créer une instance que lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas leMutableInteractionSourceque vous transmettez à ces composants, nous vous recommandons de transmettre plutôt la valeur "null". Nous vous recommandons également d'apporter des modifications similaires à vos propres composants. (I309b4, b/298048146) - Le paramètre
TextAligndu composant TV Text n'est plus nul. (Ib73b1, b/299490814) - Introduction d'une valeur "Unspecified" spéciale pour les champs
TextAlign,TextDirection,HyphensetLineBreakdeParagraphTextStyleafin de remplacer (I4197e, b/299490814)
Modifications de comportement
- La valeur par défaut du paramètre
shapepour lesSurfacenon interactifs a été remplacée parRectangleShape(I1b859cb). - Certaines fonctionnalités du carrousel ont été supprimées pour le lancement de la version bêta, car les API nécessaires sont expérimentales (I0e755d4).
- La modification de
contentColordansSurfacen'anime plus les transitions entre les états (I436e794f).
Version 1.0.0
Version 1.0.0-alpha12
15 janvier 2025
Publication d'androidx.tv:tv-foundation:1.0.0-alpha12. La version 1.0.0-alpha12 contient ces commits.
Modifications apportées à l'API
- Nettoyage des mises en page différées de tv-foundation. Consultez les notes de version 1.0.0-alpha11 pour migrer depuis les mises en page différées tv-foundation. (I2fdd3, b/358913893)
Version 1.0.0-alpha11
10 juillet 2024
Publication d'androidx.tv:tv-foundation:1.0.0-alpha11. La version 1.0.0-alpha11 contient ces commits.
Modifications apportées à l'API
- Les mises en page Lazy TV ont été abandonnées dans la bibliothèque tv-foundation. Consultez ce ticket pour découvrir comment migrer depuis les mises en page différées pour téléviseur. (I0855f, b/332674072)
PlatformImeOptionsest désormais une classe concrète au lieu d'une interface. (If40a4)
Version 1.0.0-alpha10
4 octobre 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha10 et d'androidx.tv:tv-material:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10
Nouvelles fonctionnalités
- Ajout de
NavigationDrawerItemà utiliser dansNavigationDraweretModalNavigationDrawer. (I4b491) - Ajout d'un profil de référence à la bibliothèque tv-foundation. (2b57fd7)
- Ajout d'un profil de référence à la bibliothèque tv-material. (1711ff5)
Modifications apportées à l'API
- Changement de nom :
NavigationDrawerScope.doesTabRowHaveFocusdevientNavigationDrawerScope.hasFocus. (I8286b) - Changement de nom :
TabRowScope.isActivateddevientTabRowScope.hasFocus. (Ic4273)
Correction de bugs
- Corrige la compatibilité du carrousel avec les éléments adjacents qui utilisent les API de restauration de la sélection. (7b2a7a4)
- Désactive l'indication de lueur pour API_LEVEL inférieur à 28, car elle n'est pas prise en charge par l'OS. (6d3616f)
- Correction d'un plantage ANR causé par un placement incorrect des éléments dans les conteneurs lazy lors d'un défilement rapide en sens inverse. (642d65c)
- Suppression de la marge intérieure de l'arrière-plan dans le panneau de navigation modal. (69965b2)
- Corrigez le voile dans le panneau de navigation pour qu'il soit dessiné au-dessus du contenu d'arrière-plan au lieu d'être derrière. (d4bbefb)
Version 1.0.0-alpha09
6 septembre 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha09 et d'androidx.tv:tv-material:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09
Modifications apportées à l'API
- Ajout de l'interface
ReusableCompositionpour gérer le cycle de vie et la réutilisation des sous-compositions. (I812d1, b/252846775) - Synchronisation de la duplication tv-foundation avec compose-foundation. (I737c3, b/287011882)
- Ajout de la surcharge
LazyLayout, qui accepte un lambda deLazyLayoutItemProvider, qui n'est plus un objet brut comme auparavant. La surcharge précédente est obsolète. (I42a5a) - Ajout de
TvKeyboardAlignmentpour permettre au développeur de configurer la position du clavier via lesAndroidImeOptions. (Idb772) - Ajout de
rememberCarouselStatepour enregistrerCarouselStateavecSaversur TV Compose Material. (Id7275) - Remplacement du paramètre
scrimColor: Colorpar le paramètrescrimBrush:Brushpour permettre aux utilisateurs d'ajouter des dégradés sur le fond. (I254d4)
Version 1.0.0-alpha08
26 juillet 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha08 et d'androidx.tv:tv-material:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08
Nouvelles fonctionnalités
- Introductions des composants Chip à Compose pour TV Material. (I86da4)
- Ajout du composant
ListItemà TV Compose Material. (I3f0b3) - Ajout du composant
DenseListItemà TV Compose Material. (I536bf)
Modifications apportées à l'API
- Les API tv-material publiques sont marquées comme étant au stade expérimental. (I632e7)
- Introduction de
TabRowScopepour partager l'état du composableTabRowavec le composable "Tab" et renommage des propriétésTabColors. (Ief587)
Version 1.0.0-alpha07
7 juin 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha07 et d'androidx.tv:tv-material:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07
Modifications apportées à l'API
- Les indications d'échelle des composants comprennent désormais la mention "Aucun" pour désactiver la mise à l'échelle. (I50df5)
- Ajout de la prise en charge du clic long pour les surfaces, cartes et boutons TV Material (Id2b89)
- Suppression de
CarouselItemetCarouselScope. L'animation du contenu en premier plan peut être réalisée dans la diapositive en utilisantModifier.animateEnterExitdepuisAnimatedContentScope. (Ic038e) - Fusion des paramètres
coloretcontentColoren un paramètrecolorspour les surfaces TV Material. (Ie69eb) - Introduction du composable
RadioButtondans TV Material. (I08690) - Introduction du composable
Switchdans TV Material. (I45e29) - Introduction du composable
Checkboxdans TV Material. (I6a45a) - Introduction des surfaces non interactives à TV Material. (Ic5f85)
- Les indications sont à présent internes. (Ibff82)
Version 1.0.0-alpha06
19 avril 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha06 et d'androidx.tv:tv-material:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06
Nouvelles fonctionnalités
- Ajout des implémentations de cartes Material 3 optimisées pour les téléviseurs.
- Ajout des implémentations de boutons Material 3 optimisées pour les téléviseurs.
Modifications apportées à l'API
- Remplacement du nom de
CarouselSlideetslideCountdansCarouselparCarouselItemetitemCount. (Ie554c) - Remplacement du nom de
forwardetbackwardContentTransformsparStartToEndetEndToStart. (Ie554c)
Correction de bugs
- Prise en charge du bouton "Retour" pour
NavigationDrawer. (d654f4)
Version 1.0.0-alpha05
22 mars 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha05 et d'androidx.tv:tv-material:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05
Modifications apportées à l'API
- Introduction du composable "Side Navigation Drawer" à
tv-material. Pour apprendre à utiliser ce composable, veuillez consulter les exemples. (I12c08) - Introduction du composable "Icon" à TV Material 3 (I72db9)
- Introduction du composable "Surface" à
tv-materialavec des indications telles que "Border", "Glow" et "Scale" qui peuvent être utilisées pour créer des composants qui mettent en évidence l'élément souhaité sur l'écran de télévision. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Mise à jour de
CarouselItemversCarouselSlidepour correspondre au nom du paramètreslideCountdans l'API "Carousel" (Ic4299)
Version 1.0.0-alpha04
8 février 2023
Publication d'androidx.tv:tv-foundation:1.0.0-alpha04 et d'androidx.tv:tv-material:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04
Nouvelles fonctionnalités
- Dans les lignes, les colonnes et les grilles inactives, le tableau croisé dynamique est remplacé, si nécessaire, pour que l'intégralité de l'élément soit affichée. (11d7e40)
- Ajout de la personnalisation de la couleur des onglets selon les états. (21b2925)
- Le carrousel accepte désormais les animations personnalisées pour le défilement manuel avant et arrière. (431494a)
Modifications apportées à l'API
androidx.tv.materialest renomméandroidx.tv.material3, et la structure de package a été aplatie sousandroidx.tv.material3. (I6ca52)- L'indicateur situé dans la ligne de l'indicateur de carrousel est désormais un emplacement que le développeur peut personnaliser. (268af2a)
- Changement de nom :
focusableItemdevientimmersiveListItem. Les utilisateurs devront ajouter manuellement le modificateurfocusable()ouclickable()avecimmersiveListItem. (5dd5078)(b/263061052) - Remplacement du nom
timeToDisplayMillisparautoScrollDurationMillisdans le composant Carousel. (431494a) - L'utilisation de
CarouselItemest désormais limitée auxCarousel. (431494a) - Le carrousel accepte désormais
ContentTransformscomme définition d'animation au lieu d'EnterTransitionetExitTransitions. (431494a) - Introduction de l'API
PinnableContainerpropagée par des listes différées via une composition locale qui permet d'épingler l'élément actuel. (Ib8881, b/259274257, b/195049010) - Ajout de la propriété
mainAxisItemSpacingàTvLazyListLayoutInfoetTvLazyGridLayoutInfo. (I37765)
Correction de bugs
- Mise à jour de la ligne d'onglets pour vous assurer qu'elle gère correctement le nombre d'onglets (0 ou 1). (I44009), (1c01525), (b/264018028)
- Résolution du problème de plantage de la recherche ciblée lorsque
TvLazyColumncontient une valeurTvLazyRowvide. (e11b4fe), (b/260299091) - Le modificateur
clickablefonctionne désormais avecImmersiveList. (5dd5078), (b/263061052) - La touche Retour est maintenant gérée et utilisée pour quitter le carrousel de promotion de contenus. (84c138c)
- Le carrousel n'abandonne pas la sélection en cas de plusieurs appuis rapides sur les touches. (799489f)
- Le carrousel n'abandonne pas la sélection en cas d'appui de manière prolongée sur les touches. (b2cf37e)
- Résolution des plantages qui avaient lieu lors de la modification du nombre de diapositives du carrousel. (b261247)
Version 1.0.0-alpha03
7 décembre 2022
Publication d'androidx.tv:tv-foundation:1.0.0-alpha03 et d'androidx.tv:tv-material:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03
Nouvelles fonctionnalités
TabRowest désormais disponible en tant qu'API expérimentale, et permet aux utilisateurs d'ajouter des barres de navigation supérieures à leurs applications. En général, les téléviseurs s'attendent à ce que les onglets se chargent lorsque leur titre est sélectionné dans la ligne d'onglets.- Des indicateurs spécifiques aux téléviseurs, tels que le soulignement et la forme de pilule, sont fournis par défaut. Vous trouverez des exemples d'utilisation dans tv-samples.
Version 1.0.0-alpha02
9 novembre 2022
Publication d'androidx.tv:tv-foundation:1.0.0-alpha02 et d'androidx.tv:tv-material:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02
Correction de bugs
- Amélioration des performances de défilement lors du défilement d'une collection de
TvLazyRows/TvLazyColumnsen réduisant l'espace de recherche ciblé. (I723a3)
Version 1.0.0-alpha01
5 octobre 2022
Publication d'androidx.tv:tv-foundation:1.0.0-alpha01 et d'androidx.tv:tv-material:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
La première version alpha contient des implémentations en preview anticipée de composants pour des cas d'utilisation TV, y compris :
- Ajout du modificateur
scrollableWithPivotpour permettre aux conteneurs défilants non différés tels que "Ligne", "Colonne" ou "Grille" de faire défiler le contenu, de sorte que l'élément sélectionné reste à la même position sur l'écran du téléviseur - Ajout des composables
TvLazyRow,TvLazyColumn,TvLazyHorizontalGridetTvLazyVerticalGridpour que le conteneur de défilement fasse défiler le contenu afin que l'élément sélectionné reste à la même position sur l'écran du téléviseur - Ajout d'un composable Carrousel de promotion de contenus pour les téléviseurs qui permet à l'utilisateur de créer un carrousel de bannières à défilement automatique
- Ajout d'un composable de liste immersive pour la télévision qui permet à l'utilisateur de créer une ligne/colonne/grille immersive qui modifie l'arrière-plan en fonction de l'élément de liste sélectionné
Problèmes connus
- Lorsque le conteneur de défilement est sélectionné, le premier élément n'est pas sélectionné par défaut.
- Sélectionner un
TextFieldn'ouvre pas toujours le clavier ou peut empêcher la sélection de passer à d'autres champs. - Un défilement vertical dans une
LazyColumncontenant desLazyRowsa de mauvaises performances.