Wear Compose Material 3

  
Créez des applications Jetpack Compose pour les appareils Wear OS en fournissant des fonctionnalités compatibles avec différentes tailles d'appareils et différents gestes de navigation à l'aide du système de conception Material 3 Expressive.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
13 août 2025 - 1.5.0-rc02 - -

Déclarer des dépendances

Pour ajouter une dépendance sur Wear, vous devez ajouter le dépôt Maven de Google à 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.wear.compose:compose-foundation:1.5.0-rc02"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0-rc02"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0-rc02"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0-rc02")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0-rc02")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0-rc02")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0-rc02")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

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.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Wear Compose Material3 version 1.5

Version 1.5.0-rc02

13 août 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-rc02. La version 1.5.0-rc02 contient ces commits.

Correction de bugs

  • Correction d'un bug dans TimePicker où les chaînes longues et internationalisées pour la période (AM/PM) pouvaient casser la mise en page. (I0fa81)

Version 1.5.0-rc01

30 juillet 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-rc01. La version 1.5.0-rc01 contient ces commits.

Correction de bugs

  • TimePicker est désormais entièrement piloté par les paramètres régionaux de l'utilisateur, à l'aide de DateFormat.getBestDateTimePattern pour déterminer l'ordre et le contenu de ses sélecteurs et séparateurs. Correction de l'ordre incorrect des colonnes pour les langues CJK, résolution des problèmes de mise en page de droite à gauche dans des langues comme l'arabe, utilisation de séparateurs localisés et prise en charge des formats d'heure 0-11 et 1-12 en fonction des paramètres régionaux (I5d543)
  • DatePicker affiche désormais un mois numérique dans certaines langues, comme le chinois, le japonais et le coréen, pour éviter de mélanger les formats numériques et linguistiques (par exemple, 2025 | 07 | 02 au lieu de 2025 | 7月 | 02). Cette modification applique une heuristique qui vérifie si les paramètres régionaux utilisent des suffixes linguistiques pour l'année et, le cas échéant, remplace le format du mois de texte (MMM) par un format numérique (MM) pour plus de cohérence. (Ia93fe)
  • L'espace vertical de l'en-tête dans le composant Picker est désormais constant, ce qui évite un décalage visible lorsqu'une colonne de sélecteur est sélectionnée, en particulier en mode Talkback. (I7f8b7)
  • Correction d'un bug d'accessibilité causé par l'affichage en plein écran de HorizontalPageIndicator et VerticalPageIndicator. Les indicateurs de page ne sont plus en plein écran et seront positionnés automatiquement lorsqu'ils seront utilisés avec HorizontalPagerScaffold ou VerticalPagerScaffold. Lorsque vous n'utilisez pas de scaffold de mise en page, spécifiez l'alignement de manière explicite à l'aide de modifier = Modifier.align(Alignment.BottomCenter) avec HorizontalPageIndicator et modifier =Modifier.align(Alignment.CenterEnd) avec VerticalPageIndicator. (I3a0ad)
  • Le sens du balayage dans SwipeToReveal est désormais cohérent pour les LayoutDirections LTR et RTL. (I6d427)
  • Rétablissement du centrage vertical SwipeToReveal pour les actions. Si hasPartiallyRevealedState = true, RevealState doit être réinitialisé sur RevealValue.Covered par l'appelant lors du défilement. (I6473d)
  • SwipeDismissableNavHost coupe désormais correctement le contenu pour l'API 36 et les versions ultérieures. (Ib9a44)

Version 1.5.0-beta06

16 juillet 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta06. La version 1.5.0-beta06 contient ces commits.

Correction de bugs

  • Correction de l'animation EdgeButton lorsque LazyColumn ou ScalingLazyColumn ont reverseLayout = true. (I46a1a)
  • Correction d'un bug dans ScreenScaffold qui empêchait le fonctionnement de l'exploration tactile sous Talkback si un ScrollIndicator/PageIndicator était fourni. (I6dcee)
  • TransformingLazyColumn permet désormais une déformation personnalisée à partir de TransformationSpec en lisant la valeur itemHeight fournie par TransformationSpec dans le peintre d'arrière-plan. (I6a599)
  • Transitions de couleur animées pour l'activation/la désactivation de IconButton, pour assurer la cohérence avec IconToggleButton. (Ife10a)
  • Suppression du clamping de la section minimale dans CircularProgressIndicator pour éviter un saut visible vers la taille de point minimale lors de l'animation. Dans le cadre de ce changement, le paramètre targetProgress dans drawCircularProgressIndicator n'est plus utilisé. (I33309)
  • Le sélecteur possède désormais le rôle sémantique ValuePicker, qui peut être utilisé par les lecteurs d'écran pour rendre les sélecteurs plus accessibles. Le sélecteur a également mis à jour les libellés d'accessibilité pour les clics, qui font la différence entre l'ajustement de la valeur en mode lecture seule et la sélection de la valeur actuelle dans les autres cas. (I33309)

Version 1.5.0-beta05

2 juillet 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta05. La version 1.5.0-beta05 contient ces commits.

Correction de bugs

  • Mise à jour de la documentation pour clarifier l'utilisation de Modifier.edgeSwipeToDismiss (I78cb5)
  • Correction d'un bug qui pouvait afficher plusieurs éléments révélés avec SwipeToReveal dans les listes à chargement différé (I1d4f6)
  • Les formes de conteneur dans TransformingLazyColumn sont désormais mises à l'échelle pour éviter de rogner le contenu. (I9221a)
  • Les libellés TimePicker et DatePicker pour les heures/minutes/secondes ou les années/mois/jours ont désormais une sémantique d'en-tête pour les lecteurs d'écran (I77d8b).
  • Suppression de la pause entre les boucles dans l'indicateur de progression indéterminé CircularProgressIndicator (Iaf0bb)
  • Correction d'un bug d'animation dans TransformingLazyColumn lors de la suppression d'éléments. (I73034)
  • Correction de la gestion des éléments d'ancrage dans TransformingLazyColumn lorsque des éléments sont supprimés. (I841a8)
  • PickerGroup anime désormais les sélecteurs horizontalement lorsque le centrage automatique est activé et que le sélecteur sélectionné (centré) est modifié. (Ic82c4)

Version 1.5.0-beta04

18 juin 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta04. La version 1.5.0-beta04 contient ces commits.

Correction de bugs

  • Correction d'un bug de mise en page dans TransformingLazyColumn, où le contenu qui tient sur l'écran est désormais correctement aligné en haut de l'écran (I80115).
  • Correction d'un problème lié à TransformingLazyColumn, où l'élément du bas était mis à l'échelle de manière incorrecte lors du défilement tout en bas d'une liste avec un EdgeButton. La progression du défilement suit désormais une descente de gradient lors de la restauration de la mise en page. (Iea375)
  • TransformingLazyColumn lit désormais la hauteur de l'élément à l'intérieur du peintre d'arrière-plan, ce qui permet à TransformationSpecs personnalisé d'implémenter la morphose. (I022f0)
  • SwipeToReveal centre désormais correctement les actions révélées verticalement. (I4419b)
  • Correction d'un bug dans SwipeToReveal qui l'empêchait de fonctionner correctement avec le balayage pour fermer si les vues et Compose étaient utilisés à l'écran. (I5dc0e)
  • Correction d'un bug qui entraînait un décalage vertical des actions SwipeToReveal lors du défilement. (I29444)
  • AlertDialog, ConfirmationDialog, OpenOnPhoneDialog et SwipeToReveal arrondissent désormais les marges intérieures et les tailles calculées en pourcentage de la taille de l'écran. (I76367)
  • ButtonDefaults.outlinedButtonBorder met désormais à jour la taille en fonction de l'état activé/désactivé(If2ddd).
  • Correction d'un bug de hauteur EdgeButton qui se produisait sur les écrans complexes avec Pager et ScreenScaffold. (I946e3)
  • Correction d'une condition de concurrence pouvant entraîner l'arrêt des animations d'espace réservé. (I53530)
  • Amélioration des performances de HorizontalPageIndicator et VerticalPageIndicator en dessinant dans Canvas. (Ifae1e)
  • La forme d'EdgeButton a été affinée pour adoucir les transitions entre les points de suspension et les cercles qui composent le contour. (I7721e)
  • Correction d'un bug dans LevelIndicator qui entraînait l'arrêt des animations en raison de recompositions inutiles. (I45d08)

Version 1.5.0-beta03

4 juin 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta03. La version 1.5.0-beta03 contient ces commits.

Modifications apportées à l'API

  • OpenOnPhoneDialog n'annonce désormais que le texte du message sous TalkBack et ignore la sémantique des icônes. Les OpenOnPhoneDialogDefaults ont été mis à jour pour supprimer le paramètre iconContentDescription et contentDescription de icon(). De plus, ConfirmationDialogDefaults possède désormais des paramètres de modificateur sur les composables SuccessIcon et FailureIcon. (Id2ae2)

Correction de bugs

  • Modification de l'ordre dans lequel nous appliquons l'effet des paramètres SurfaceTransformation. Auparavant, les transformations appliquées aux composants Wear Material3 étaient effectuées comme suit : peintre d'arrière-plan, transformation du conteneur, transformation du contenu. Désormais, les deux premiers sont inversés et nous appliquons tout modificateur transmis entre eux, de sorte qu'il soit affecté par les transformations de conteneur. Cela corrige les cas tels que l'utilisation d'un effet shimmer d'espace réservé avec des éléments dans un TLC à l'aide du paramètre de transformation. (I786cf)
  • RevealState.Saver a été ajouté pour restaurer l'état de SwipeToReveal lorsque l'activité ou le processus sont recréés. La fonction rememberRevealState utilise désormais ce Saver par défaut. (Ie0ecb)
  • Les boutons d'action principaux et secondaires SwipeToReveal doivent être définis par défaut sur ButtonDefault.Height (correction d'un bug qui faisait que ces boutons remplissaient la hauteur maximale pour les boutons plus grands). (Ibfba1)
  • Modification de SwipeToReveal pour réinitialiser le dernier composant avec lequel l'utilisateur a interagi lorsque le geste de balayage vers la droite est effectué. (Ia8450)
  • SwipeToReveal a été modifié pour s'établir sur l'état Revealing lorsque la position de fin du balayage se situe entre les ancres de masquage et de dévoilement, et est plus proche de l'ancre de masquage. (If4458)
  • Le contenu de ButtonGroup est désormais correctement inversé dans une mise en page RTL (Ib378d).
  • AnimatedText est désormais compatible avec le texte de droite à gauche (I4533c).
  • TransformingLazyColumn redimensionne désormais correctement les éléments lorsque l'élément du bas est supprimé (Idacab).
  • TransformingLazyColumn n'effectue désormais qu'une seule passe de mesure, ce qui améliore les performances en réduisant les temps de frame. (I501a1)

Version 1.5.0-beta02

20 mai 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta02. La version 1.5.0-beta02 contient ces commits.

Correction de bugs

  • Mise à jour des profils de référence pour les bibliothèques foundation, material et material3. (I53f06)
  • Correction d'un bug dans TransformingLazyColumn, où les éléments étaient redimensionnés lorsque l'élément du bas était supprimé. (Idacab)
  • Correction d'un bug avec TransformingLazyColumn, lorsque la liste restait bloquée en haut ou en bas. (I49d00)
  • OpenOnPhoneDialog sous TalkBack doit annoncer le texte incurvé, et non la description du contenu de l'icône. (I4efe8)
  • Correction d'un bug dans SwipeToReveal qui signalait le mauvais ancrage dans RevealState.currentValue lorsque hasPartiallyRevealedState était défini sur "false". (I9c7cf)
  • Les boutons d'annulation SwipeToReveal sont désormais ButtonDefaults.Height par défaut. (I1f6c8)
  • Les performances de BasicSwipeToDismissBox ont été améliorées en éliminant l'utilisation de Canvas pour dessiner les caches. (I68f2c)
  • Correction d'un bug d'accessibilité dans le curseur, où le pourcentage annoncé ne correspondait pas à la valeur après les mises à jour (I91146).
  • Correction d'un bug lié à l'implémentation de placeholderShimmer. (Iee39b
  • Les performances de TransformingLazyColumn ont été améliorées en optimisant le calcul de ScrollProgress de 30 %. (I4c4cb)

Version 1.5.0-beta01

7 mai 2025

Publication d'androidx.wear.compose:compose-*:1.5.0-beta01. La version 1.5.0-beta01 contient ces commits.

La version 1.5.0-beta01 de Compose pour Wear OS indique que cette version de la bibliothèque est complète et que l'API est verrouillée (sauf si elle est marquée comme expérimentale).

Wear Compose 1.5.0-beta01 inclut la bibliothèque Wear Compose Material3, qui est compatible avec le nouveau système de conception d'UI appelé Material 3 Expressive. Nous vous recommandons de passer de Material à Material3 pour adopter la nouvelle conception visuelle dans les applications et bénéficier des nouveaux composants comme suit :

  • MaterialTheme pour des jeux de couleurs, une typographie et des formes mis à jour et étendus afin d'apporter à la fois de la profondeur et de la variété à vos conceptions.
  • La thématisation des couleurs dynamiques, qui génère automatiquement un jeu de couleurs pour votre application afin qu'il corresponde aux couleurs du cadran.
  • Les nouveaux composants s'adaptent automatiquement aux écrans plus grands par défaut
  • Morphing de forme : les composants de bouton rond tels que IconButton, TextButton, IconToggleButton et TextToggleButton sont compatibles avec les variantes qui s'animent lorsqu'elles sont appuyées ou cochées.
  • EdgeButton : nouveau bouton bord à bord avec une forme spéciale conçu pour le bas de l'écran.
  • Scaffolds : présentation de AppScaffold et ScreenScaffold pour structurer l'écran et coordonner les animations ScrollIndicator et TimeText.
  • Boutons : de nombreux boutons en forme de stade sont compatibles avec des conteneurs flexibles à un emplacement et des variantes à plusieurs emplacements pour les boutons avec icônes et libellés. CheckboxButton et SwitchButton sont fournis lorsque des boutons bascule sont nécessaires, tandis que RadioButton est le bouton de sélection disponible (des variantes "Split" des boutons bascule et de sélection sont également fournies).
  • ButtonGroup : implémente un groupe expressif de boutons sur une ligne qui se transforment au toucher.
  • Les variantes AlertDialog sont compatibles avec les boutons "OK" et "Annuler" ou avec un EdgeButton.
  • ConfirmationDialog est disponible pour afficher un message avec un délai d'expiration, et prend en charge les animations spéciales pour les variantes de réussite, d'échec et d'ouverture sur téléphone.
  • Les sélecteurs – les variantes TimePicker et DatePicker sont acceptées, ainsi que les composants Picker et PickerGroup pour créer vos propres écrans de sélecteur.
  • Les indicateurs de progression circulaires et linéaires ProgressIndicators sont acceptés (CircularProgressIndicator comporte des variantes segmentées et indéterminées).
  • Cartes : plusieurs variantes de cartes sont disponibles, y compris TitleCard, qui propose des mises en page spécifiques pour les cartes avec des emplacements pour le titre, l'heure, le sous-titre ou le contenu. TitleCard peut également être associé à une image d'arrière-plan pour renforcer la signification des informations d'une fiche.
  • Les composants de pagination HorizontalPagerScaffold, VerticalPagerScaffold et AnimatedPage coordonnent les animations HorizontalPageIndicator et VerticalPagerIndicator. HorizontalPager et VerticalPager sont publiés dans la bibliothèque Wear Compose Foundation.
  • Espaces réservés : dessinent une forme squelettique sur un composant, dans les cas où aucun contenu provisoire n'est disponible.
  • Curseurs et steppers : les curseurs et les steppers permettent aux utilisateurs de faire un choix parmi une plage de valeurs. Les curseurs sont plus compacts et peuvent être segmentés, tandis que le sélecteur est un composant plein écran généralement associé à un StepperLevelIndicator.
  • SwipeToReveal : permet d'ajouter des actions supplémentaires à un composable lorsqu'il est balayé de droite à gauche.

Wear Compose Foundation 1.5.0-beta01 inclut également les nouveaux composants suivants :

  • TransformingLazyColumn : liste à défilement vertical différé qui accepte les animations de mise à l'échelle et de morphing
  • Groupes de mise au point hiérarchiques : utilisés pour annoter les composables d'une application, pour suivre la partie active de la composition et coordonner la mise au point.
  • Composants Pagers : HorizontalPager et VerticalPager, basés sur les composants Compose Foundation avec des améliorations spécifiques à Wear pour améliorer les performances et la conformité aux consignes Wear OS.

Modifications apportées à l'API

  • Mise à jour de l'API Hierarchical Focus : Modifier.hierarchicalFocus a été renommé Modifier.hierarchicalFocusGroup et le paramètre de rappel a été supprimé. La surcharge de Modifier.hierarchicalFocusRequester avec un paramètre FocusRequester a été supprimée. De nouvelles CompositionLocal et LocalScreenIsActive ont été créées afin que les composants puissent informer et vérifier quel écran est actif. (I5ff7c).
  • Abandon de SwipeToReveal de Wear Compose Foundation au profit des API SwipeToReveal dans Wear Compose Material et Wear Compose Material3. Veuillez remplacer les importations Wear Foundation SwipeToReveal par des importations Wear Compose Material/ Wear Compose Material3 pour continuer à utiliser les API. (Ia147d).
  • Les dépendances SwipeToReveal Wear Compose Material3 sur Foundation ont été déplacées vers le package material3, par exemple RevealValue, RevealDirection, RevealActionType, RevealState, rememberRevealState. Les développeurs doivent remplacer leurs importations de ces classes et fonctions de androidx.wear.compose.foundation par androidx.wear.compose.material3. (I640e6).
  • Mise à jour de l'API SwipeToReveal Wear Compose Material3 : ajout des paramètres primaryAction, onFullSwipe, secondaryAction, undoPrimaryAction, undoSecondaryAction et hasPartiallyRevealedState au composable SwipeToReveal ; suppression de la possibilité de personnaliser positionalThreshold et animationSpec à partir de RevealState ; suppression de lastActionType, revealThreshold et de la largeur de RevealState ; modification du constructeur RevealState pour qu'il accepte un RevealDirection au lieu d'ancres ; suppression des fonctions createRevealAnchors, d'ancres et bidirectionalAnchors ; les fonctions SwipeToRevealScope primaryAction, secondaryAction, undoPrimaryAction et undoSecondaryAction ont été renommées PrimaryActionButton, SecondaryActionButton et UndoActionButton et transformées en fonctions composables ; RevealActionType a été marqué comme interne. (I885d0).
  • Mise à jour supplémentaire de l'API SwipeToReveal comme suit : onFullSwipe renommé en onSwipePrimaryAction ; SwipeToRevealNonAnchoredSample renommé pour indiquer l'utilisation du paramètre hasPartiallyRevealedState ; actionButtonHeight supprimé, car la hauteur par défaut est celle du bouton et la hauteur supérieure peut être définie à l'aide d'un modificateur ; SmallActionButtonHeight supprimé de SwipeToRevealDefaults ; paramètre de valeur dans les constructeurs RevealValue et RevealDirection rendu privé. (I465ce).

Correction de bugs

  • Correction de la gestion de EdgeButton par ScreenScaffold afin que, après la suppression d'un élément TransformingLazyColumn, EdgeButton soit animé pour se mettre en place. (I6d366).
  • Mise à jour des dépendances Wear Compose sur les bibliothèques Compose vers la version 1.8.0. (I2ef3f).
  • Mise à jour du mouvement de l'CircularProgressIndicator indéterminé afin qu'il ne régresse plus temporairement. (Ieddb1)
  • Correction d'un bug SwipeDismissableNavHost : la sélection ne basculait pas correctement après un balayage vers l'arrière, ce qui entraînait l'échec de la saisie par rotation (pour l'API 36 et versions ultérieures, qui utilisent la prévisualisation du Retour). (Ieddb1)
  • Documentation modifiée pour l'API Hierarchical Focus (Idf2ff).
  • Mise à jour de la documentation pour les boutons et les cartes afin d'indiquer comment containerPainter et disabledContainerPainter remplacent containerColor et disabledContainerColor (I4a453).
  • Rétablissement d'une modification apportée à TimeText dans la version précédente, qui avait déplacé BroadcastReceiver vers un thread de worker, car cela posait des problèmes pour les applications qui gèrent leur propre threading lors de la navigation. (I34d02).
  • Mise à jour des exemples de sélecteur pour supprimer les appels "remember" inutiles et utiliser plutôt rememberUpdatedState dans le sélecteur pour mémoriser la dernière fonction lambda contentDescription. (Icb5b1).
  • Mise à jour des styles de texte dans TimePicker et DatePicker afin que les modifications de police n'entraînent plus de troncature. (I26194).
  • ListHeader et ListSubHeader alignent désormais le texte par défaut au centre et au début, respectivement. (I78339).
  • Mise à jour des exemples et des démos de Foundation et Material Swipe to Reveal pour annoncer des actions d'accessibilité personnalisées (les actions personnalisées doivent être ajoutées en tant que sémantiques sur le contenu, et non sur le composable SwipeToReveal lui-même). (Ie92a3).
  • La valeur par défaut de MaxLines définie sur le contenu EdgeButton a été mise à jour en fonction de sa taille : elle est désormais de 1 pour les tailles XS, de 2 pour les tailles S et M, et de 3 pour les tailles L. (Ie35f6).
  • LocalReduceMotion simplifié pour que l'observateur ne soit enregistré qu'une seule fois, afin d'améliorer les performances. (Ib1979).
  • Le nombre de redessins dans ScrollIndicator a été réduit pour améliorer les performances. (Ia7a67).
  • Correction d'un bug dans TransformingLazyColumn, où l'élément visible en haut de la liste ne s'adaptait pas correctement lorsque EdgeButton atteignait sa hauteur maximale. (I30580).

Wear Compose Material3 version 1.0

Version 1.0.0-alpha37

23 avril 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha37. La version 1.0.0-alpha37 contient ces commits.

Modifications apportées à l'API

  • Suppression de scrollTransform de la surface de l'API publique. Utilisez la combinaison des modificateurs transformedHeight et graphicsLayer si vous avez besoin de la même fonctionnalité. (Ie181d)
  • Remplacement des composables ImageButton et ImageCard par les surcharges Button et Card/TitleCard, respectivement. Remplacement du nom imageButtonColors par buttonWithContainerPainterColors et du nom imageCardColors par cardWithContainerPainterColors. Ajout de ButtonDefaults.scrimBrush et CardDefaults.scrimBrush publics. Les boutons imageBackgroundGradientStartColor et imageBackgroundGradientEndColor ont été renommés scrimGradientStartColor et scrimGradientEndColor. Changement de nom : CardDefaults.ImageContentPadding devient CardDefaults.CardWithContainerPainterContentPadding. (I7b8b6)
  • Picker et PickerGroup acceptent désormais contentDescription en tant que lambda pour éviter les recompositions inutiles. (I002dd)

Correction de bugs

  • Correction d'un problème qui entraînait le vacillement de CircularProgressIndicator indéterminé pendant l'animation si la largeur n'était pas égale à la hauteur. (I76bfe)
  • Correction d'un problème lié à la mise en page des boutons de bordure lorsque la taille n'est pas valide. Empêche désormais la mise à jour de la mise en page du bouton Edge lorsque la hauteur est NaN. (I32b93)
  • Augmentation de l'angle de balayage maximal dans OpenOnPhoneDialog afin que le texte par défaut "Vérifier votre téléphone" ne soit pas coupé avec la plus grande taille de police. (I90af9)

Version 1.0.0-alpha36

9 avril 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha36. La version 1.0.0-alpha36 contient ces commits.

Modifications apportées à l'API

  • ButtonDefaults.imageBackgroundButtonColors a été remplacé par ImageButton, ButtonDefaults.imageButtonColors, ButtonDefaults.containerPainter et ButtonDefaults.disabledContainerPainter. Et des modifications similaires pour Card. Les peintres sont supprimés de ButtonColors et CardColors. (I8c6a1)
  • Mise à jour des espaces réservés pour simplifier l'API. Nous fournissons désormais deux modificateurs : Modifier.placeholderShimmer pour appliquer un effet scintillant au niveau du composant et Modifier.placeholder pour appliquer un masque sur le contenu non chargé (Iaee7a).

Correction de bugs

  • Intégration du défilement hors limites dans ScrollIndicator. (Icfb7f)
  • Correction des arrière-plans vides et des boîtes de dialogue manquantes lors du lancement des boîtes de dialogue material3. (Ice597)
  • Correction des problèmes dans FadingExpandingLabel lorsque le texte s'étend sur plusieurs lignes. (I04eb7)
  • Mise à jour de la marge intérieure entre les libellés principal et secondaire sur les boutons. (I99b7b)
  • ArcLarge est passé de 20sp à 18sp, et l'espacement entre les lettres de ArcLarge et ArcSmall a été modifié. ConfirmationDialog/OpenOnPhoneDialog utilisent désormais la valeur par défaut ArcLarge au lieu de la remplacer par 18sp. (Id39a8)

Mises à jour des dépendances

  • Cette bibliothèque cible désormais le langage Kotlin 2.0 et nécessite KGP 2.0.0 ou version ultérieure. (Idb6b5)

Version 1.0.0-alpha35

26 mars 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha35. La version 1.0.0-alpha35 contient ces commits.

Modifications apportées à l'API

  • La marge intérieure supérieure AlertDialog est désormais réduite par défaut lorsqu'une icône est fournie. Cela permet d'utiliser au mieux la taille d'écran disponible. (Ief06c)
  • Le compte de service (PagerScaffoldDefaults.FadeOutAnimation) a été renommé PagerScaffoldDefaults.FadeOutAnimationSpec. Le paramètre de page sur AnimatedPage a été renommé pageIndex. (I701f2)
  • Mise à jour des noms pour la division SurfaceTransformation de TransformingLazyColumn : applyTransformation divisé en applyContainerTransformation et applyContentTransformation, et createBackgroundPainter renommé createContainerPainter. Mise à jour des noms de TransformationSpec et ResponsiveTransformationSpec. (I1c534)
  • AppScaffold backgroundColor a été renommé containerColor. (I4e63f)

Correction de bugs

  • Correction d'un problème dans FadingExpandingLabel qui empêchait parfois le texte de se développer correctement. (I0e773)
  • La taille de la police de ArcLarge a été réduite de 20 sp à 18 sp, et l'espacement des lettres de ArcLarge et ArcSmall a été modifié. ConfirmationDialog/OpenOnPhoneDialog utilise désormais la valeur par défaut ArcLarge au lieu de la remplacer par 18 sp. (Id39a8)
  • Mise à jour de l'animation d'en-tête pour les éléments basés sur DatePicker et TimePicker, de sorte que l'animation de fondu sortant et de fondu entrant agisse comme une seule animation de rétroaction. (I68963)
  • Optimisation de PagerScaffold en évitant la lecture de currentPageOffsetFraction dans le composable AnimatedPage. (I433ef)
  • Toutes les échelles typographiques ont été mises à jour pour utiliser des chiffres proportionnels par défaut. En effet, il s'agit du cas d'utilisation le plus fréquent, et le fait de définir les chiffres tabulaires par défaut entraînait un espacement trop important entre certaines paires de nombres. TimePicker et DatePicker continuent d'appliquer FontFeatureSetting=tnum pour les chiffres tabulaires. (I88929)
  • Correction du focus d'entrée RSB initial pour TimePicker et DatePicker. (I1c773)
  • Le texte par défaut sur OpenOnPhoneDialog a été remplacé par "Vérifiez votre téléphone". (I00a3f)
  • Mise à jour des pondérations pour ArcLarge et ArcMedium de 600 à 599 afin de contourner un problème où la pondération 600 est traitée comme du texte en gras (I2a51d)
  • Mise à jour des marges intérieures SwipeToReveal entre le contenu et les boutons d'action, ainsi que de la marge intérieure entre l'icône et le texte des boutons d'action. (Ic46cb)

Version 1.0.0-alpha34

12 mars 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha34. La version 1.0.0-alpha34 contient ces commits.

Modifications apportées à l'API

  • PagerScaffold n'émet plus de composant Pager. Il doit désormais être fourni via le composable content. AnimatedPage et snapWithSpringFlingBehaviour sont désormais publiques et peuvent être utilisées avec Pager Wear Foundation pour obtenir le comportement PagerScaffold M3 précédent. (Consultez les exemples mis à jour.) (Ia4724)
  • Mise à jour de PagerState, suppression de Compose Foundation PagerState en tant que classe de base et ajout des propriétés currentPage, currentPageOffsetFraction et pageCount. Mise à jour de l'interface GestureInclusion, avec changement de nom de la méthode en ignoreGestureStart. (I4ae07)
  • Les paramètres d'angle de balayage LevelIndicator sont désormais annotés avec FloatRange(0, 360) (I7e636).
  • Nous avons ajouté CurvedModifier.clearAndSetSemantics pour permettre de désactiver la sémantique des courbes. CurvedText continue de définir par défaut la description du contenu sur le texte, mais timeTextCurvedText et timeTextSeparator n'annoncent plus leur contenu. (I4b568)
  • Ajout de paramètres de couleur d'arrière-plan et de contenu par défaut à AppScaffold. (I56652)
  • La gestion par défaut des gestes de balayage de HorizontalPager a été renommée PagerDefaults.gestureInclusion. Le comportement par défaut consiste désormais à ignorer uniquement les gestes de balayage qui commencent sur le bord gauche de la première page, et uniquement lorsque Talkback est désactivé. Dans les autres cas, le comportement par défaut est que les gestes de balayage ne seront pas ignorés par le pager. Ils ne seront donc pas disponibles pour les gestionnaires de balayage pour fermer. (Iee486)
  • Ajout d'un paramètre SurfaceTransformation aux composants d'en-tête de bouton, de fiche et de liste, afin qu'ils puissent appliquer différentes transformations d'arrière-plan et de contenu lorsqu'ils sont utilisés dans des conteneurs qui modifient l'apparence des éléments en fonction de leur position, tels que TransformingLazyColumn. (Iabe3f)
  • Nous avons mis à jour les propriétés "public const val" de notre API Wear Compose Material3 en "public val" pour éviter que les valeurs ne soient intégrées. (Ib0f32)
  • Ajout de la prise en charge d'une zone de balayage sur le bord à SwipeToReveal. Le comportement par défaut de Foundation SwipeToReveal consiste désormais à interdire le balayage lorsque le geste commence sur le bord. Le comportement par défaut de SwipeToReveal’ Material3 consiste désormais à interdire le balayage lorsque le geste commence sur le bord, lorsque SwipeDirection est défini sur une seule direction. (I32ef0)
  • Ajout du composable FadingExpandingLabel, qui permet d'afficher le texte progressivement avec une animation ligne par ligne. (Ic60fa)
  • TransformingLazyColumn utilise désormais des contentPadding vides par défaut au lieu de placer les premier et dernier éléments au centre. (I77ab7)
  • Suppression de rememberRevealState de SwipeToReveal de la bibliothèque Wear Compose Material3. (I8c0e0)

Correction de bugs

  • Les bibliothèques Wear Compose ont été mises à jour vers le compilateur Kotlin 2.0. (I2de79)
  • La prise en charge des ScrollIndicator et PageIndicator non arrondis a été supprimée de Material3. La prise en charge des écrans carrés ne fait plus partie des exigences Wear OS. Pour en savoir plus, consultez le guide de démarrage. (I9a852)
  • Le CurvedTextStyle utilisé dans ConfirmationDialogDefaults et OpenOnPhoneDialogDefaults a été mis à jour pour utiliser la typographie ArcLarge avec la taille 18sp et l'espacement des lettres 1.8sp. (Ic9ced)
  • Card, ListHeader, RadioButton, CheckboxButton et SwitchButton ne contraignent plus la hauteur de leur contenu par défaut. Si nécessaire, utilisez Modifier.height(IntrinsicSize.Min) pour restaurer le comportement précédent. (I80bb8)
  • Nous avons mis à jour les couleurs par défaut de TimeText et ScrollIndicator pour inclure davantage de tons gris. En effet, l'utilisation directe de OnBackground (blanc) avait trop d'impact visuel par rapport aux autres contenus à l'écran, comme les titres. (I8b36f)
  • Nous avons réduit le délai d'expiration pour l'animation des TimeText et ScrollIndicator dans les composants de canevas à deux secondes. (I52021)
  • Nous avons modifié le mouvement de la boîte de dialogue afin que la mise à l'échelle de l'arrière-plan de la boîte de dialogue soit synchronisée avec le balayage pour la fermer. (I925a9)
  • Ajout d'une démo de SwipeToReveal M3 à l'aide du modificateur edgeSwipeToDismiss. (I02b07)
  • Nous avons ajouté un titre à DatePicker et TimePicker sous TalkBack pour informer l'utilisateur qu'il doit faire défiler l'écran pour définir la date et l'heure. (Id738d)
  • AnimatedText suit désormais le paramètre de réduction du mouvement. (Ib6578)
  • L'optimisation de l'utilisation de AppScaffold pour afficher le contenu de la boîte de dialogue a été améliorée afin de permettre l'affichage de plusieurs boîtes de dialogue les unes sur les autres (I1209c).

Version 1.0.0-alpha33

26 février 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha33. La version 1.0.0-alpha33 contient ces commits.

Modifications apportées à l'API

  • Nous avons supprimé le paramètre "label" de primaryAction et secondaryAction de SwipeToRevealScope. Les développeurs doivent ajouter la sémantique des actions personnalisées directement au contenu du composant SwipeToReveal. (Ia67f3)
  • Nous avons supprimé les préfixes "Button" (Bouton) des tailles, des styles de texte et des fonctions de couleur dans IconToggleButtonDefaults et TextToggleButtonDefaults (I5471d).
  • Nous avons supprimé la LocalMinimumInteractiveComponentEnforcement expérimentale (I4ad8a).
  • Nous avons remplacé le DSL PickerGroupScope par un composable. Nous avons donc supprimé la méthode pickerGroupItem de PickerGroupScope et ajouté @Composable PickerGroupItem, qui doit être utilisé pour ajouter un sélecteur à PickerGroup. Nous avons également modifié le type du paramètre PickerGroup "content" en @Composable PickerGroupScope.() -> Unit. (Ic6aec)
  • Nous avons ajouté une surcharge LevelIndicator pour les valeurs fractionnaires et un préfixe Stepper aux surcharges qui incluent un paramètre de plage (qui conviennent à l'utilisation avec le composant Stepper). (If4234)
  • Nous avons ajouté TransformationSpec de TransformingLazyColumn à l'API, ce qui permet de définir les transformations exactes qui se produisent sur les éléments lorsqu'ils défilent dans le TLC. (I21856)
  • Nous avons mis à jour IconButtonShapes, IconToggleButtonShapes, TextButtonShapes et TextToggleButtonShapes pour qu'ils soient cohérents avec les classes compose/material3 (I5a081).
  • Nous avons ajouté un paramètre overscrollEffect à ScalingLazyColumn, TransformingLazyColumn et ScreenScaffold. (I0cee8)
  • Nous avons renommé le paramètre swipeDirection en revealDirection dans rememberRevealState. (I7472f)
  • Wear Pager dispose désormais de son propre PagerScope au lieu d'utiliser Compose PagerScope. (I9195b)
  • Nous avons supprimé le composable LinearProgressIndicatorContent. Veuillez utiliser LinearProgressIndicator directement afin que les modifications apportées aux valeurs soient animées par défaut. (I2c4ad)
  • Nous avons supprimé le composable CircularProgressIndicatorStatic et ajouté une fonction publique DrawScope drawCircularProgressIndicator avec les mêmes fonctionnalités. Veuillez utiliser CircularProgressIndicator directement pour que les modifications soient animées par défaut, mais créez votre propre composable à partir de drawCircularProgressIndicator si des animations personnalisées sont nécessaires. (Ie762f)
  • Nous avons réorganisé les paramètres dans DrawScope.drawCircularProgressIndicator pour déplacer le paramètre targetProgress vers le haut. (I8ab92)
  • L'API OpenOnPhoneDialog a été mise à jour pour plus de clarté et de cohérence avec les autres boîtes de dialogue. Le paramètre show a été renommé visible, et curvedText est désormais fourni par l'appelant au lieu d'avoir une valeur par défaut. (Idec2d)
  • Nous avons renommé openOnPhoneCurvedText en openOnPhoneDialogCurvedText (I65bdd)
  • Nous avons ajouté ScrollIndicatorColors pour fournir des couleurs personnalisées à ScrollIndicator. (I9eb8c)
  • Autorisez la configuration de la couleur utilisée pour dessiner un arrière-plan derrière TimeText. (I9f5d9)
  • Mise à jour des typographies ArcLarge, ArcMedium et ArcSmall pour qu'elles soient CurvedTextStyle (Iffc41)
  • Nous avons supprimé ScreenScaffoldDefaults.contentPaddingWithEdgeButton. (Ia923e)
  • Nous avons ajouté errorDim à ColorScheme pour les erreurs de priorité élevée ou les actions d'urgence telles que les alertes de sécurité, les superpositions de boîte de dialogue ayant échoué ou les boutons d'arrêt. (I70998)

Correction de bugs

  • Nous avons épinglé wear.compose.material3 à la version 1.15.0 de androidx.core.core (I132e9).
  • Nous avons amélioré les performances de Dialog en utilisant AppScaffold pour superposer les boîtes de dialogue à d'autres contenus d'écran (I1b9a4).
  • Réduction de la marge intérieure verticale de EdgeButton. (I1a5bb)
  • Nous avons ajouté la sémantique de bouton aux boutons du curseur. (I80cc6)

Version 1.0.0-alpha32

29 janvier 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha32. La version 1.0.0-alpha32 contient ces commits.

Modifications apportées à l'API

  • Sur CurvedTextStyle, nous avons divisé l'espacement des lettres en espacement des lettres dans le sens des aiguilles d'une montre et en espacement des lettres dans le sens inverse des aiguilles d'une montre. Cela est nécessaire, car les lettres dans le sens des aiguilles d'une montre s'étalent à partir de la ligne de base, tandis que les lettres dans le sens inverse des aiguilles d'une montre se resserrent (un espacement plus important est donc nécessaire) (I4b848).
  • Nous avons mis à jour IconButtonShapes, IconToggleButtonShapes, TextButtonShapes et TextToggleButtonShapes pour améliorer la cohérence entre les bibliothèques Material3. Cette modification introduit également la mise en cache des formes pour réduire le nombre d'allocations. (I049fc)
  • Nous avons supprimé le paramètre pressedShapeCornerSizeFraction de la méthode variantAnimatedShape dans IconToggleButton et TextToggleButton (I58a65).
  • Nous apportons des améliorations au rendu du texte incurvé (y compris TimeText) qui sont incompatibles avec les écrans non ronds. La prise en charge des écrans non ronds ne fait plus partie des exigences Wear OS. Pour en savoir plus, consultez le guide de démarrage. (I1cc1c)
  • Nous avons mis à jour ButtonGroupScope de ButtonGroup en remplaçant ButtonGroupItem basé sur DSL par Modifier.weight, Modifier.minWidth et Modifier.enlargeOnPress. (I16c3c)
  • Dans l'API ButtonGroup, nous avons mis à jour le nouveau ButtonGroupScope basé sur les modificateurs : enlargeOnPress s'appelle désormais animateWidth et prend un InteractionSource, plutôt qu'un MutableInteractionSource, car il n'est pas nécessaire de le modifier. Nous avons également ajouté la constante publique ButtonGroupDefaults.DefaultMinWidth, qui correspond à la largeur minimale par défaut des boutons dans un ButtonGroup. (Ie27ec)
  • Nous avons mis à jour ListHeaderDefaults.contentColor pour qu'il commence par une lettre minuscule, car il s'agit d'une propriété composable (I125a5).
  • Nous avons ajouté un paramètre de description du contenu à SliderDefaults.DecreaseIcon et SliderDefaults.IncreaseIcon, avec des valeurs par défaut appropriées (I2e1a7).
  • Nous avons renommé le paramètre spacing dans Picker et PickerGroup en verticalSpacing (Ib75cc).
  • Nous avons supprimé ConfirmationDialogDefaults.successText et failureText, car les appelants de ConfirmationDialog sont censés fournir des chaînes avec plus de contexte. confirmationCurvedText a également été renommé confirmationDialogCurvedText. Enfin, nous avons renommé le paramètre show de la boîte de dialogue en "visible" pour plus de cohérence avec les autres mises à jour récentes des boîtes de dialogue. (I10074)
  • IconButton a renommé disabledImageOpacity en DisabledImageOpacity. (I5f94a)

Correction de bugs

  • Nous avons corrigé un bug dans l'animation EdgeButton afin que la taille correcte soit utilisée dans chaque frame (Id3b58).
  • Correction d'un problème lié à animateContentSize qui ne fonctionnait pas avec Button. (Ib18a0)
  • Nous avons modifié la taille de la police de la typographie "Titre grand" pour qu'elle soit de 18dp (Ic9d52).
  • Nous avons mis à jour l'espacement et la taille de l'icône AlertDialog (Iac28c).
  • Nous avons corrigé les incohérences dans les points d'arrêt pour les grands écrans (les écrans de 225 dp et plus sont considérés comme grands) (I36474).
  • Correction d'un bug mineur dans le positionnement des boutons (I952c2)

Version 1.0.0-alpha31

15 janvier 2025

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha31. La version 1.0.0-alpha31 contient ces commits.

Modifications apportées à l'API

  • Nous avons mis à jour toutes les bibliothèques Wear Compose en mode "API explicite". (Iebf9f)
  • Nous avons mis à jour les API ScreenScaffold et EdgeButton pour faciliter la spécification des marges intérieures de contenu sur les écrans qui incluent un EdgeButton. Dans la nouvelle API, le size de EdgeButton n'est transmis qu'à EdgeButton, et ScreenScaffold prend un paramètre edgeButtonSpacing pour l'espacement entre EdgeButton et le contenu de la liste. (I424fd)
  • Dans DatePicker, nous avons renommé les paramètres minDate en maxDate et minValidDate en maxValidDate. Dans DatePickerColors, nous avons renommé le paramètre selectedPickerContentColor en activePickerContentColor et unselectedPickerContentColor en inactivePickerContentColor. (Iba17b)
  • Nous avons mis à jour les valeurs par défaut de ArcProgressIndicator à strokeWidth=6dp et recommandé diameter = 81.24% de la hauteur de l'écran. (I6f248)
  • Nous avons mis à jour l'API Confirmation pour refléter son utilisation en tant que boîte de dialogue. Le composable s'appelle désormais ConfirmationDialog, avec des mises à jour associées concernant la dénomination des classes de couleurs et par défaut. Nous avons également renommé le paramètre show en visible pour assurer la compatibilité avec d'autres API d'animation Compose. De plus, nous avons mis à disposition ConfirmationDialogContent, SuccessConfirmationDialogContent et FailureConfirmationDialogContent pour les situations où les développeurs doivent personnaliser les animations de la boîte de dialogue d'introduction/de conclusion. (Iaeb33)
  • Nous avons mis à jour CircularProgressIndicatorContent vers CircularProgressIndicatorStatic (la variante non animée de CircularProgressIndicator) afin qu'il puisse désormais être utilisé pour créer CircularProgressIndicator avec des animations personnalisées. (I1346f)
  • Nous avons corrigé l'ordre des paramètres sur ArcProgressIndicator en plaçant le paramètre de modificateur en premier (I4656a).
  • Amélioration de l'API SwipeToReveal pour recevoir un paramètre d'emplacement de texte pour les libellés des actions (sauf l'action secondaire) et pour supprimer les paramètres de libellé de l'action d'annulation (I5b3db)

Correction de bugs

  • Nous avons corrigé un bug qui déclenchait les retours haptiques LongPress plusieurs fois dans Button, Card, IconButton et TextButton. (Ia8b0f)
  • Modifications apportées à l'UI de AlertDialog : sur les grands écrans, les boutons de confirmation et d'annulation sont désormais plus petits. L'espacement sous les boutons de confirmation et de fermeture a également été augmenté. (I4f066)
  • Nous avons modifié les spécifications d'animation du libellé du bouton d'action du composant SwipeToReveal. (Ib87fb)
  • Modification de SwipeToReveal pour développer le conteneur en même temps que le texte s'affiche. (I44cf8)
  • Amélioration de SwipeToReveal pour effectuer un retour haptique lorsque le balayage dépasse le seuil où l'action principale est effectuée. (I23efe)
  • Nous avons mis à jour SwipeToReveal pour afficher des points de suspension en cas de dépassement de texte par défaut, pour les actions principales et d'annulation. (I71f5a)
  • Nous avons corrigé un problème qui entraînait des saccades dans les animations ButtonGroup. (I63f8f)
  • Nous avons ajouté la sémantique de texte à AnimatedText. (I6063c)
  • La boîte de dialogue réinitialise désormais la mise à l'échelle de l'arrière-plan lorsqu'elle est supprimée de la composition (sans cette correction, l'écran de lancement aurait pu rester à une échelle réduite) (Id24ac).
  • Nous avons ajouté une animation de morphing de forme aux boutons du composant Stepper. (Id6ed3)

Version 1.0.0-alpha30

11 décembre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha30. La version 1.0.0-alpha30 contient ces commits.

Modifications apportées à l'API

  • Le modificateur scrollTransform pour TransformingLazyColumn a été refactorisé, ce qui a entraîné une modification de l'API. (I0c6dc)
  • Nous avons mis à jour IconToggleButtonShapes et TextToggleButtonShapes pour qu'ils aient deux paramètres de forme différents, uncheckedPressed et checkedPressed. (I85dbd)
  • Les options de mois/jour non valides sont désormais visibles dans DatePicker, avec un nouveau invalidPickerContentColor, lorsque vous utilisez minDate ou maxDate. (If4541)
  • Nous avons mis à jour l'API Stepper pour fournir des emplacements increaseIcon et decreaseIcon. Le contenu de ces emplacements peut être créé comme d'habitude à partir du composable Icon. (Id35da)
  • Nous avons mis à jour dynamicColorScheme en supprimant le paramètre facultatif defaultColorScheme et en renvoyant désormais ColorScheme pouvant avoir une valeur nulle. Cela signifie que l'appelant doit gérer explicitement le cas de remplacement lorsqu'un schéma de couleurs dynamiques n'est pas fourni. (I6d62e)
  • Nous avons mis à jour les tailles d'icônes dans ButtonDefaults pour une utilisation avec CompactButton. Un CompactButton contenant uniquement une icône doit utiliser ButtonDefaults.SmallIconSize = 24.dp, tandis qu'un CompactButton contenant à la fois une icône et du texte doit utiliser ButtonDefaults.ExtraSmallIconSize = 20.dp. Il est recommandé que CompactButton enveloppe son contenu (plutôt que de remplir la largeur maximale). Les exemples ont été mis à jour pour le montrer. (I0582c)
  • Nous avons ajouté EdgeButtonDefaults avec les tailles d'icônes recommandées pour les quatre EdgeButtonSizes. Nous avons également mis à jour la mise en page EdgeButton afin qu'elle dispose d'une marge intérieure inférieure légèrement plus grande que la marge intérieure supérieure, ce qui améliore l'apparence du contenu "Icône" et "Texte". (Id772a)
  • Nous avons ajouté du mouvement à LinearProgressIndicator et exposé LinearProgressIndicatorContent, qui fournit le contenu visuel sans animations. (Idee99)
  • Nous avons ajouté un composable CircularProgressIndicatorContent pour afficher le contenu visuel de CircularProgressIndicator sans animations. (Ie33d4)
  • TransformingLazyColumn fournit désormais la composition locale LocalTransformingLazyColumnItemScope que les Card, Button et ListHeader utilisent désormais pour se transformer automatiquement lorsqu'ils sont placés dans un TransformingLazyColumn. Les appelants peuvent désactiver la morphose automatique à l'aide du nouveau wrapper TransformExclusion. (I1652f)
  • Nous avons modifié le type de ButtonDefaults.shape en RoundedCornerShape. (Iccdf2)

Correction de bugs

  • Nous avons corrigé un bug pour respecter l'alpha existant sur l'arrière-plan de TimeText (I1eb60).
  • Nous avons défini TextMotion sur Animated par défaut dans notre typographie, afin d'éviter les tremblements de texte dus à l'alignement des glyphes de lettres sur les limites des pixels lors des opérations de mise à l'échelle. (I626fa)
  • Nous avons modifié l'apparence de ScrollIndicator en augmentant la largeur et la taille de l'espace pour améliorer la visibilité. (Ied7cb)
  • Nous avons corrigé un bug sur Modifier.scrollTransform lors de l'ajout, de la suppression ou du déplacement d'éléments. (I6830f)
  • Nous avons corrigé un problème d'animation des boutons ronds pour les brefs appuis (auparavant, la durée minimale de l'animation n'était pas toujours respectée). (I757a7)
  • Nous avons modifié l'angle de balayage de LevelIndicator pour le définir sur 20 % (soit 72 degrés). (Idde5c)
  • Nous avons corrigé le positionnement de ScrollIndicator lorsque ScalingLazyColumn était utilisé avec AutoCenteringParams. (I387dd)
  • Nous avons mis à jour les couleurs et la typographie pour ListHeader et ListSubHeader. ainsi que les couleurs des commandes d'activation/désactivation sur CheckboxButton et SwitchButton. (I39817)
  • Nous avons corrigé le positionnement de ScrollIndicator dans LazyColumn et ScalingLazyColumn avec ContentPadding. (I2bc51)
  • Nous avons corrigé un bug observé dans l'animation de progression OpenOnPhoneDialog en utilisant le nouveau CircularProgressIndicatorContent. (I3e443)
  • Nous avons mis à jour HorizontalPagerScaffold et VerticalPagerScaffold pour désactiver les animations lorsque l'option "Réduire les animations" est activée (Iaaf68).
  • Nous avons implémenté une animation distincte pour les indicateurs de progression circulaire lorsque la progression dépasse 100 %. (I47135)
  • Nous avons corrigé un bug qui pouvait entraîner l'affichage de EdgeButton avec une forme incorrecte dans les composants Pager (I91db9).

Version 1.0.0-alpha29

13 novembre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha29. La version 1.0.0-alpha29 contient ces commits.

Modifications apportées à l'API

  • Nous avons mis à jour TimeText pour fournir un contenu par défaut qui affiche l'heure. (Id23b3)
  • Nous avons simplifié ScrollInfoProvider pour PagerState en supprimant le paramètre orientation, qui n'est plus nécessaire. Le nouveau comportement consiste à laisser TimeText en place pour la pagination horizontale et verticale. (I71767)
  • LocalHapticFeedback fournit désormais une implémentation HapticFeedback par défaut lorsque l'API Vibrator indique que les retours haptiques sont pris en charge. Les éléments suivants ont été ajoutés à HapticFeedbackType : Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff, VirtualKey. Les composants Wear Compose cliquables de manière prolongée tels que Button, IconButton, TextButton et Card effectuent désormais le retour haptique LONG_PRESS lorsqu'un gestionnaire de clic prolongé a été fourni. (I5083d)

Correction de bugs

  • Nous avons modifié la motion pour les confirmations. (I04bff)
  • Nous avons mis à jour la dépendance d'API minimale à la version 1.7.4 pour les bibliothèques Compose. (I88b46)
  • Un nouveau mouvement a été ajouté à la boîte de dialogue OpenOnPhone. (I1e10a)
  • Nous avons corrigé un bug dans LevelIndicator pour qu'il s'affiche correctement lorsque le niveau est défini sur zéro. (Ie95a4)
  • Nous avons mis à jour les animations HorizontalPageIndicator et VerticalPageIndicator. (I5c8f3)
  • Nous avons ajouté une animation de réduction en point au ArcProgressIndicator indéterminé. (I9fd51)

Version 1.0.0-alpha28

30 octobre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha28. La version 1.0.0-alpha28 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté une variante d'arc à l'indicateur de progression circulaire indéterminé (I2efc1).
  • Nous avons rendu publics les composables AlertDialogContent et Dialog qui composent l'API AlertDialog. Vous pouvez ainsi ajouter des personnalisations si nécessaire (par exemple, personnaliser l'animation AlertDialog tout en conservant la mise en page de contenu recommandée). De plus, nous avons ajouté les paramètres Modifier et Color aux membres EdgeButton, ConfirmButton et DismissButton de AlertDialogDefaults. (I4eb71)
  • Nous avons mis à jour l'API Placeholder comme suit : PlaceholderState.startPlaceholderAnimation a été renommé PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent a été renommé PlaceholderState.isHidden et PlaceholderDefaults.shape a été renommé PlaceholderDefaults.Shape ; le paramètre painter de painterWithPlaceholderOverlayBackgroundBrush a été renommé originalPainter ; la visibilité de PlaceholderState.placeholderProgression est passée de publique à interne et a été renommée placeholderShimmerProgression ; des constantes de durée d'animation d'espace réservé ont été ajoutées à PlaceholderDefaults. (Ie5a59)
  • Nous avons mis à jour l'API EdgeButton comme suit : nous avons renommé le paramètre sur ScreenScaffold de bottomButton en edgeButton et nous avons fait de EdgeButtonSize une classe de valeur. (Ieef15)
  • Nous avons défini la visibilité de copy() sur "public" dans les classes Colors de wear material3 (I0287f).

Correction de bugs

  • Ajout d'une durée d'animation minimale pour IconToggleButton et TextToggleButton au clic (Ieb333)
  • Ajout d'une durée minimale pour l'animation de forme IconButton et TextButton (Iebcee)
  • Correction de l'état de l'option de répétition de DatePicker. (I3587c)
  • Ajout de mouvements pour les boîtes de dialogue d'alerte et de confirmation. (I173b1)

Version 1.0.0-alpha27

16 octobre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha27. La version 1.0.0-alpha27 contient ces commits.

Modifications apportées à l'API

  • Nous avons mis à jour ScreenScaffold et ScrollIndicator suite au changement de nom de Wear Compose Foundation LazyColumn en TransformingLazyColumn. (I0608b)
  • Le paramètre preferredHeight de EdgeButton a été renommé buttonSize. Sa valeur ne peut être choisie que parmi quatre constantes de la nouvelle classe de valeurs EdgeButtonSize. (Icdd70)
  • Nous avons renommé ListSubheader en ListSubHeader et ajouté des valeurs par défaut accessibles au public pour ListHeader et ListSubHeader. (I96730)
  • Nous avons ajouté de nouveaux composants HorizontalPagerScaffold et VerticalPagerScaffold pour Wear, qui fournissent de nouvelles animations et une coordination entre les composants de texte temporel et d'indicateur de page. (Iff7d0)
  • Nous avons ajouté la prise en charge du dispositif rotatif à HorizontalPagerScaffold et VerticalPagerScaffold, ce qui permet aux utilisateurs de parcourir les sélecteurs de page à l'aide de dispositifs de saisie rotatifs. (I9770d)
  • Nous avons apporté des modifications à l'API MotionScheme pour simplifier son utilisation et améliorer sa cohérence. Suppression des fonctions "remember" intégrées et déplacement des schémas de mouvement intégrés vers un objet associé MotionScheme dédié. Les noms standardMotionScheme et expressiveMotionScheme ont été remplacés par "standard" et "expressif". (I5fd45)
  • Nous avons ajouté la prise en charge d'un jeu de couleurs dynamiques basé sur les couleurs système. (I073e9)
  • Nous avons mis à jour le Stepper pour qu'il soit conforme aux dernières spécifications de l'expérience utilisateur. (I622bb)

Correction de bugs

  • Nous avons mis à jour la typographie et les marges intérieures des composants de carte. (I3ae48)
  • Nous avons modifié la marge intérieure de AlertDialog entre les boutons "Confirmer"/"Annuler" et le reste du contenu, en la faisant passer de 8 dp à 12 dp, conformément aux spécifications de l'expérience utilisateur (Ie55f0).
  • Nous avons mis à jour l'opacité des couleurs pour le composant "Curseur". (Idb383)

Version 1.0.0-alpha26

2 octobre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha26. La version 1.0.0-alpha26 contient ces commits.

Modifications apportées à l'API

  • Mise à jour de l'API et de l'apparence de HorizontalPageIndicator et ajout de VerticalPageIndicator à utiliser avec VerticalPager (Ic9309)
  • AlertDialog permet désormais d'omettre le bouton inférieur par défaut de la variante de pile de boutons, pour les mises en page personnalisées dans lesquelles EdgeButton n'est pas requis. (I34fa9)
  • Nous avons ajouté un composant SwipeToReveal pour Wear Material 3 (Ic38b2).
  • Nous avons ajouté la prise en charge du balayage bidirectionnel dans SwipeToReveal, pour les rares cas où l'écran actuel ne prend pas en charge le balayage pour fermer. Par défaut, le balayage pour afficher n'est toujours disponible que pour les balayages de droite à gauche. Il est fortement conseillé de respecter le comportement par défaut pour éviter tout conflit avec le balayage pour fermer. (Ifac04)
  • Nous avons renommé le paramètre buttonHeight de EdgeButton en preferredHeight. (I4fab3)
  • La version Kotlin a été mise à jour vers la version 1.9 (I1a14c).
  • Nous avons renommé OpenOnPhoneDialogDefaults.Icon en OpenOnPhoneDialogDefaults.OpenOnPhoneIcon pour éviter tout conflit avec Icon(I0f391).
  • Nous avons ajouté la prise en charge de ScrollIndicator dans LazyColumn. (Ia546a)
  • Nous avons modifié les valeurs par défaut de TextToggleButton et IconToggleButton. (I7aaa9)
  • Nous avons simplifié les API Picker et PickerGroup. (Id0653)
  • Nous avons ajouté CardDefaults.Shape et CardDefaults.Height, qui (étant des jetons) étaient autrement privés pour les développeurs utilisant la bibliothèque. (I1594a, b/347649765)
  • Nous avons renommé le paramètre de progression de l'indicateur de progression circulaire segmenté binaire en segmentValue. (Ib72d9)
  • Nous avons modifié les couleurs et la mise en page du curseur. (Ic3eec)

Correction de bugs

  • Nous avons mis à jour l'animation de l'icône openOnPhone (I66f85).
  • Nous utilisons désormais les icônes Google Symbols dans Slider, TimePicker et DatePicker. (I46c7c)
  • Nous avons mis à jour les marges intérieures dans Confirmation et OpenOnPhoneDialog. (Iaa82e)

Version 1.0.0-alpha25

18 septembre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha25. La version 1.0.0-alpha25 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté un indicateur de progression circulaire indéterminé. (I427a7)
  • Nous avons ajouté la prise en charge du dépassement de la progression (> 100 %) pour CircularProgressIndicator et SegmentedCircularProgressIndicator. Lorsque la progression dépasse 1,0, la nouvelle couleur overflowTrack l'indique. (Iaaa3d)
  • Les boutons ronds IconToggleButton et TextToggleButton sont désormais compatibles avec une nouvelle variante d'animation de forme, dans laquelle différentes formes représentent les états "coché", "décoché" et "appuyé". L'ancienne variante de forme animée pour l'état "Appuyé" reste acceptée. (I29f03)
  • Nous avons supprimé la compatibilité de EdgeButton avec Column, car il est nécessaire de spécifier explicitement la hauteur de EdgeButton dans ScreenScaffold. (Ie353d)
  • Nous avons ajouté la prise en charge de LazyColumn Wear Compose avec notre ScreenScaffold (et ajouté une implémentation de ScrollInfoProvider pour LazyColumnState). (Ib8d29)
  • Nous avons combiné LocalTextMaxLines, LocalTextAlign et LocalTextOverflow dans une seule composition LocalTextConfiguration locale pour fournir une solution plus évolutive à l'avenir. (I5edbc)
  • Nous avons ajouté "arc-large" comme échelle typographique supplémentaire, réservée aux chaînes de texte d'en-tête courtes en haut ou en bas de l'écran, comme dans les pop-ups de confirmation. (I60e3e)
  • Nous avons ajouté des valeurs par défaut au bouton pour les tailles d'icône et la marge intérieure de contenu recommandées (grandes et très grandes). (I84675)

Correction de bugs

  • Nous avons modifié les couleurs de IconButton et TextButton. (I48324)
  • Nous avons modifié les surcharges de bouton de base pour qu'elles soient alignées verticalement au centre, afin d'assurer la cohérence avec les autres surcharges. Pour rétablir le comportement précédent, utilisez Modifier.align à partir de RowScope. (I66e57)

Version 1.0.0-alpha24

4 septembre 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha24. La version 1.0.0-alpha24 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté un schéma de mouvement au thème Material3. Il sera utilisé par les composants de la bibliothèque pour appliquer des spécifications d'animation telles que des ressorts pour un mouvement expressif. (I54ff3)
  • Nous avons ajouté les composants AppScaffold et ScreenScaffold à la bibliothèque Material3, qui incluent des fonctionnalités permettant de coordonner la superposition et les transitions de TimeText et ScrollIndicator. AppScaffold fournit un niveau supérieur de composants de structure qui se trouvent au-dessus de tous les écrans. Par conséquent, l'ajout de TimeText à AppScaffold lui permet de rester en place lors du balayage entre les écrans. Les écrans peuvent eux-mêmes remplacer ou masquer le texte de l'heure. ScreenScaffold fournit un emplacement pour ScrollIndicator et anime automatiquement l'indicateur de défilement lors du défilement, y compris le délai d'inactivité pour masquer l'indicateur de défilement. (I047d6)
  • Nous avons ajouté ScrollIndicator avec le nouveau design Material3. La taille de la miniature est fixe et basée sur le contenu initial de la liste. Cela permet d'éviter les variations de taille lorsque le contenu à chargement différé est chargé dans la liste. (Ic228d)
  • Nous avons modifié l'API ScrollAway de sorte que ScreenStage soit une classe de valeurs au lieu d'une classe enum, afin de permettre l'ajout d'étapes supplémentaires si nécessaire à l'avenir. (I48c93)
  • Nous avons ajouté EdgeButton, un bouton Wear spécifique dont la forme suit la courbure du bas de l'écran (I16369).
  • Nous avons ajouté un nouvel emplacement au ScreenScaffold pour un bouton en bas (tel que EdgeButton), qui sera affiché et redimensionné en fonction du contenu défilant (I032eb).
  • Nous avons ajouté Modifier.scrollTransform et Modifier.targetMorphingHeight pour ajouter des effets de mouvement Material3 aux éléments de LazyColumn. (Ie229a)
  • Nous avons ajouté SegmentedCircularProgressIndicator comme variante de CircularProgressIndicator. La variante segmentée affiche une seule valeur de progression pour tous les segments ou indique si chaque segment est activé ou désactivé. (I6e059)
  • Nous avons ajouté LinearProgressIndicator comme alternative à CircularProgressIndicator. (I89182)
  • Nous avons ajouté AlertDialog, qui fournit des mises en page pour présenter des invites importantes à l'utilisateur. Des variantes sont incluses pour une paire de boutons de confirmation/d'annulation ou un seul bouton en bas (généralement un EdgeButton) sous une pile d'options. Les deux variantes comportent des emplacements pour l'icône, le titre et du texte supplémentaire permettant de fournir plus de détails. (Ieb873)
  • Nous avons ajouté OpenOnPhoneDialog, qui doit être utilisé pour indiquer une action qui se poursuivra sur le téléphone de l'utilisateur. OpenOnPhoneDialog est fermé après un délai spécifié. (I978fd)
  • Nous avons ajouté Confirmation, un composant de boîte de dialogue qui comporte des emplacements pour une icône et du texte incurvé ou linéaire. Des variantes spécifiques sont fournies pour les messages de réussite/d'échec. Les confirmations sont automatiquement fermées après un certain délai. (Ib43e8)
  • Nous avons ajouté un arrière-plan à TimeText pour atténuer les problèmes liés au chevauchement du contenu sous-jacent et de TimeText, qui masquait l'heure. (Ia11fd)
  • Nous avons ajouté LevelIndicator, qui affiche la valeur d'un paramètre tel que le volume et peut être utilisé avec le composant Stepper existant pour créer un écran de volume. LevelIndicator est semblable à ScrollIndicator, mais s'affiche de l'autre côté de l'écran et présente par défaut une épaisseur de trait plus importante et une couleur d'indicateur différente. (I8a4ac)
  • Nous avons ajouté TimePicker, avec des mises en page pour l'heure au format 24 heures (avec ou sans secondes) ou au format 12 heures avec sélection AM/PM. (Ia5124)
  • Nous avons ajouté DatePicker, avec une configuration pour l'ordre des colonnes (par exemple, jour-mois-année, mois-jour-année ou année-mois-jour) et des dates minimales/maximales facultatives. (Ibf13b)
  • Nous avons ajouté un paramètre de pondération à la fonction text de TimeText. Dans les cas où TimeText est composé de plusieurs éléments de texte, cela permet de contrôler la façon dont l'espace est réparti. (I36700)
  • Nous avons ajouté RadioButton et SplitRadioButton. Ces composants simplifient l'API précédente en combinant le SelectableButton (Split) et le bouton radio enfant (If7ae8).
  • Nous avons ajouté CheckboxButton et SplitCheckboxButton. Ces composants simplifient l'API précédente en combinant le contrôle (fractionné)ToggleButton et le contrôle enfant de la case à cocher (Ia8f70).
  • Nous avons ajouté SwitchButton et SplitSwitchButton. Ces composants simplifient l'API précédente en combinant le (Split)ToggleButton et le contrôle Switch enfant (I0d349).
  • Nous avons mis à jour la documentation AnimatedText pour expliquer le comportement de dépassement. (Iff30a)
  • Nous avons ajouté ButtonGrouppour combiner deux ou trois boutons de sorte que les pressions sur les boutons produisent une animation coordonnée. (Ie27db)
  • Nous avons ajouté une animation de forme facultative pour IconButton et TextButton lorsque l'utilisateur appuie dessus. (Iffca5)
  • Nous avons ajouté une variante de couleur supplémentaire, FilledVariant, à Button, IconButton, TextButton, CompactButton et EdgeButton (I65fc3).
  • Nous avons ajouté le paramètre forcedSize à ImageWithScrimPainter, de sorte que les arrière-plans des images de bouton conservent désormais la taille de leur composant par défaut. Si vous définissez forcedSize = null, Painter.instrinsicSize est adopté à la place. (Ic57af)
  • Nous avons ajouté un appui prolongé aux boutons (Ib613d).
  • La prise en charge du clic long a également été ajoutée à IconButton et TextButton. (I38891)
  • La prise en charge du clic long a été ajoutée aux cartes. (I305d5)
  • Nous avons ajouté LocalTextMaxLines, LocalTextAlign et LocalTextOverflow en tant que CompositionLocals et les avons utilisés comme paramètres par défaut sur Text. Les locaux de composition peuvent désormais être utilisés par des composants tels que CheckboxButton, SwitchButton et RadioButton pour implémenter des conseils UX, mais les développeurs peuvent remplacer les paramètres si nécessaire. (Iab841)
  • Nous avons ajouté Placeholder pour vous aider à masquer le contenu des composants tels que les boutons et les cartes jusqu'à ce que les données soient chargées. (I1a532)
  • Nous avons ajouté IconToggleButtonColors et TextToggleButtonColors pour remplacer ToggleButtonColors, qui a été supprimé. (Ie0bf1)

Correction de bugs

  • Nous avons mis à jour Button, FilledTonalButton, OutlinedButton, ChildButton et CompactButton pour utiliser les nouveaux CompositionLocals, LocalTextMaxLines, LocalTextAlign et LocalTextOverflow afin d'implémenter les conseils sur l'expérience utilisateur. Les développeurs peuvent remplacer ces paramètres directement dans le texte si nécessaire (Ie51f7).
  • Nous avons modifié la largeur de trait par défaut de LevelIndicator pour la définir sur 6dp afin de la différencier de ScrollIndicator, dont la largeur de trait est de 4dp. (If6f63)
  • Nous avons corrigé un problème dans TimeText afin que les angles de balayage plus importants soient pris en charge. (Ie489f)
  • Correction d'un problème lors de la recomposition de EdgeButton. (I4cdca)
  • Correction de la mise en page des boutons à bascule fractionnés lorsque des marges intérieures de contenu personnalisées sont fournies. (Ia33d3)
  • Arrondi à la valeur supérieure les petites valeurs de progression pour qu'elles soient au moins égales à la largeur de ligne de l'indicateur de progression. (I3bd84)

Version 1.0.0-alpha23

14 mai 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha23. La version 1.0.0-alpha23 contient ces commits.

Modifications apportées à l'API

  • Nous avons mis à jour les API ToggleButton et RadioButton pour que les couleurs désactivées puissent être configurées. (If13a7)
  • Nous avons ajouté un CircularProgressIndicator pour Material3. (Ib3bd7)

Correction de bugs

  • Nous avons corrigé un bug qui faisait que les boutons sélectionnables annonçaient "Appuyez deux fois pour activer/désactiver" alors qu'ils étaient déjà sélectionnés. (I7ed88)

Version 1.0.0-alpha22

1er mai 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha22. La version 1.0.0-alpha22 contient ces commits.

Modifications apportées à l'API

  • Nous avons mis à jour ColorScheme Material3. (I7b2b8)
  • Nous avons mis à jour le composant Switch Material3. En plus de quelques modifications de couleur, la coche correspond désormais à celle utilisée pour la case à cocher. (Icac7b)

Correction de bugs

  • Mettez à jour toutes les démos d'intégration pour utiliser le nouveau modificateur rotaryScrollable. (I25090)

Version 1.0.0-alpha21

17 avril 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha21. La version 1.0.0-alpha21 contient ces commits.

  • Cette version a été déclenchée en raison d'un problème technique dans la version précédente, qui entraînait l'absence de fichiers JAR sources. Aucun nouveau commit dans cette version.

Version 1.0.0-alpha20

3 avril 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha20. La version 1.0.0-alpha20 contient ces commits.

Correction de bugs

  • Nous avons ajusté les valeurs alpha des états "pressed" (appuyé) et "focused" (sélectionné) de Ripple pour le contraste. (I59f0a)
  • Nous avons ajouté un espacement entre les libellés principaux et secondaires dans Button, ToggleButton et RadioButton, suite aux dernières modifications apportées aux styles typographiques et aux hauteurs de ligne. (I2c0ba)

Version 1.0.0-alpha19

6 mars 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha19. La version 1.0.0-alpha19 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté TimeText à la bibliothèque Wear Compose Material3. Ce composant affiche l'heure actuelle (et d'autres informations sur l'état) en haut de l'écran. La nouvelle API Material3 concise évite la duplication entre le contenu linéaire et le contenu incurvé. (I4d7c3)
  • Nous avons remplacé les noms des paramètres onSelected par onSelect pour RadioButton. (I1a971)
  • Tokenize RadioButton et SplitRadioButton, et refactorisez également les méthodes existantes pour réduire la quantité de recherche CompositionLocal en ajoutant des instances mises en cache de couleurs et en rendant les méthodes de RadioButtonColors et SplitRadioButtonColors internes. (I02b33)

Version 1.0.0-alpha18

21 février 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha18. Liste des commits de la version 1.0.0-alpha18

Modifications apportées à l'API

  • Nous avons refactorisé le modèle par défaut pour CardColors, ToggleButtonColors et SplitToggleButtonColors en créant des instances mises en cache en interne et en réduisant l'utilisation de CompositionLocal. (If3fec)

Version 1.0.0-alpha17

7 février 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha17. Liste des commits de la version 1.0.0-alpha17

Modifications apportées à l'API

  • Mise à jour de l'API Button pour qu'elle utilise buttonColors par défaut et suppression du filledButtonColors en double. (I4fe3b)
  • Nous avons refactorisé les modèles par défaut pour ButtonColors, IconButtonColors et TextButtonColors en créant une instance mise en cache en interne et en réduisant l'utilisation de CompositionLocal. (I5f51c)
  • Nous avons supprimé la surcharge de rememberUpdatedState dans les classes de couleurs spécifiques aux composants et marqué les méthodes d'accesseur à l'intérieur des classes de couleurs comme internes. (If6571)

Correction de bugs

  • Nous avons mis à jour Modifier.minimumInteractiveComponentSize pour utiliser Modifier.node. (Iba6b7)

Version 1.0.0-alpha16

24 janvier 2024

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha16. Liste des commits de la version 1.0.0-alpha16

Nouvelles fonctionnalités

  • Nous avons ajouté CompactButton, qui peut utiliser les mêmes couleurs pleines, tonales pleines et de contour que Button.(I05df0)

Modifications apportées à l'API

  • Nous avons ajouté RadioButton/SplitRadioButton en tant que conteneurs pour les contrôles de sélection, tels que le contrôle radio. RadioButton est différent de ToggleButton, car il peut être sélectionné (et fonctionne dans un groupe de sélection), tandis que ToggleButton peut être activé ou désactivé (et est indépendant). (I61275)
  • Nous supprimons LocalContentAlpha de la bibliothèque Wear Compose Material3 pour assurer la cohérence avec la bibliothèque Compose Material3. (I49a0a)
  • Les composants Wear Material et Wear Material3 exposant un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource pouvant être nul, qui est défini par défaut sur null. Il n'y a pas de changement sémantique ici : transmettre la valeur null signifie que vous ne souhaitez pas hisser le MutableInteractionSource, et il sera créé à l'intérieur du composant si nécessaire. Le passage à la valeur nulle permet à certains composants de ne jamais allouer de MutableInteractionSource et à 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 le MutableInteractionSource que 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. (Ib90fc, b/298048146)
  • Ajout d'une nouvelle API Ripple dans les bibliothèques wear:compose-material et wear:compose-material3, qui remplace l'API rememberRipple obsolète. Ajoute également un CompositionLocal, LocalUseFallbackRippleImplementation temporaire pour rétablir l'utilisation des API rememberRipple/RippleTheme obsolètes par les composants Material. Cette fonctionnalité sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à aider temporairement à la migration dans les cas où vous fournissez un RippleTheme personnalisé. Consultez developer.android.com pour obtenir des informations sur la migration et plus de contexte sur ce changement. (af92b21)
  • Nous avons apporté des améliorations mineures à l'API HorizontalPageIndicator et à sa documentation. (I60efc)
  • Nous avons mis à jour ColorScheme pour le rendre immuable, ce qui rend les mises à jour de couleurs individuelles moins efficaces, mais rend l'utilisation plus courante des couleurs plus efficace. La raison de ce changement est que la majorité des applications n'ont pas pour cas d'utilisation principal la mise à jour de couleurs individuelles. Cela reste possible, mais la recomposition sera plus fréquente qu'avant. En contrepartie, nous réduisons considérablement le nombre d'abonnements d'état dans l'ensemble du code matériel, ce qui aura un impact sur le coût d'initialisation et d'exécution des cas d'utilisation plus standards. (Ibc2d6)
  • Mise à jour des API ToggleButton et SplitToggleButton pour permettre la personnalisation des couleurs désactivées. De plus, les jetons Material Design sont désormais utilisés pour les valeurs de couleur et de typographie. (If087c)
  • Mise à jour des couleurs d'arrière-plan des images de boutons pour utiliser les jetons Material Design. (Iba215)
  • Nous avons modifié les composants Checkbox, Switch et RadioButton pour qu'ils soient en lecture seule en supprimant la gestion des clics. Ces composants sont censés être utilisés dans (Split)ToggleButton qui gère le clic. Ils sont donc désormais plus clairement indiqués comme étant réservés à l'affichage (et ne sont pas destinés à être utilisés de manière autonome sur Wear). (I2322e)

Correction de bugs

  • Nous avons ajouté des jetons pour les valeurs de mouvement des durées et des courbes d'accélération dans Wear Compose Material 3. (I437cd)
  • Nous avons corrigé un bug dans les ToggleButton, SplitToggleButton, Checkbox, Switch et RadioButton afin que les annonces d'accessibilité ne soient pas répétées (auparavant, les rôles sémantiques étaient dupliqués). (Ica281)
  • Nous avons supprimé le calque materialcore pour CompactButton afin d'améliorer les performances. (7902858)

Version 1.0.0-alpha15

15 novembre 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha15. Liste des commits de la version 1.0.0-alpha15

Modifications apportées à l'API

  • Nous avons renommé le niveau de base SwipeToDismissBox en BasicSwipeToDismissBox. Cela permet de mieux distinguer le composant de niveau Foundation et le composant de niveau Material3 SwipeToDismissBox. Ce dernier extrait les couleurs de MaterialTheme à utiliser dans les écrans de protection et délègue l'implémentation restante à BasicSwipeToDismissBox. (Ibecfc)

Correction de bugs

  • Nous avons supprimé la couche material-core pour le bouton Material3 afin d'améliorer les performances. (I55555)

Version 1.0.0-alpha14

18 octobre 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha14. Liste des commits de la version 1.0.0-alpha14

Modifications apportées à l'API

  • Nous avons supprimé le paramètre indicatorStyle de HorizontalPageIndicator Material3. Il suivra désormais la forme de l'écran de l'appareil (linéaire ou ronde). (I83728)
  • Nous avons séparé les couleurs de SplitToggleButton de celles de ToggleButton en ajoutant une classe SplitToggleButtonColors. (I78bee)

Version 1.0.0-alpha13

4 octobre 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha13. Liste des commits de la version 1.0.0-alpha13

Modifications apportées à l'API

  • Nous avons ajouté un champ "Sous-titre" facultatif à TitleCard. (Ifc45a)
  • Nous avons ajouté des jetons de couleur Material Design pour TextButton. (I769dc)

Version 1.0.0-alpha12

20 septembre 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12.

Modifications apportées à l'API

  • Nous avons mis à jour IconButton pour qu'il utilise les jetons Material Design. (I3f137)
  • Nous avons mis à jour IconToggleButton pour qu'il utilise les jetons Material Design. (I7d263)
  • Nous avons rendu publics les constructeurs de CheckboxColors, RadioButtonColors et SwitchColors. (I82b73)

Version 1.0.0-alpha11

6 septembre 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11.

Correction de bugs

  • Nous avons mis à jour la typographie des cartes Material3 pour TitleMedium. (I597bd)
  • Nous avons mis à jour la typographie et l'alignement de nos ListHeader et ListSubheader Material 3. (Ib5ceb)

Version 1.0.0-alpha10

23 août 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10

Nouvelles fonctionnalités

  • Ajoutez HorizontalPageIndicator dans la bibliothèque Wear Material3. (Ifee99)

Modifications apportées à l'API

  • Mettez à jour le code des boutons pour utiliser les jetons de conception Material3. (I92fe4)
  • Les API Wear Material 3 Stepper et Slider sont déclarées expérimentales, car les détails de l'interface utilisateur sont encore en cours de finalisation. (I84d54)
  • Nous avons supprimé les tailles ExtraSmall des TextButton et TextToggleButton ronds, car cette taille ne s'applique qu'aux IconButton. (Ibc7d5)

Correction de bugs

  • Nous avons mis à jour les consignes de typographie pour TextToggleButton afin d'utiliser LabelLarge pour LargeButtonSize (Ib10fa).
  • Nous avons mis à jour les consignes concernant la typographie pour TextButton afin d'utiliser LabelLarge pour LargeButtonSize (I8f3a7).
  • Nous avons défini la taille minimale de la cible tactile de la carte sur 48 dp pour l'accessibilité. (Ieb9b1)
  • Ajout d'une démo AppCard avec image, suppression de la démo AppCard avec arrière-plan (Id735f)
  • Correction d'un bug dans les boutons ronds où les modificateurs n'étaient pas chaînés correctement. (I5e162)

Version 1.0.0-alpha09

9 août 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09

Nouvelles fonctionnalités

  • Ajout de ToggleButton pour Material 3 (I6bed6)

Modifications apportées à l'API

  • Nous avons activé l'annotation FloatRange en tant que contraintes d'API , qui étaient auparavant indiquées dans les commentaires. (Icb401)
  • Nous avons mis à jour la typographie de Wear Material3 pour qu'elle respecte les dernières consignes Material3. (I1bad6)

Correction de bugs

  • Nous avons mis à jour les couleurs de Button, IconButton et TextButton conformément à la conception Material3. (Ib2495)
  • Nous avons corrigé la visibilité des coches dans les cases à cocher désactivées. (Ib25bf)

Version 1.0.0-alpha08

26 juillet 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08

Nouvelles fonctionnalités

  • Nous avons ajouté les contrôles de sélection suivants pour Material3 : Switch, Checkbox et RadioButton. (Ib918c)
  • Nous avons ajouté IconToggleButton et TextToggleButton à Material3, un bouton bascule circulaire avec un seul emplacement pour l'icône et le texte, respectivement. Pour différentes tailles de ToggleButton, nous vous recommandons d'utiliser Modifier.touchTargetAwareSize avec les tailles fournies dans les boutons bascule correspondants. (I9f015)
  • Nous avons ajouté ListHeader et ListSubheader à nos composants Material3. (Ibaefe)
  • Nous avons ajouté Material3 SwipeToDismissBox, qui appelle la nouvelle fondation SwipeToDismissBox et fournit les valeurs de couleur par défaut de son thème. (I275fb)
  • Nous avons ajouté InlineSlider Material3 à Wear Compose. Il permet aux utilisateurs de faire une sélection parmi une plage de valeurs. La plage de sélections s'affiche sous forme de barre entre les valeurs minimales et maximales de la plage. Les utilisateurs peuvent sélectionner une seule valeur. InlineSlider est idéal pour ajuster des paramètres comme le volume ou la luminosité. (I7085f)

Modifications apportées à l'API

  • Nous avons mis à jour les formes du thème Wear Material 3 pour qu'elles utilisent RoundedCornerShape au lieu de Shape. (Idb133)
  • Nous avons rendu publiques les constantes de hauteur pour le bouton (Idbfde).
  • Mise à jour des fichiers API pour annoter la suppression de la compatibilité. (I8e87a, b/287516207)
  • Nous avons mis à jour InlineSliderColors dans Wear Compose Material 3 pour qu'il dispose d'un constructeur et de propriétés publics. (I6b632)
  • Nous avons mis à jour toutes les classes de couleur dans Wear Compose Material 3 pour qu'elles disposent de constructeurs et de propriétés publics. (I17702)
  • Nous avons rendu publiques les constantes de marge intérieure horizontale et verticale du bouton. (Ieeaf7)

Correction de bugs

  • Le bouton ajuste désormais sa hauteur pour s'adapter au contenu qui a augmenté en raison de grandes polices pour l'accessibilité, si nécessaire (Iaf302).
  • Nous avons mis à jour un certain nombre de démos de boutons pour résoudre les problèmes d'accessibilité. (I61ce9)
  • Stepper et InlineSlider acceptent désormais les clics répétés sur un appui prolongé. Vous pouvez ainsi augmenter ou diminuer rapidement la valeur de Stepper et InlineSlider en appuyant de manière prolongée sur les boutons + ou - (I27359).

Version 1.0.0-alpha07

21 juin 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07

Nouvelles fonctionnalités

  • Nous avons ajouté le composant Stepper à notre bibliothèque Compose pour Wear OS Material 3. Cette version est semblable à la version Material précédente, mais elle omet la sémantique de plage par défaut, conformément aux commentaires des développeurs. Nous fournissons Modifier.rangeSemantics les cas où la sémantique de plage est requise. (Ic39fd)
  • Nous avons ajouté curvedText à notre bibliothèque Compose pour Wear OS Material 3. (Ia8ae3)

Correction de bugs

  • Nous avons mis à jour wear.compose.foundation pour qu'il s'agisse d'une dépendance d'API de wear.compose.material3. (I72004, b/285404743)

Version 1.0.0-alpha06

7 juin 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06

Correction de bugs

  • Nous avons mis à jour TextButton pour utiliser la fonction d'extension toDisabledColor afin de corriger les valeurs alpha désactivées. (I814c8)

Version 1.0.0-alpha05

24 mai 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.

Nouvelles fonctionnalités

  • Nous avons ajouté TextButton à Material3, un bouton circulaire avec un seul emplacement pour le texte. Pour différentes tailles de TextButton, nous vous recommandons d'utiliser Modifier.touchTargetAwareSize et ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize et LargeButtonSizeIcon fournis dans TextButtonDefaults. La valeur par défaut TextButton n'a pas de bordure et présente un arrière-plan transparent pour les actions peu importantes. Pour les actions qui nécessitent une forte intensité, utilisez filledTextButtonColors. Pour une intensité moyenne, utilisez TextButton avec une bordure ButtonDefaults.outlinedButtonBorder. Pour un juste milieu entre les deux, utilisez filledTonalTextButtonColors. (I667e4)
  • Nous avons ajouté Card, OutlinedCard, AppCard et TitleCard à la bibliothèque Wear Compose Material3. AppCard et TitleCard peuvent également être représentés sous forme de contour à l'aide de CardDefaults.outlinedCardColors et CardDefaults.outlinedCardBorder(I80e72).

Modifications apportées à l'API

  • Nous avons déplacé le paramètre de libellé du bouton à la fin pour prendre en charge la syntaxe lambda de fin et supprimé le paramètre de rôle (qui peut être remplacé à l'aide de Modifier.semantics). Les constructeurs ButtonColors sont désormais publics. (Ie1b6d)

Version 1.0.0-alpha04

10 mai 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04

Nouvelles fonctionnalités

  • Nous avons ajouté IconButton à Material3, un bouton circulaire avec un seul emplacement pour une icône ou une image. Il existe quatre variantes : IconButton, FilledIconButton, FilledTonalIconButton et OutlinedIconButton. Pour différentes tailles de IconButton, nous vous recommandons d'utiliser Modifier.touchTargetAwareSize et ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize et LargeButtonSizeIcon fournis dans IconButtonDefaults. Nous fournissons également IconButtonDefaults.iconSizeFor pour déterminer la taille d'icône recommandée pour une taille de bouton donnée. (I721d4)

Version 1.0.0-alpha03

19 avril 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Modifications apportées à l'API

  • Nous avons ajouté le composant Button Material 3. Il s'agit de notre bouton en forme de stade, qui s'appelait auparavant Chip dans la bibliothèque Wear Compose Material (il a été renommé Button pour assurer la cohérence avec la bibliothèque Compose Material 3). Le bouton par défaut a un arrière-plan rempli. Il existe des variantes de bouton pour FilledTonal (arrière-plan atténué), "Outlined" (transparent avec une bordure fine) et "Child" (arrière-plan transparent sans bordure, utilisé pour les actions supplémentaires avec le moins de visibilité). Les boutons ronds pour les icônes et le contenu textuel simples seront disponibles dans une prochaine version.(Ia6942)

Version 1.0.0-alpha02

5 avril 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.

Correction de bugs

  • Nous avons ajouté un DefaultTextStyle à Wear Compose Material 3, qui définit la valeur par défaut de PlatformTextStyle.includeFontPadding sur "true" (le paramètre actuel). Cela nous permettra de synchroniser la désactivation de la marge intérieure de la police par défaut avec les bibliothèques Compose à l'avenir (voir Corriger la marge intérieure de la police dans Compose pour l'arrière-plan). (I7e461)

Version 1.0.0-alpha01

22 mars 2023

Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01

Nouvelles fonctionnalités

  • Material 3 est la nouvelle évolution de Material Design. Il inclut une thématisation mise à jour et des composants repensés. Material 3 sur Wear Compose est conçu pour être cohérent avec la bibliothèque Compose Material 3 sur Android. Cette première version alpha contient les premières implémentations fonctionnelles des éléments suivants :

    • Thème Material : configure le schéma de couleurs, la typographie et les formes de manière cohérente pour tous les composants de la bibliothèque. Le thème Material3 a des couleurs révisées qui prennent en charge le contraste accessible. (I84005)
    • Texte/Icône : composants de base pour les applications Wear Compose (I8e06a)
  • Nous continuerons à développer Wear Material (androidx.wear.compose:compose-material) et Wear Material 3 (androidx.wear.compose:compose-material3) en parallèle. Les prochaines versions de Material3 étendront l'ensemble de widgets pour inclure d'autres composants connus de Compose pour Wear OS, tels que les boutons, les sélecteurs et les curseurs.

  • Les bibliothèques Wear Material et Wear Material 3 s'excluent mutuellement et ne doivent pas être mélangées dans la même application, principalement parce qu'elles font référence à des thèmes différents, ce qui entraînerait des incohérences inattendues.