Wear Compose

  
Créez des applications Jetpack Compose pour les accessoires connectés en fournissant des fonctionnalités compatibles avec les tailles, les formes et les gestes de navigation spécifiques à ce type d'accessoires.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
11 décembre 2024 1.4.0 - - 1.5.0-alpha07

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.4.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.4.0"

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

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.4.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

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

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.4.0")

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

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material 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.0

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 déclenché une modification de l'API. (I0c6dc)
  • Nous avons modifié IconToggleButtonShapes et TextToggleButtonShapes pour qu'ils comportent deux paramètres de forme différents, uncheckedPressed et checkedPressed. (I85dbd)
  • Les options de mois/jour non valides sont désormais visibles dans le 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 defaultColorScheme facultatif et en renvoyant désormais ColorScheme nullable. Cela signifie que l'appelant doit gérer explicitement le cas de remplacement lorsqu'aucun jeu de couleurs dynamique n'est fourni. (I6d62e)
  • Nous avons mis à jour les tailles d'icône dans ButtonDefaults pour les utiliser avec CompactButton. Un CompactButton ne contenant qu'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 affiche 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 des tailles d'icônes recommandées pour les quatre EdgeButtonSizes différents. Nous avons également modifié la mise en page de EdgeButton afin qu'elle comporte une marge intérieure inférieure légèrement plus importante que la marge intérieure supérieure, ce qui améliore l'apparence du contenu de l'icône et du texte. (Id772a)
  • Nous avons ajouté du mouvement à LinearProgressIndicator et exposé LinearProgressIndicatorContent, qui fournit le contenu visuel sans animations. (Idee99)
  • Nous avons ajouté un nouveau 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 morphing automatique à l'aide du nouveau wrapper TransformExclusion. (I1652f)
  • Nous avons remplacé le type de ButtonDefaults.shape par RoundedCornerShape. (Iccdf2)

Correction de bugs

  • Nous avons corrigé un bug pour respecter l'alpha existante en arrière-plan pour TimeText. (I1eb60)
  • Nous avons défini TextMotion sur Animated par défaut dans notre typographie pour éviter les à-coups du texte dus à l'ancrage des glyphes de lettres aux limites de 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'espacement pour améliorer la visibilité. (Ied7cb)
  • Nous avons corrigé un bug sur Modifier.scrollTransform lors de l'ajout/de la suppression/du déplacement d'éléments. (I6830f)
  • Nous avons corrigé un problème d'animation des boutons ronds pour les pressions courtes (auparavant, la durée d'animation minimale n'était pas toujours respectée). (I757a7)
  • Nous avons modifié l'angle de balayage de LevelIndicator pour le définir sur 20% (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 de ListHeader et ListSubHeader. ainsi que les couleurs des commandes d'activation/de 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 détecté dans l'animation de progression de OpenOnPhoneDialog en utilisant le nouveau CircularProgressIndicatorContent. (I3e443)
  • Nous avons mis à jour HorizontalPagerScaffold et VerticalPagerScaffold pour désactiver les animations lorsque la réduction du mouvement est activée (Iaaf68).
  • Nous avons implémenté une animation distincte pour les indicateurs de progression circulaires lorsque la progression dépasse 100%. (I47135)
  • Nous avons corrigé un bug qui pouvait entraîner le dessin 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 compatibles. Les éléments suivants ont été ajoutés à HapticFeedbackType : Confirm, ContextClick, GestureEnd, GestureThresholdActivate, Reject, SegmentFrequentTick, SegmentTick, ToggleOn, ToggleOff et VirtualKey. Les composants Wear Compose à clic long tels que Button, IconButton, TextButton et Card effectuent désormais le retour haptique LONG_PRESS lorsqu'un gestionnaire de clic long a été fourni. (I5083d)

Correction de bugs

  • Nous avons modifié le mouvement 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é pour la boîte de dialogue OpenOnPhone. (I1e10a)
  • Nous avons corrigé un bug dans LevelIndicator pour qu'il s'affiche correctement avec le niveau à zéro. (Ie95a4)
  • Nous avons mis à jour les animations HorizontalPageIndicator et VerticalPageIndicator. (I5c8f3)
  • Nous avons ajouté une animation de réduction à un point à l'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 variation d'arc à l'indicateur de progression circulaire indéterminé (I2efc1).
  • Nous avons rendu publics les composables AlertDialogContent et Dialog qui constituent l'API AlertDialog afin qu'il soit possible d'ajouter une personnalisation si nécessaire (par exemple, en personnalisant l'animation AlertDialog tout en conservant la mise en page de contenu recommandée). De plus, nous avons ajouté des paramètres Modifier et Color aux membres EdgeButton, ConfirmButton et DismissButton de AlertDialogDefaults. (I4eb71)
  • Nous avons mis à jour l'API Placeholder comme suit: nous avons renommé PlaceholderState.startPlaceholderAnimation en PlaceholderState.animatePlaceholder, PlaceholderState.isShowContent en PlaceholderState.isHidden et PlaceholderDefaults.shape en PlaceholderDefaults.Shape ; nous avons renommé le paramètre painter dans painterWithPlaceholderOverlayBackgroundBrush en originalPainter ; nous avons modifié la visibilité de PlaceholderState.placeholderProgression de public en interne et l'avons renommé en placeholderShimmerProgression ; nous avons ajouté des constantes de durée d'animation d'espace réservé à PlaceholderDefaults. (Ie5a59)
  • Nous avons modifié l'API EdgeButton comme suit: nous avons renommé le paramètre bottomButton de ScreenScaffold en edgeButton et avons fait de EdgeButtonSize une classe de valeurs. (Ieef15)
  • Nous avons défini la visibilité de copy() sur "public" dans les classes de couleurs wear material3 (I0287f).

Correction de bugs

  • Ajout d'une durée d'animation minimale pour IconToggleButton et TextToggleButton lors d'un 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 après le 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 remplacé le nom ListSubheader par 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 les composants d'indicateur de page. (Iff7d0)
  • Nous avons ajouté la compatibilité avec les dispositifs rotatifs à HorizontalPagerScaffold et VerticalPagerScaffold, ce qui permet aux utilisateurs de naviguer dans les télécopieurs à l'aide de dispositifs d'entrée rotatifs. (I9770d)
  • Nous avons apporté des modifications à l'API MotionScheme pour simplifier son utilisation et améliorer sa cohérence. Suppression des fonctions de mémorisation intégrées et déplacement des schémas de mouvement intégrés vers un objet associé MotionScheme dédié. Renommage de standardMotionScheme et expressiveMotionScheme en "standard" et "expressif". (I5fd45)
  • Nous avons ajouté la prise en charge d'un jeu de couleurs dynamique basé sur les couleurs système. (I073e9)
  • Nous avons mis à jour le sélecteur de valeurs en fonction des dernières spécifications de l'expérience utilisateur. (I622bb)

Correction de bugs

  • Nous avons modifié la typographie et les marges des composants de carte. (I3ae48)
  • Nous avons modifié la marge intérieure dans AlertDialog entre les boutons "Confirm"/"Dismiss" et le reste du contenu de 8 dp à 12 dp, conformément aux spécifications de l'expérience utilisateur (Ie55f0).
  • Nous avons modifié l'opacité de la couleur du 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

  • Nous avons mis à jour l'API et l'apparence de HorizontalPageIndicator, et ajouté VerticalPageIndicator à utiliser avec VerticalPager. (Ic9309)
  • AlertDialog permet désormais d'omettre le bouton inférieur par défaut de la variation de la pile de boutons, pour les mises en page personnalisées dans lesquelles EdgeButton n'est pas obligatoire. (I34fa9)
  • Ajout d'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 n'est pas compatible avec le balayage pour ignorer. Par défaut, le balayage pour afficher n'est toujours disponible que pour les balayages de droite à gauche. Nous vous recommandons vivement de respecter ce 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 mis à jour 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 qui utilisaient 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 mis à jour 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 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ébordement de progression (> 100 %) pour CircularProgressIndicator et SegmentedCircularProgressIndicator. Lorsque la progression dépasse 1,0, la nouvelle couleur overflowTrack s'affiche. (Iaaa3d)
  • Les IconToggleButton et TextToggleButton ronds sont désormais compatibles avec une nouvelle variation d'animation de forme, dans laquelle différentes formes représentent les états coché, non coché et enfoncé. La variation de forme animée précédente pour l'état "juste appuyé" est toujours prise en charge. (I29f03)
  • Nous avons supprimé la prise en charge de l'utilisation 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 locale LocalTextConfiguration pour proposer une solution plus évolutive à l'avenir. (I5edbc)
  • Nous avons ajouté arc-large comme échelle de type supplémentaire, réservée aux courtes chaînes de texte d'en-tête en haut ou en bas de l'écran, comme dans les superpositions de confirmation. (I60e3e)
  • Nous avons ajouté des valeurs par défaut au bouton pour les tailles d'icônes recommandées (grande et très grande) et la marge intérieure du contenu. (I84675)

Correction de bugs

  • Nous avons mis à jour les couleurs de IconButton et TextButton. (I48324)
  • Nous avons modifié les surcharges de base de Button pour qu'elles soient alignées verticalement au centre, afin de garantir 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. Les composants de la bibliothèque l'utiliseront pour appliquer des spécifications d'animation telles que des ressorts pour des mouvements expressifs. (I54ff3)
  • Nous avons ajouté des composants AppScaffold et ScreenScaffold à la bibliothèque Material3, qui incluent des fonctionnalités permettant de coordonner les superpositions et les transitions de TimeText et ScrollIndicator. AppScaffold fournit un niveau supérieur de composants d'échafaudage qui se trouvent au-dessus de tous les écrans. Par conséquent, ajouter TimeText à AppScaffold permet de le maintenir en place lorsque vous balayez l'écran pour passer d'un écran à un autre. 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 un délai avant de masquer l'indicateur de défilement après une période d'inactivité. (I047d6)
  • Nous avons ajouté ScrollIndicator avec la nouvelle conception Material3. Il a une taille de curseur fixe en fonction du contenu initial de la liste, afin d'éviter les variations de taille lorsque le contenu paresseux est chargé dans la liste. (Ic228d)
  • Nous avons modifié l'API ScrollAway afin que ScreenStage soit une classe de valeurs plutôt qu'une classe d'énumération, afin de permettre d'ajouter des étapes supplémentaires si nécessaire à l'avenir. (I48c93)
  • Nous avons ajouté EdgeButton, un bouton Wear spécifique à la forme distinctive qui suit la courbure du bas de l'écran (I16369).
  • Nous avons ajouté un nouvel emplacement à ScreenScaffold pour un bouton en bas (comme EdgeButton), qui s'affichera et sera redimensionné en fonction du contenu à faire défiler (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 variation 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 permettant de présenter des invites importantes à l'utilisateur. Des variantes sont incluses pour une paire de boutons de confirmation/refus 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 un texte supplémentaire pour fournir des informations supplémentaires. (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 ignoré 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 linéaire ou incurvé. Des variantes spécifiques sont fournies pour les messages de réussite/d'échec. Les confirmations sont automatiquement ignorées après un certain délai. (Ib43e8)
  • Nous avons ajouté un arrière-plan à TimeText pour atténuer les problèmes de superposition du contenu sous-jacent et de TimeText, qui masquaient 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 à l'opposé de l'écran. Il présente une largeur de trait plus importante et une couleur d'indicateur différente par défaut. (I8a4ac)
  • Nous avons ajouté TimePicker, avec des mises en page pour le format 24 heures (avec ou sans secondes) ou le format 12 heures avec sélection du format 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 min/max facultatives. (Ibf13b)
  • Nous avons ajouté un paramètre de pondération à la fonction text de TimeText. Si TimeText est composé de plusieurs éléments de texte, vous pouvez contrôler la distribution de l'espace. (I36700)
  • Nous avons ajouté RadioButton et SplitRadioButton. Ces composants simplifient l'API précédente en combinant à la fois (Split)SelectableButton et la commande radio enfant (If7ae8).
  • Nous avons ajouté CheckboxButton et SplitCheckboxButton. Ces composants simplifient l'API précédente en combinant à la fois (Split)ToggleButton et la commande de case à cocher enfant (Ia8f70).
  • Nous avons ajouté SwitchButton et SplitSwitchButton. Ces composants simplifient l'API précédente en combinant à la fois (Split)ToggleButton et le bouton d'activation/de désactivation enfant (I0d349).
  • Nous avons mis à jour la documentation sur AnimatedText pour expliquer le comportement de dépassement. (Iff30a)
  • Nous avons ajouté ButtonGroup pour combiner deux ou trois boutons afin que les pressions sur les boutons produisent une animation coordonnée. (Ie27db)
  • Nous avons ajouté une animation de forme facultative pour IconButton et TextButton lorsqu'ils sont enfoncés. (Iffca5)
  • Nous avons ajouté une variation 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 d'image des boutons conservent désormais leur taille de composant par défaut. Définir forcedSize = null adopte plutôt Painter.instrinsicSize. (Ic57af)
  • Nous avons ajouté le clic 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 valeurs par défaut de paramètre sur Text. Les variables locales de composition peuvent désormais être utilisées par des composants tels que CheckboxButton, SwitchButton et RadioButton pour implémenter des conseils d'expérience utilisateur, mais les développeurs peuvent remplacer les paramètres si nécessaire. (Iab841)
  • Nous avons ajouté Placeholder pour masquer le contenu de 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 consignes relatives à l'expérience utilisateur. Ces paramètres peuvent être ignorés par les développeurs sur le texte directement si nécessaire (Ie51f7)
  • Nous avons remplacé la largeur de trait par défaut de LevelIndicator par 6dp pour la différencier de ScrollIndicator, dont la largeur de trait est de 4dp. (If6f63)
  • Nous avons corrigé un problème dans TimeText pour que les angles de balayage plus importants soient acceptés. (Ie489f)
  • Correction d'un problème lors de la recomposition de EdgeButton. (I4cdca)
  • Correction des mises en page des boutons d'activation/de désactivation de la division lorsque la marge intérieure du contenu est personnalisée. (Ia33d3)
  • Les petites valeurs de progression sont arrondies à la hausse pour atteindre au moins la largeur de la 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 afin que les couleurs désactivées puissent être configurées. (If13a7)
  • Nous avons ajouté un nouveau CircularProgressIndicator pour Material3. (Ib3bd7)

Correction de bugs

  • Nous avons corrigé un bug qui entraînait l'annonce d'un double appui pour activer/désactiver les boutons sélectionnables 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 la ColorScheme Material3. (I7b2b8)
  • Nous avons mis à jour le bouton 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émonstrations 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 a entraîné des fichiers JAR sources manquants. Cette version ne contient aucun commit.

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 alphas de l'état enfoncé et de l'état sélectionné de l'ondulation pour le contraste. (I59f0a)
  • Nous avons ajouté un espacement entre les libellés principaux et secondaires dans Button, ToggleButton et RadioButton, conformément 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 un état supplémentaire) 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é le nom du paramètre onSelected par onSelect pour RadioButton. (I1a971)
  • Tokenisez RadioButton et SplitRadioButton, et refactorisez les méthodes existantes pour réduire la quantité de recherches 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

  • Nous avons mis à jour l'API Button pour qu'elle utilise buttonColors par défaut et supprimé le 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é les frais généraux de rememberUpdatedState dans les classes de couleurs spécifiques aux composants et marqué les méthodes d'accès dans les classes de couleurs comme internes. (If6571)

Correction de bugs

  • Nous avons mis à jour Modifier.minimumInteractiveComponentSize pour qu'il utilise 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 de remplissage, de remplissage tonale et de contour que Button.(I05df0)

Modifications apportées à l'API

  • Nous avons ajouté RadioButton/SplitRadioButton en tant que conteneurs pour les commandes de sélection, telles que la commande Radio. Cette fonctionnalité diffère de ToggleButton existante en ce sens que RadioButton est sélectionnable (et fonctionne dans un groupe de sélection), tandis que ToggleButton est activable/désactivable (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 qui exposent un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource nullable qui est défini par défaut sur "null". Aucune modification sémantique n'est apportée ici: transmettre la valeur null signifie que vous ne souhaitez pas hisser l'MutableInteractionSource, et elle sera créée dans le composant si nécessaire. La valeur nulle permet à certains composants de n'allouer jamais de MutableInteractionSource et à d'autres de ne créer une instance que de manière paresseuse 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 la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans 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 temporaire, LocalUseFallbackRippleImplementation, pour que les composants Material utilisent les API rememberRipple/RippleTheme obsolètes. Cette option sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à faciliter la migration temporaire dans les cas où vous fournissez un RippleTheme personnalisé. Pour en savoir plus sur la migration et obtenir des informations sur l'origine de ce changement, consultez developer.android.com. (af92b21)
  • Nous avons apporté quelques améliorations mineures à l'API HorizontalPageIndicator et à sa documentation. (I60efc)
  • Nous avons modifié ColorScheme pour qu'il soit immuable, ce qui rend les mises à jour de couleurs individuelles moins efficaces, mais améliore l'utilisation plus courante des couleurs. Cette modification est justifiée par le fait que la majorité des applications n'ont pas pour cas d'utilisation principal la modification de couleurs individuelles. Cela reste possible, mais la recomposition sera plus importante qu'auparavant. Nous réduisons ainsi considérablement le nombre d'abonnements d'état dans l'ensemble du code Material, ce qui aura un impact sur les coûts 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 bouton pour utiliser des jetons Material Design. (Iba215)
  • Nous avons modifié les composants Checkbox, Switch et RadioButton pour qu'ils ne soient affichés que, 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 indiqués plus clairement comme étant destinés à l'affichage uniquement (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 assouplissements 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é la couche 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 distinguer plus clairement le composant de niveau Foundation et le SwipeToDismissBox de niveau Material3. Ce dernier extrait des couleurs de MaterialTheme à utiliser dans les écrans de masquage 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. À la place, il suivra la forme de l'écran de l'appareil (linéaire ou rond). (I83728)
  • Nous avons séparé les couleurs de SplitToggleButton de celles de ToggleButton en ajoutant une nouvelle 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-titres" 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 des jetons Material Design. (I3f137)
  • Nous avons mis à jour IconToggleButton pour qu'il utilise des 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 fiches Material3 pour la remplacer par TitleMedium. (I597bd)
  • Nous avons modifié la typographie et l'alignement de nos éléments Material 3 ListHeader et ListSubheader. (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 sur la typographie pour TextToggleButton afin d'utiliser LabelLarge pour LargeButtonSize (Ib10fa).
  • Nous avons mis à jour les consignes sur la typographie pour TextButton afin d'utiliser LabelLarge pour LargeButtonSize (I8f3a7).
  • Nous avons défini la zone cible tactile minimale de la fiche sur 48 dp pour l'accessibilité. (Ieb9b1)
  • Ajout d'une démonstration de l'AppCard avec une image, suppression de la démonstration de l'AppCard avec un arrière-plan. (Id735f)
  • Correction d'un bug dans les boutons ronds où les modificateurs n'étaient pas correctement enchaînés. (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

  • Nous avons ajouté ToggleButton pour Material 3. (I6bed6)

Modifications apportées à l'API

  • Nous avons activé l'annotation FloatRange en tant que contraintes d'API , qui étaient précédemment 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 Material 3. (Ib2495)
  • Nous avons corrigé la visibilité de la coche dans les états désactivés. (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 commandes de sélection suivantes pour Material3 : Switch, Checkbox et RadioButton. (Ib918c)
  • Nous avons ajouté IconToggleButton et TextToggleButton à Material3, un bouton d'activation 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 d'activation respectifs. (I9f015)
  • Nous avons ajouté ListHeader et ListSubheader à nos composants Material3. (Ibaefe)
  • Nous avons ajouté SwipeToDismissBox Material3, qui appelle le nouveau SwipeToDismissBox Foundation 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 un choix 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 tels que 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 les constantes de hauteur de Button publiques (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 couleurs de Wear Compose Material 3 pour qu'elles disposent de constructeurs et de propriétés publics. (I17702)
  • Nous avons rendu les constantes de marge intérieure horizontale et verticale de Button publiques. (Ieeaf7)

Correction de bugs

  • Le bouton ajuste désormais sa hauteur pour s'adapter au contenu qui a augmenté en raison de la taille des polices pour l'accessibilité, le cas échéant (Iaf302)
  • Nous avons mis à jour un certain nombre de démonstrations de boutons pour résoudre les problèmes d'accessibilité. (I61ce9)
  • Stepper et InlineSlider acceptent désormais les clics répétés lors d'un appui prolongé. Vous pouvez ainsi augmenter/diminuer rapidement la valeur de Stepper et InlineSlider en maintenant 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. Il s'agit d'une fonctionnalité semblable à la version Material précédente, mais qui omet la sémantique de la 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 soit 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 qu'il utilise 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 TextButton par défaut n'a pas de bordure et présente un arrière-plan transparent pour les actions à faible intensité. Pour les actions qui nécessitent une forte intensité, utilisez filledTextButtonColors. Pour une intensité moyenne, utilisez TextButton avec un contour. Pour un compromis entre le contour et le remplissage, utilisez filledTonalTextButtonColors.ButtonDefaults.outlinedButtonBorder (I667e4)
  • Nous avons ajouté Card, OutlinedCard, AppCard et TitleCard à la bibliothèque Wear Compose Material3. AppCard et TitleCard peuvent également être mis en surbrillance à 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 (car il 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 l'icône/l'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 Bouton Material 3. Il s'agit de notre bouton en forme de stade, qui s'appelait auparavant Chip dans la bibliothèque Material de Compose Wear (il a été renommé "Bouton" pour plus de cohérence avec la bibliothèque Material 3 de Compose). Le bouton par défaut a un arrière-plan rempli. Il existe des variantes de boutons pour FilledTonal (arrière-plan atténué), "Outlined" (transparent avec une bordure fine) et "Child" (arrière-plan transparent et sans bordure, utilisé pour les actions supplémentaires les moins visibles). Les boutons ronds pour les icônes et le texte 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

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 comprend 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 révisé ses couleurs pour qu'elles soient compatibles avec le contraste accessible. (I84005)
    • Texte/Icône : composants pour les applications Wear Compose (I8e06a)
  • Nous continuerons de 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 incluront d'autres composants familiers de Compose pour Wear OS, tels que les boutons, les sélecteurs et les curseurs.

  • Les bibliothèques Wear Material et Wear Material 3 sont mutuellement exclusives 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.

Wear Compose version 1.5

Version 1.5.0-alpha07

11 décembre 2024

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

Modifications apportées à l'API

  • TransformingLazyColumnState permet désormais d'observer la progression du défilement actuel en fonction des indices des éléments d'ancrage. (I72b01)
  • Nous avons ajouté des animations à TransformingLazyColumn lors de l'ajout, de la suppression et du déplacement d'éléments, s'ils disposent de la nouvelle Modifier.animateItem. (Iecb9c)
  • TransformingLazyColumn expose désormais des valeurs pour beforeContentPadding et afterContentPadding. (Iccd5f)
  • TransformingLazyColumn fournit désormais la LocalTransformingLazyColumnItemScope locale de composition que les composants (tels que les Card et les Button dans Material3) peuvent utiliser pour se transformer automatiquement lorsqu'ils sont placés dans un TransformingLazyColumn. Les appelants peuvent désactiver la morphing automatique à l'aide du nouveau wrapper TransformExclusion. (I1652f)

Correction de bugs

  • Nous avons modifié les vitesses de fling minimale et maximale pour les dispositifs rotatifs sur les appareils ciblant U et versions ultérieures. (I33559)
  • Correction d'un plantage qui se produisait si un élément de TransformingLazyColumn ne contenait aucun composable. (Idb99d)
  • Nous avons ajouté la prise en charge de ScrollFeedbackProvider pour les retours haptiques rotatifs sur Android Vanilla Ice Cream. (Ibc553)
  • Nous avons appliqué une augmentation de la marge de tolérance tactile lors de l'utilisation de SwipeToReveal afin de réduire les risques de déclencher accidentellement un balayage lors du défilement vertical. (Ic0672)
  • Nous avons mis à jour SwipeDismissableNavHost pour qu'il utilise PredictiveBackHandler lorsqu'il est disponible à partir de l'API 35. Dans ce cas, de nouvelles animations seront appliquées. (I08c11)

Version 1.5.0-alpha06

13 novembre 2024

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

Modifications apportées à l'API

  • 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)
  • TransformingLazyColumn a été introduit dans les versions précédentes. Nous supprimons désormais les alias LazyColumn de Wear (qui étaient redirigés vers TransformingLazyColumn) au profit du nouveau nom TransformingLazyColumn. Nous avons également supprimé la propriété height de TransformingLazyColumnVisibleItemInfo. Veuillez utiliser measuredHeight à la place. (I0ea1e)
  • Nous avons remplacé la spécification Tween de snapAnimationSpec par une spécification Spring.(I10d02, b/349781047, b/303807950)PagerDefaults.snapFlingBehavior
  • Nous avons défini la version CompositionLocal de LocalReduceMotion comme stable (Ia6f32).

Correction de bugs

  • Nous avons mis à jour Modifier.rotaryScrollable pour qu'il utilise focusTargetWithSemantics afin d'améliorer la prise en charge de la sémantique dans les dispositifs rotatifs. (Ief0a0)
  • Nous avons mis à jour la dépendance d'API minimale à la version 1.7.4 pour les bibliothèques Compose. (I88b46)
  • Nous avons désactivé la morphing de la largeur dans TransformingLazyColumn pour contourner un bug de découpage. (I3dfb8)
  • Nous avons corrigé un bug qui entraînait la disparition d'éléments après un défilement excessif avec TransformingLazyColumn. (Id7668)
  • Nous avons ajouté LazyLayoutSemantics pour TransformingLazyColumn. (Ia8f56)

Version 1.5.0-alpha05

30 octobre 2024

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

Modifications apportées à l'API

  • Nous avons ajouté la prise en charge de animateScrollTo sur TransformingLazyColumnState afin que le défilement vers un élément puisse être animé. (I4097d)
  • Nous avons ajouté requestScrollTo sur TransformingLazyColumnState pour différer le défilement jusqu'à la prochaine mesure. (I20a5e)
  • Nous avons ajouté la prise en charge de contentPadding dans TransformingLazyColumn. (I3a69c)

Correction de bugs

  • Nous avons corrigé un bug de rendu du TransformingLazyColumn lorsque la hauteur du contenu est inférieure à la hauteur de l'écran. (I6c3e1)
  • ScrollInfoProvder pour TransformingLazyColumn suit désormais correctement le premier élément. (I1e4a3)
  • TransformingLazyColumnState enregistre désormais son état (anchorItemIndex et anchorItemScrollOffset). (I3d265)

Version 1.5.0-alpha04

16 octobre 2024

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

Modifications apportées à l'API

  • Nous avons renommé la LazyColumn de Wear Compose Foundation en TransformingLazyColumn afin de la distinguer plus clairement de la LazyColumn de Compose Foundation. (I0608b)
  • Compatibilité avec les sonneries rotatives pour les sonneries horizontales/verticales, ce qui permet aux utilisateurs de naviguer dans les sonneries à l'aide de dispositifs de saisie rotatifs. (I9770d)
  • Nous avons modifié le nouveau PagerDefaults pour indiquer clairement que le pager s'ancre à la page par défaut. (Iff7d0)
  • TransformingLazyColumnItemScrollProgress est désormais une classe de valeurs qui devrait améliorer les performances. (Ic399e)
  • TransformingLazyColumn est désormais compatible avec les commandes rotatives prêtes à l'emploi. (I05206)
  • TransformingLazyColumnState est désormais compatible avec scrollToItem. (I507b3)
  • Suppression de @ExperimentalWearFoundationApi de l'API SwipeToReveal (I34a66)

Version 1.5.0-alpha03

2 octobre 2024

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

Modifications apportées à l'API

  • Nous avons ajouté la prise en charge du balayage bidirectionnel dans SwipeToReveal, pour les rares cas où l'écran actuel n'est pas compatible avec le balayage pour ignorer. . Par défaut, le balayage pour afficher n'est toujours disponible que pour les balayages de droite à gauche. Nous vous recommandons vivement de respecter ce comportement par défaut pour éviter tout conflit avec le balayage pour fermer. (Ifac04)
  • Nous avons mis à jour LazyColumnState pour remplacer canScrollForward et canScrollBackward. Le défilement s'arrête désormais lorsque le premier ou le dernier élément se trouve exactement au centre de l'écran. (Ia77d7)
  • Nous avons ajouté de nouveaux composants HorizontalPager et VerticalPager qui résolvent les problèmes courants, tels que la gestion du focus et l'interaction avec le balayage système pour ignorer les éléments qui peuvent se produire sur Wear. (I2902b)
  • Nous avons ajouté la prise en charge de LazyColumn pour exposer les key et contentType du client via layoutItems. (I1bd9c)

Correction de bugs

  • Nous avons amélioré les animations de texte incurvé pour les rendre plus fluides, à l'aide de drapeaux de peinture. (I73a15)
  • Nous avons mis à jour la documentation Material Dialog pour indiquer que onDismissRequest n'est pas appelé une fois l'indicateur d'affichage défini sur "false". (Ifd8d6)
  • Correction d'un bug lié à l'animation de vignette dans la boîte de dialogue Material (I126bf)

Version 1.5.0-alpha02

18 septembre 2024

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

Modifications apportées à l'API

  • 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 ajouté viewportSize à LazyColumnLayoutInfo. (I4187f)

Correction de bugs

  • Nous avons corrigé un bug pour que le défilement par dispositif rotatif soit désormais désactivé dans ScalingLazyColumn lorsque l'indicateur userScrollEnabled est défini sur false. (I490ab, b/360295825)
  • Nous avons corrigé un bug qui entraînait une marge intérieure verticale inattendue sur le texte incurvé. La hauteur du texte incurvé correspond désormais plus précisément à l'espace réel utilisé par le texte. Notez que cela risque de casser les tests de capture d'écran impliquant du texte incurvé (Iaa6ef).
  • Nous avons annulé une correction de bug dans Dialog, où le rappel onDismissRequest était appelé lorsque showDialog était défini sur "false", car dans certains cas, onDismissRequest était appelé plusieurs fois. (I64656)

Version 1.5.0-alpha01

4 septembre 2024

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

Modifications apportées à l'API

  • Nous avons ajouté un nouveau LazyColumn à la bibliothèque Wear Compose Foundation avec les API LazyColumnState et LazyColumnScope associées. Cela sert de base à la création d'effets de scaling et de morphing personnalisables avec Wear Compose. (Ib3b22)
  • Nous avons ajouté une version indexée de itemsIndexed dans LazyColumnScope dans le cadre de la nouvelle API LazyColumn. (Ib4a57)
  • Nous avons ajouté des modificateurs LazyColumn pour prendre en charge les comportements de mise à l'échelle et de morphing. (Ie229a)
  • HierarchicalFocusCoordinator est défini comme stable. (I31035)
  • Nous avons ajouté la prise en charge de l'espacement entre les lettres pour le texte incurvé. (I3c740)
  • Ajout d'un paramètre rotationLocked à CurvedLayout.curvedComposable pour arrêter la rotation des composants. (I66898)
  • L'API LocalUseFallbackRippleImplementation temporaire de wear material et wear material3 a été supprimée. (I62282)
  • Suppression de WearDevices.SQUARE de l'aperçu multiple @WearPreviewDevices. (I11c02)

Correction de bugs

  • SwipeToReveal positionne désormais les éléments révélés dans la partie visible de l'écran. Cela est utile lorsque SwipeToReveal est utilisé dans une liste, car les éléments sont toujours interactifs et ne sortent jamais de l'écran. (I38929)
  • SwipeToReveal rétablit désormais la valeur "None" pour lastActionType une fois animatedTo terminée. (I59b03)
  • Amélioration de la documentation sur le nouveau paramètre rotationLocked dans curvedComposable. (Ifbd57)
  • Correction d'un plantage lors de la transmission de NaN dans performFling de ScalingLazyColumnSnapFlingBehavior. (Ic13da)
  • Correction d'un bug lié au modificateur de taille de mise en page incurvée. (I0fedf)
  • Nous avons ajouté la prise en charge de l'espacement des lettres spécifié dans "sp". (I9f6e3)
  • Nous avons corrigé un bug dans la boîte de dialogue Material2 qui empêchait le rappel onDismissRequest d'être appelé lorsque la boîte de dialogue devenait invisible. (I64656)
  • LayoutCoordinates.introducesFrameOfReference a été renommé LayoutCoordinates.introducesMotionFrameOfReference pour mieux refléter son objectif. Modification du nom de la fonction associée pour calculer les coordonnées en fonction de cet indicateur. (I3a330)

Version 1.4

Version 1.4.0

4 septembre 2024

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

Changements importants depuis la version 1.3.0

  • ScalingLazyColumn et Picker sont désormais compatibles avec la saisie par dispositif rotatif par défaut. Il est recommandé de supprimer la gestion explicite du dispositif rotatif et de s'en remettre au comportement système par défaut. Si nécessaire, utilisez le paramètre rotaryScrollableBehavior pour configurer le comportement de défilement ou d'ancrage. Pour le comportement d'ancrage, nous vous recommandons de fournir le comportement d'ancrage et les fonctionnalités de défilement tactile à l'aide du paramètre flingBehavior.
  • Modifier.rotaryScrollable est un nouveau modificateur qui connecte les événements rotatifs aux conteneurs à défilement, ce qui permet aux utilisateurs de faire défiler l'écran à l'aide d'une couronne ou d'un contour rotatif sur leur appareil Wear OS.
  • SwipeDismissableNavHost fournit désormais une animation d'entrée pour les transitions dans l'application.
  • PositionIndicator est désormais affiché par défaut lorsqu'un écran est affiché pour la première fois.

Autres modifications

Version 1.4.0-rc01

21 août 2024

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

  • Nous avons mis à jour les dépendances Compose vers la version 1.7.0-rc01 et épinglé la navigation Wear Compose à androidx.lifecycle 2.8.3.

Version 1.4.0-beta03

12 juin 2024

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

Correction de bugs

  • Nous avons modifié Modifier.rotaryScrollable pour remplacer l'utilisation de "focusable" par "focusTarget", ce qui améliore les performances. (Id294b)
  • Nous avons corrigé un problème qui entraînait la répétition de l'annonce de ProgressIndicator sous TalkBack. (I94563)
  • Nous avons mis à jour les profils de référence de la bibliothèque Wear Compose. (I3cbc3)

Version 1.4.0-beta02

29 mai 2024

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

Correction de bugs

  • Nous avons augmenté la largeur de la limite transmise aux lecteurs d'écran à partir du texte incurvé afin de résoudre les problèmes de troncation (Id865f).
  • Nous avons limité la limite de l'HorizontalPageIndicator transmise aux lecteurs d'écran. Auparavant, l'indicateur occupait tout l'écran (Id8d7a).

Version 1.4.0-beta01

14 mai 2024

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

La version 1.4-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.4 inclut les nouvelles fonctionnalités suivantes:

  • Nous avons ajouté Modifier.rotaryScrollable, un nouveau modificateur qui relie les événements rotatifs aux conteneurs à faire défiler, ce qui permet aux utilisateurs de faire défiler l'écran de leur appareil Wear OS à l'aide d'une couronne ou d'un contour rotatif. De plus, ScalingLazyColumn et Picker sont désormais compatibles avec la saisie par dispositif rotatif par défaut. Utilisez le paramètre rotaryScrollableBehavior pour configurer le comportement de défilement ou d'ancrage. Pour le comportement d'ancrage, nous vous recommandons de fournir un ancrage via le paramètre flingBehavior, ainsi que pour le défilement tactile.
  • SwipeDismissableNavHost fournit désormais une animation d'entrée pour les transitions dans l'application.
  • PositionIndicator est désormais affiché par défaut lorsqu'un écran est affiché pour la première fois.
  • SelectableChip et SplitSelectableChip ont été ajoutés en tant que variante de ToggleChip. Utilisez-les avec RadioButton pour fournir des sémantiques sélectionnables au lieu de sémantiques activables/désactivables à des fins d'accessibilité.
  • ListHeader est désormais compatible avec les ajustements de hauteur lorsque les contenus ont besoin d'une hauteur supplémentaire pour s'adapter aux grandes tailles de police.

Correction de bugs

  • Nous avons corrigé un bug qui faisait que les chips sélectionnables annonçaient un double appui pour activer/désactiver une fonctionnalité alors qu'ils étaient déjà sélectionnés. (I7ed88)

Version 1.4.0-alpha08

1er mai 2024

Publication d'androidx.wear.compose:compose-*:1.4.0-alpha08. La version 1.4.0-alpha08 contient ces commits.

Modifications apportées à l'API

  • Nous avons apporté les modifications suivantes à la nouvelle API pour les boutons rotatifs: nous avons renommé Modifier.rotary en Modifier.rotaryScrollable, l'interface RotaryBehavior en RotaryScrollableBehavior et sa fonction handleScrollEvent en performScroll, et nous avons renommé RotaryScrollableAdapter en RotaryScrollableLayoutInfoProvider et supprimé la propriété scrollableState. (I0c8a6)
  • Nous avons apporté d'autres modifications à l'API Rotary: RotaryScrollableLayoutInfoProvider a été renommé en RotarySnapLayoutInfoProvider (car ce fournisseur n'est nécessaire que pour les commandes rotatives avec accrochage) ; le type du paramètre snapOffset dans RotaryScrollableDefaults.snapBehavior snapOffset est passé d'Int à Dp. (Iddebe)
  • Nous avons renommé le paramètre clickInteractionSource de SplitSelectableChip en containerInteractionSource. (Ia8f84)
  • Nous avons modifié les noms des paramètres de rappel de clic pour SplitSelectableChip, en remplaçant onClick par onSelectionClick et onBodyClick par onContainerClick. (I32237)

Correction de bugs

  • Nous avons modifié la marge intérieure horizontale de PositionIndicator pour la passer de 5 dp à 2 dp afin de corriger un bug qui faisait que la PositionIndicator (barre de défilement) chevauchait le contenu à faire défiler. Notez que ce changement devrait entraîner l'arrêt des captures d'écran existantes qui incluent le PositionIndicator en raison de la modification de la marge intérieure. (I57472)
  • Nous avons amélioré la documentation de la nouvelle API Rotary en décrivant les différences entre les appareils rotatifs basse résolution et haute résolution. (I63abe)
  • Nous avons corrigé une exception hors plage dans SwipeDismissableNavHost qui pouvait se déclencher lorsque les valeurs alpha interpolées étaient inférieures à zéro. (Ib75a1, b/335782510)

Version 1.4.0-alpha07

17 avril 2024

Publication d'androidx.wear.compose:compose-*:1.4.0-alpha07. La version 1.4.0-alpha07 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté Modifier.rotary, un nouveau modificateur qui relie les événements rotatifs aux conteneurs à faire défiler, ce qui permet aux utilisateurs de faire défiler l'écran de leur appareil Wear OS à l'aide d'une couronne ou d'un contour rotatif. De plus, ScalingLazyColumn et Picker sont désormais compatibles avec la saisie par dispositif rotatif par défaut, avec de nouvelles surcharges qui incluent le paramètre rotaryBehavior pour spécifier la configuration de la sélection ou du défilement. Si le paramètre rotaryBehavior est défini sur "snap", il est recommandé de fournir également un "snap" via le paramètre flingBehavior pour le défilement tactile. (I2ef6f)
  • Les sources NestedScroll "Drag" (Glisser) et "Fling" (Flotter) sont remplacées par UserInput et SideEffect pour tenir compte de la définition étendue de ces sources, qui incluent désormais les animations (effet secondaire), la molette de la souris et le clavier (entrée utilisateur). (I40579)
  • Nous avons ajouté SelectableChip et SplitSelectableChip pour mieux distinguer les boutons d'activation tels que Switch/Checkbox et les boutons sélectionnables tels que RadioButton. Les surcharges de ToggleChip/SplitToggleChip ajoutées précédemment sont remplacées par des paramètres selectionControl. (Ia0217)
  • Modification du modificateur de visibilité de IndeterminateStrokeWidth dans ProgressIndicatorDefaults en "public". (I5b5a4)

Version 1.4.0-alpha06

3 avril 2024

Publication d'androidx.wear.compose:compose-*:1.4.0-alpha06. La version 1.4.0-alpha06 contient ces commits.

Correction de bugs

  • Nous avons ajouté une ébauche interne de compatibilité avec les boutons rotatifs, dans le cadre de l'effort plus vaste de migration du comportement des boutons rotatifs vers AndroidX à partir d'Horologist. (I617d1)
  • Nous avons ajouté une ébauche interne de la compatibilité avec les retours haptiques, dans le cadre de l'effort plus vaste de migration du comportement des boutons rotatifs vers AndroidX à partir de Horologist. (I5568a)

Version 1.4.0-alpha05

20 mars 2024

Publication d'androidx.wear.compose:compose-*:1.4.0-alpha05. La version 1.4.0-alpha05 contient ces commits.

Modifications apportées à l'API

  • Nous avons rendu les propriétés initialCenterItemIndex et initialCenterItemScrollOffset de ScalingLazyListState publiques. (I0c616)
  • Nous avons rendu le FullScreenStrokeWidth de ProgressIndicatorDefaults public. (Ibea23)

Correction de bugs

  • Nous avons amélioré les performances de PositionIndicator en réduisant le nombre d'appels à layoutInfo à partir de ScalingLazyColumn. (Idc83d)

Version 1.4.0-alpha04

6 mars 2024

Publication d'androidx.wear.compose:compose-*:1.4.0-alpha04. La version 1.4.0-alpha04 contient ces commits.

Modifications apportées à l'API

  • Nous avons ajouté une nouvelle surcharge pour ToggleChip et SplitToggleChip, qui accepte un paramètre selectionControl au lieu du paramètre toggleControl. Cette option doit être utilisée avec la commande RadioButton afin de fournir des sémantiques sélectionnables au lieu de sémantiques à activer/désactiver pour l'accessibilité. (I1d6d9)
  • Nous avons remplacé le nom de paramètre onSelected par onSelect pour ToggleChip et SplitToggleChip dans la nouvelle surcharge selectionControl. (I1a971)

Version 1.4.0-alpha03

21 février 2024

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

Modifications apportées à l'API

  • Le wrapper Modifier.inspectable est obsolète. Cette API crée plus d'invalidations de votre modificateur que nécessaire. Son utilisation est donc désormais déconseillée. Nous encourageons les développeurs à implémenter la méthode inspectableProperties() sur ModifierNodeElement s'ils souhaitent exposer les propriétés de modificateur aux outils. (Ib3236)

Correction de bugs

  • Nous avons corrigé un bug de documentation concernant les annotations WearPreview*. (Id526d)

Version 1.4.0-alpha02

7 février 2024

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

Correction de bugs

  • Nous avons corrigé un bug dans la fonctionnalité de balayage pour afficher, qui permettait d'interagir avec (et d'annuler) une action effectuée sur un élément en commençant à balayer un autre élément.(Ide059)
  • Nous avons mis à jour ListHeader pour prendre en charge les ajustements de hauteur lorsque les contenus ont besoin d'une hauteur supplémentaire pour s'adapter aux grandes tailles de police. (I7290c, b/251166127)

Version 1.4.0-alpha01

24 janvier 2024

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

Nouvelles fonctionnalités

  • Nous avons ajouté une animation d'entrée à SwipeDismissableNavHost pour les transitions dans l'application.(cfeb79a)
  • PositionIndicator est désormais affiché par défaut lorsqu'un écran est affiché pour la première fois. Ce changement a été introduit pour vous aider à respecter les consignes de qualité Wear. Malheureusement, cela signifie que les tests de capture d'écran devront être mis à jour sur les écrans qui incluent PositionIndicator, car PositionIndicator n'était pas affiché auparavant. (419cef7)

Modifications apportées à l'API

  • Nous avons ajouté une nouvelle API de ripple dans les bibliothèques wear:compose-material et wear:compose-material3, qui remplace l'API rememberRipple obsolète. Ajoute également un CompositionLocal temporaire, LocalUseFallbackRippleImplementation, pour que les composants Material utilisent les API rememberRipple/RippleTheme obsolètes. Cette option sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à faciliter la migration temporaire dans les cas où vous fournissez un RippleTheme personnalisé. Pour en savoir plus sur la migration et obtenir des informations sur l'origine de ce changement, consultez developer.android.com. (af92b21)
  • Nous avons modifié ColorScheme pour qu'il soit immuable, ce qui rend les mises à jour de couleurs individuelles moins efficaces, mais améliore l'utilisation plus courante des couleurs. Cette modification est justifiée par le fait que la majorité des applications n'ont pas pour cas d'utilisation principal la modification de couleurs individuelles. Cela reste possible, mais la recomposition sera plus importante qu'auparavant. Nous réduisons ainsi considérablement le nombre d'abonnements d'état dans l'ensemble du code de matériau, ce qui aura un impact sur les coûts d'initialisation et d'exécution des cas d'utilisation plus standards. (f5c48b7)
  • Les composants Material et Material3 de Wear qui exposent un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource nullable qui est défini par défaut sur "null". Aucune modification sémantique n'est apportée ici: transmettre la valeur null signifie que vous ne souhaitez pas hisser l'MutableInteractionSource, et elle sera créée dans le composant si nécessaire. La valeur nulle permet à certains composants de n'allouer jamais de MutableInteractionSource et à d'autres de ne créer une instance que de manière paresseuse 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 la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans vos propres composants. (f8fa920)
  • Nous avons mis à jour rememberExpandableState pour enregistrer l'état extensible. Cela garantit que les données sont stockées lorsque vous accédez à un autre écran et restaurées lorsque vous revenez à l'écran d'origine. (5c80095)

Correction de bugs

  • Nous avons mis à jour le paramètre ReduceMotion pour utiliser un écouteur tenant compte du cycle de vie. (7c6b122)
  • Nous avons mis à jour l'écouteur de TouchExplorationStateProvider pour qu'il prenne en compte le cycle de vie (be28b01).
  • Nous avons supprimé la couche materialcore pour CompactButton afin d'améliorer les performances (25db8e9).
  • Nous avons rendu BasicSwipeToDismissBox plus robuste aux décalages NaN afin d'éviter les exceptions (b983739).
  • Nous avons mis à jour BasicSwipeToDismissBox pour nous assurer que les valeurs alpha se situent dans la plage 0,1.
  • Correction d'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) (d11eeb7)

Version 1.3

Version 1.3.1

3 avril 2024

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

Correction de bugs

  • Nous avons corrigé un bug de balayage pour afficher, qui permettait d'interagir avec (et d'annuler) une action effectuée sur un élément en commençant à balayer un autre élément. (Ide059)

Version 1.3.0

24 janvier 2024

Publication d'androidx.wear.compose:compose-*:1.3.0. Liste des commits de la version 1.3.0

Changements importants depuis la version 1.2.0

  • La classe SwipeToDismissBoxState, l'énumération SwipeToDismissValue et la fonction d'extension Modifier.edgeSwipeToDismiss font désormais partie du package androidx.wear.compose.foundation, et non plus du package androidx.wear.compose.material. Cette architecture mise à jour vous permet d'implémenter la gestion des gestes indépendamment des autres considérations de conception. Les workflows Material Design, comme l'application de couleurs à partir d'un thème configuré, sont gérés séparément.
  • Les classes SwipeToRevealCard et SwipeToRevealChip vous aident à implémenter recommended swipe-to-reveal guidance. La classe SwipeToRevealSample montre comment utiliser ces composants.
  • La version 1.3.0-alpha02 a introduit une modification qui fait que la hauteur des objets Chip et ToggleChip augmente pour mieux prendre en charge la mise à l'échelle de la police sélectionnée par l'utilisateur. Cela peut entraîner un écrasement. Pour résoudre ce problème, la forme large pour MaterialTheme utilise désormais un rayon d'angle plus important (26 dp au lieu de 24 dp). Les objets Chip et ToggleChip utilisent ce nouveau rayon d'angle pour éviter de couper le contenu aux coins de Chip et ToggleChip.

    • La plupart des Chips et ToggleChips ne changent pas, car leur hauteur par défaut est de 52 dp. Toutefois, les objets Chip et ToggleChip contenant plusieurs lignes de texte de libellé principal ou secondaire, ou pour lesquels la hauteur a été remplacée, peuvent entraîner l'échec des tests de capture d'écran.

Autres modifications

Pour obtenir un ensemble plus complet des modifications apportées à la version 1.3.0, consultez les notes de version de la version bêta 01.

Recommandations d'implémentation

  • Si votre application permet aux utilisateurs de faire un panoramique sur le contenu de l'écran, comme dans une application basée sur une carte, désactivez la gestion des balayages en définissant userSwipeEnabled sur false dans le composable SwipeDismissableNavHost, puis incluez un bouton permettant aux utilisateurs d'accéder à l'écran précédent.
  • Pour désactiver les animations d'un indicateur de position lors des animations de fondu et de changement de position dans une liste à défilement, utilisez un objet SnapSpec.
  • En attendant qu'une application multimédia charge du contenu pour la lecture, affichez un composable Placeholder vide.
  • Pour créer une collection d'éléments extensibles à la demande, envisagez d'utiliser la classe expérimentale ExpandableStateMapping.

Version 1.3.0-rc01

10 janvier 2024

Publication d'androidx.wear.compose:compose-*:1.3.0-rc01. Liste des commits de la version 1.3.0-rc01.

Correction de bugs

  • Nous avons modifié la grande forme MaterialTheme pour qu'elle utilise un rayon d'angle arrondi de 26 dp. Elle sera désormais utilisée par Chip et ToggleChip. Cette modification est nécessaire pour permettre les ajustements de hauteur lorsque les contenus ont besoin d'une hauteur supplémentaire pour s'adapter aux grandes tailles de police. Sinon, la forme de stade existante tronque certains contenus textuels.

    Texte tronqué sur les coins
    Figure 1: Texte coupé aux coins.
    Texte non tronqué
    Figure 2: Texte non coupé.

    Cette modification peut entraîner un dysfonctionnement des tests de capture d'écran. (I2e6ae)

Version 1.3.0-beta02

13 décembre 2023

Publication d'androidx.wear.compose:compose-*:1.3.0-beta02. Liste des commits de la version 1.3.0-beta02.

Correction de bugs

  • Nous avons rétabli le mouvement de balayage prévu dans BasicSwipeToDismissBox. Cette fonctionnalité avait été modifiée dans une version précédente, de sorte que la partie de la transition qui consiste à faire glisser l'écran se produisait lorsque l'utilisateur touchait l'écran. (Id8e76)

Version 1.3.0-beta01

15 novembre 2023

Publication d'androidx.wear.compose:compose-*:1.3.0-beta01. Liste des commits de la version 1.3.0-beta01

La version 1.3-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.3 inclut les nouvelles fonctionnalités suivantes:

  • SwipeToDismissBoxState, SwipeToDismissValue et Modifier.edgeSwipeToDismiss ont été migrés de androidx.wear.compose.material vers androidx.wear.compose.foundation, ainsi que l'implémentation sous-jacente du balayage pour ignorer dans BasicSwipeToDismissBox. Cela permet d'utiliser la gestion des gestes pour le "défiler pour ignorer" indépendamment de Material Design, par exemple à partir de SwipeDismissableNavHost dans androidx.wear.compose.navigation. Nous vous recommandons toujours d'utiliser SwipeToDismissBox à partir de androidx.wear.compose.material avec Material Design, car il extrait les couleurs de MaterialTheme, puis délègue le reste de l'implémentation à BasicSwipeToDismissBox.
  • SwipeDismissableNavHost prend désormais en charge un nouveau paramètre userSwipeEnabled afin que la gestion des balayages puisse être désactivée pour les écrans où elle n'est pas requise.
  • BasicSwipeToDismissBox a amélioré la gestion de la sélection à l'aide de HierarchicalFocusCoordinator.
  • SwipeToReveal propose de nouveaux composables SwipeToRevealCard et SwipeToRevealChip dans Material qui suivent les consignes UX recommandées pour Card et Chip. Il est également compatible avec la fonctionnalité d'annulation pour l'action secondaire.
  • DefaultTextStyle désactive désormais la marge intérieure de la police pour assurer la cohérence sur la plate-forme Android.
  • Chip et ToggleChip ajustent désormais leur hauteur pour s'adapter au contenu qui a augmenté en raison de la taille de police pour l'accessibilité
  • PositionIndicator dispose désormais de spécifications d'animation individuelles pour les animations de fondu, de fondu et de changement de position. Pour des raisons de performances, nous vous recommandons de désactiver l'effet de fondu et le changement de position lorsque vous les utilisez avec des listes à faire défiler.
  • ExpandableStateMapping fournit un nouveau moyen de générer des ExpandableStates lorsqu'ils doivent être créés à la demande et pas nécessairement avec une portée @Composable.
  • Placeholder permet désormais de réinitialiser le contenu s'il n'est plus prêt. De plus, le paramètre de réduction du mouvement s'applique désormais à l'effet de scintillement et au mouvement de suppression sur Placeholder.

Problèmes connus

  • PositionIndicator n'est pas affiché au début lorsqu'un écran s'affiche pour la première fois. Nous prévoyons d'apporter une modification dans une version alpha précoce de la version 1.4 afin qu'elle s'affiche initialement, mais sans animation.

Modifications apportées à l'API

  • Nous avons renommé le niveau de base SwipeToDismissBox en BasicSwipeToDismissBox. Cela permet de distinguer plus clairement le composant de niveau Foundation et le SwipeToDismissBox de niveau Material. Ce dernier extrait des couleurs de MaterialTheme à utiliser dans les écrans de masquage et délègue l'implémentation restante à BasicSwipeToDismissBox. (Ibecfc)
  • Nous avons marqué rememberExpandableStateMapping comme expérimental et amélioré les performances de expandableItem. (I5f6bc)
  • Nous avons remplacé la classe SwipeToRevealAction dans les API Material SwipeToReveal Card et Chip par une API basée sur des emplacements à l'aide des composables SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction et SwipeToRevealUndoAction. Consultez l'exemple de code pour savoir comment utiliser la nouvelle API. (Ia8943)
  • Nous avons remplacé les indicateurs d'animation PositionIndicator par des paramètres AnimationSpec. Vous pouvez désactiver les animations individuelles en transmettant snap comme AnimationSpec. (I6c523)

Correction de bugs

  • Nous avons corrigé un bug déclenché par le texte incurvé limité lorsque la taille est limitée (I50efe).
  • Nous avons corrigé un plantage potentiel de NaN lié à curvedComposable (I970eb).
  • Nous avons rétabli l'animation de surlignage de la modification de position sur PositionIndicator. (Ieb424)
  • Nous avons supprimé la couche material-core pour le composant Chip afin d'améliorer ses performances. (If2dcb)

Version 1.3.0-alpha08

18 octobre 2023

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

Modifications apportées à l'API

  • Nous avons ajouté des indicateurs individuels aux surcharges PositionIndicator pour contrôler différentes animations: showFadeInAnimation, showFadeOutAnimation et showPositionAnimation. L'ancienne API a été abandonnée et transfère les appels vers la nouvelle. Pour des raisons de performances et de cohérence de l'expérience utilisateur, lorsque PositionIndicator est utilisé avec une liste à faire défiler, nous vous recommandons de désactiver les indicateurs showFadeInAnimation et showPositionAnimation. Si PositionIndicator est utilisé comme indicateur autonome, par exemple pour modifier le volume, nous vous recommandons d'activer les trois animations. (I44294)
  • Nous avons abandonné les éléments Material SwipeToDismissBoxState, SwipeToDismissValue et edgeSwipeToDismiss après avoir migré la fonctionnalité de balayage pour fermer vers wear.compose.foundation. Veuillez les remplacer par les équivalents wear.compose.foundation. (Iee8c9)

Correction de bugs

  • Nous avons mis à jour les profils de référence pour les bibliothèques de base, de matériaux et de navigation de Wear Compose. (Idb060)
  • Nous avons annulé un changement de comportement pour PositionIndicator introduit dans une CL précédente, de sorte que PositionIndicator était animé lorsque l'écran était initialement affiché. Nous prévoyons d'apporter une modification similaire dans une version alpha précoce de la version 1.4, afin que l'PositionIndicator s'affiche initialement, mais sans animation. (I41843)
  • Nous avons résolu certains problèmes de performances dans PositionIndicator. (I1c654, b/302399827)
  • Nous avons optimisé les performances de l'implémentation par défaut du fournisseur d'état d'exploration tactile pour qu'il s'appuie sur State<Boolean> plutôt que sur l'état dérivé. (Ieec4d)
  • Nous avons défini des rectangles systemGestureExclusion pour Android 13 et versions ultérieures. (Ib1f4b)

Version 1.3.0-alpha07

4 octobre 2023

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

Modifications apportées à l'API

  • Nous avons ajouté des indicateurs individuels à PositionIndicator pour contrôler différentes animations: showFadeInAnimation, showFadeOutAnimation et showPositionAnimation. L'ancienne API a été abandonnée et transfère les appels vers la nouvelle. Pour des raisons de performances et de cohérence de l'expérience utilisateur, lorsque PositionIndicator est utilisé avec une liste à faire défiler, nous vous recommandons de désactiver les indicateurs showFadeInAnimation et showPositionAnimation. Si PositionIndicator est utilisé comme indicateur autonome, par exemple pour modifier le volume, nous vous recommandons d'activer les trois animations. (Ia2d63)

Correction de bugs

  • Nous avons amélioré le balayage pour révéler le mouvement en ajoutant une animation de fondu au texte de l'action principale, et en atténuant l'action secondaire/en modifiant l'échelle de l'icône lors de l'expansion complète du balayage. (Ib7223)
  • Nous vous recommandons de rendre les actions de balayage pour révéler accessibles. Nous avons ajouté des actions d'accessibilité personnalisées à nos exemples de balayage pour révéler. (I42224)
  • Nous avons amélioré les performances de SwipeToDismissBox, y compris en effectuant un refactoring pour nous assurer que la logique initiale ne déclenche pas de recomposition. SwipeToDismissBox est maintenant dessiné en mode plein écran. (Ie0aa2)
  • Nous avons corrigé un bug qui faisait disparaître PositionIndicator de manière incorrecte. (I2091a)
  • Amélioration des performances de PositionIndicator en optimisant les recompositions. De nouveaux indicateurs pour contrôler les animations (fadeIn, fadeOut et positionChange) ont été ajoutés par la suite (voir les modifications apportées à l'API) (Ifac7d)
  • Nous avons ajouté des tests Microbenchmark pour PositionIndicator. (Idf875)

Version 1.3.0-alpha06

20 septembre 2023

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

Correction de bugs

  • Nous avons ajouté la prise en charge de Modifier.edgeSwipeToDismiss avec SwipeToReveal. (I95774, b/293444286)
  • Nous avons ajouté des exemples pour les éléments SwipeToRevealChip et SwipeToRevealCard de Material. (Ieb974)
  • Nous avons mis à jour les profils de référence pour les bibliothèques Wear Compose Foundation et Material. (I1dd1f)

Version 1.3.0-alpha05

6 septembre 2023

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

Correction de bugs

  • Nous avons ajouté une gestion dans le balayage pour révéler afin que vous ne puissiez balayer qu'un seul élément à la fois. (I3cd7a)
  • Amélioration de la documentation de ScalingLazyColumnDefaults pour mieux refléter son comportement réel. (I886d3)

Version 1.3.0-alpha04

23 août 2023

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

Nouvelles fonctionnalités

  • Nous avons ajouté la possibilité d'annuler l'action secondaire de SwipeToReveal. (I7a22d)

Modifications apportées à l'API

  • Ajoutez HorizontalPageIndicator dans la bibliothèque Wear Material3. (Ifee99)
  • Mise à jour des outils de prévisualisation de Wear Compose pour utiliser la bibliothèque androidx.wear.tooling.preview. (Ib036e)

Correction de bugs

  • Correction d'un bug dans les boutons ronds où les modificateurs n'étaient pas correctement enchaînés. (I5e162)

Version 1.3.0-alpha03

9 août 2023

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

Modifications apportées à l'API

  • Nous avons ajouté deux nouveaux composables dans Material pour implémenter SwipeToReveal avec des cartes et des chips. Ces composables respectent les consignes d'expérience utilisateur recommandées pour le composant et permettent aux développeurs d'implémenter plus facilement SwipeToReveal avec les composants existants de Material pour Wear. (I7ec65)
  • Nous avons activé les annotations FloatRange en tant que contraintes d'API, comme indiqué précédemment dans les commentaires. (Icb401)

Correction de bugs

  • Nous avons déplacé la logique de défilement initiale de ScalingLazyColumn dans onGloballyPositioned(). (Ic90f1)
  • Nous utilisons désormais drawWithCache dans PositionIndicator, ProgressIndicator et SelectionControls pour optimiser les allocations de traits. (I5f225, b/288234617)
  • Nous avons corrigé la visibilité de la coche dans les états désactivés. (Ib25bf)
  • Nous avons mis à jour Placeholder pour permettre de réinitialiser l'espace réservé si le contenu n'est plus prêt. (Ibd820)
  • Nous avons apporté quelques corrections aux tests Placeholder incohérents (Idb560).

Version 1.3.0-alpha02

26 juillet 2023

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

Modifications apportées à l'API

  • Nous avons fourni ExpandableStateMapping, une nouvelle méthode de génération de ExpandableStates, pour les cas où ils doivent être créés à la demande, et pas nécessairement dans le champ d'application d'un @Composable (Iff9e0).
  • SwipeToDismissBox a été migré de androidx.wear.compose.material vers le package androidx.wear.compose.foundation. (I275fb)
  • Mise à jour des fichiers d'API pour annoter la suppression de la compatibilité. (I8e87a, b/287516207)
  • Nous avons rendu publiques les constantes de hauteur pour Chip, CompactChip et ToggleChip. (Idbfde)
  • Nous avons rendu publiques les marges horizontales et verticales pour Chip et CompactChip. (Ieeaf7)
  • Ajout d'une fonctionnalité permettant de désactiver la gestion des balayages dans SwipeDismissableNavHost via le nouveau paramètre userSwipeEnabled. (Id2a0b, b/230865655)
  • Nous avons mis à jour la bibliothèque de navigation Wear Compose pour qu'elle utilise le nouveau SwipeToDismissBox de Wear Compose Foundation. (I4ff8e)

Correction de bugs

  • Nous avons corrigé un bug d'ordre Z qui empêchait expandedItem d'afficher le contenu correct après avoir cliqué sur le comportement d'un bouton lorsqu'il en comporte. (I1899d, b/289991514)
  • Amélioration de la gestion de la sélection de SwipeToDismissBox (et donc de SwipeDismissableNavHost) à l'aide de HierarchicalFocusCoordinator. (I45362, b/277852486)
  • Nous avons corrigé la gestion des gestes dans SwipeableV2 . (I89737)
  • Nous avons finalisé les profils de référence pour la version 1.2. (Id5740)
  • Après la migration de SwipeToDismissBox vers Foundation, l'implémentation de SwipeToDismissBox Material transmet désormais à Foundation et fournit les valeurs de couleur par défaut de son thème.(If8451)
  • Nous avons ajouté des informations sémantiques sur les titres à ListHeader. (Ic5420)
  • Chip et ToggleChip ajustent désormais leur hauteur pour s'adapter au contenu qui a augmenté en raison de la taille des polices pour l'accessibilité, le cas échéant. (Iaf302)
  • Correction d'un bug dans le rôle sémantique de la zone cliquable de SplitToggleChip, pour l'accessibilité. (Ieed3a)
  • Le paramètre "Réduire le mouvement" désactive désormais l'effet de scintillement et le mouvement de suppression sur les espaces réservés. (I91046)
  • Stepper et InlineSlider acceptent désormais les clics répétés lors d'un appui prolongé. Vous pouvez ainsi augmenter ou diminuer rapidement la valeur de Stepper et InlineSlider en maintenant les boutons + ou -. (I27359)

Version 1.3.0-alpha01

21 juin 2023

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

Correction de bugs

  • Comme annoncé dans 1.2.0-alpha07 et 1.2.0-alpha10, nous modifions désormais DefaultTextStyle pour désactiver la marge intérieure de la police afin d'assurer la cohérence sur la plate-forme Android. Cela résoudra certains cas de coupure de texte avec de grandes tailles de police et peut également avoir un impact sur les mises en page d'écran. Les tests de capture d'écran doivent donc être mis à jour. Par exemple, nous voyons ici un texte coupé (Ic6a86).
Texte coupé avec une grande taille de police
Figure 1: Texte découpé.
  • Il n'est plus présent lorsque la marge intérieure de la police est désactivée:
Texte non coupé avec une grande taille de police
Figure 2: Texte non coupé.
  • Nous avons modifié wear.compose.foundation pour qu'il soit une dépendance d'API de wear.compose.material. (I72004, b/285404743)
  • Nous avons corrigé un bug dans SwipeToDismissBox. Les clés d'arrière-plan et de contenu sont désormais transmises au bloc de mémorisation afin que de nouveaux modificateurs soient créés lorsque le contenu ou l'arrière-plan changent. (Ib876c, b/280392104)
  • Nous avons mis à jour TimeText pour qu'il utilise les paramètres régionaux lors du choix du format d'heure 12 heures ou 24 heures. (If4a3d)
  • Nous avons corrigé une incohérence dans les paramètres par défaut de contentScrimColor SwipeToDismissBox. (I2d70f)
  • Nous avons amélioré la gestion des mouvements dans SwipeToReveal. (I28fb7)

Problèmes connus

  • La prise en charge des tailles de police configurées par l'utilisateur est une exigence d'accessibilité. Nous savons que les chips multilignes peuvent entraîner le tronquage du texte lorsqu'ils sont affichés avec de grandes tailles de police. Nous allons donc mettre à jour Chip dans une version alpha 1.3 préliminaire pour ajuster la hauteur dans ce cas.

Version 1.2

Version 1.2.1

18 octobre 2023

Publication d'androidx.wear.compose:compose-*:1.2.1. Liste des commits de la version 1.2.1

Correction de bugs

  • Correction d'un bug qui entraînait la disparition incorrecte de PositionIndicator. (7a167f)

Version 1.2.0

9 août 2023

Publication d'androidx.wear.compose:compose-*:1.2.0. Liste des commits de la version 1.2.0

Changements importants depuis la version 1.1.0

Version 1.2.0-rc01

26 juillet 2023

Publication d'androidx.wear.compose:compose-*:1.2.0-rc01. Liste des commits de la version 1.2.0-rc01

Correction de bugs

  • Nous avons finalisé les profils de référence pour notre version 1.2 (ID 5740).

Version 1.2.0-beta02

7 juin 2023

Publication d'androidx.wear.compose:compose-*:1.2.0-beta02. Liste des commits de la version 1.2.0-beta02

Nouvelles fonctionnalités

  • Nous avons ajouté la nouvelle variable CompositionLocal LocalReduceMotion expérimentale, qui désactive la mise à l'échelle et le fondu sur ScalingLazyColumn. (I58024)

Correction de bugs

  • Nous avons mis à jour les profils de référence pour la fondation Wear Compose et les bibliothèques Material(I4725d).
  • Correction d'une incohérence dans les valeurs par défaut des paramètres contentScrimColor de SwipeToDismissBox (I2d70f)
  • Nous avons corrigé la valeur par défaut DefaultTextStyle utilisée pour le paramètre IncludeFontPadding (I737ed)

Version 1.2.0-beta01

24 mai 2023

Publication d'androidx.wear.compose:compose-*:1.2.0-beta01. Liste des commits de la version 1.2.0-beta01

Contenu de Compose pour Wear OS 1.2

La version 1.2-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.2 inclut les nouvelles fonctionnalités suivantes:

  • expandableItem et expandableItems sont deux nouveaux composants Foundation qui permettent d'étendre des éléments dans un ScalingLazyColumn. Utilisez expandableItem pour un seul élément extensible, tel que le texte dont le nombre de lignes est défini. Utilisez expandableItems pour un groupe d'éléments extensibles et expandableButton pour simplifier la création d'un bouton qui se réduit une fois le contenu développé.
  • HierarchicalFocusCoordinator : ce composable expérimental permet de marquer les sous-arborescences de la composition comme ayant le focus activé ou désactivé.
  • Picker : l'API inclut désormais userScrollEnabled pour contrôler si le sélecteur est actif pour le défilement effectué par l'utilisateur.
  • PickerGroup : nouveau composable permettant de gérer plusieurs sélecteurs. Il gère la sélection entre les sélecteurs à l'aide de l'API HierarchicalFocusCoordinator et permet de centrer automatiquement les éléments des sélecteurs.
  • Placeholder : nous avons mis à jour les animations de miroitement (shimmer) et de suppression. L'effet de grattage s'applique désormais immédiatement lorsque le contenu est prêt.
  • ScalingLazyColumn : nous avons migré ScalingLazyColumn et les classes associées de androidx.wear.compose.material.ScalingLazyColumn vers androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Veuillez mettre à jour pour utiliser la version Foundation.Lazy.
  • SwipeToReveal : nous avons ajouté la compatibilité expérimentale avec le balayage pour afficher des actions secondaires, en complément du modèle de pression prolongée existant.
  • Stepper : surcharge avec un paramètre enableRangeSemantics supplémentaire pour faciliter la désactivation de la sémantique de plage par défaut.
  • Previews : nous avons ajouté les annotations personnalisées suivantes pour prévisualiser les composables sur les écrans Wear : WearPreviewSmallRound prévisualise le composable sur un petit appareil rond ; WearPreviewLargeRound prévisualise le composable sur un grand appareil rond ; WearPreviewSquare prévisualise le composable sur un appareil carré. Vous pouvez également utiliser les annotations suivantes et les annotations multi-aperçus: WearPreviewFontScales permet de prévisualiser les composables sur un appareil Wear avec plusieurs tailles de police, tandis que WearPreviewDevices permet de prévisualiser les composables sur différents appareils Wear.
  • Nous avons ajouté un DefaultTextStyle à Wear Compose, qui définit la propriété PlatformTextStyle.includeFontPadding sur "true" par défaut (il s'agit du paramètre actuel). Cela nous permettra de synchroniser la désactivation de la marge intérieure des polices par défaut avec les bibliothèques Compose dans une version alpha précoce de la version 1.3. Pour en savoir plus, consultez 1.2.0-alpha10.

Nouvelles fonctionnalités

  • Nous avons ajouté la compatibilité expérimentale avec la désactivation de la mise à l'échelle et de l'animation de fondu lorsque le paramètre "reduce_motion" est activé. (I58024)

Correction de bugs

  • Amélioration de la documentation pour angularWidthDp dans CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost consigne désormais un avertissement avec les causes potentielles d'une pile "Retour" vide. Cela permet d'éviter les plantages inattendus causés par IllegalArgumentException, qui a été généré lorsque la pile "Retour" était vide. (I04a81, b/277700155)

Version 1.2.0-alpha10

10 mai 2023

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

Nouvelles fonctionnalités

  • Nous avons ajouté la prise en charge du balayage pour révéler, qui permet d'accéder aux actions secondaires. Ce modèle complète le modèle de pression prolongée, qui permet déjà à un utilisateur de révéler (différentes) actions secondaires. (I60862)

Modifications apportées à l'API

  • Nous avons ajouté RevealScope aux composables d'action dans SwipeToReveal, ce qui permet d'accéder au décalage à partir duquel des actions supplémentaires sont révélées. (I3fd56)

Correction de bugs

  • Correction d'un problème de blocage de ScalingLazyColumn sur l'API Wear 33 après un glissement (Ic4599)
  • Nous avons apporté quelques améliorations aux performances de PositionIndicator pour réduire les à-coups. (I35e92)
  • Nous avons corrigé un bug dans Chip et CompactChip, où le rôle sémantique n'était plus défini sur Role.Button. (I93f91, b/277326264)

Problèmes connus

  • Nous avons identifié un bug dans Android Studio qui entraîne l'échec de l'affichage de l'aperçu lorsqu'il est annoté avec @WearPreviewDevices et @WearPreviewFontScales. Un correctif est prévu pour bientôt. Veuillez noter que les autres annotations de prévisualisation Wear fonctionnent comme prévu dans Android Studio Giraffe 2022.3.1 et versions ultérieures.

  • Dans la version 1.2.0-alpha07, nous avons ajouté DefaultTextStyle à Wear Compose, en conservant la valeur "true" pour la valeur PlatformTextStyle.includeFontPadding existante. Pour en savoir plus, consultez Corriger la marge intérieure de la police dans Compose. Nous allons modifier DefaultTextStyle pour désactiver la marge intérieure de la police dans une version alpha préliminaire de la version 1.3, afin d'assurer la cohérence sur la plate-forme Android. Cela résoudra certains cas de coupure de texte avec de grandes tailles de police et peut également avoir un impact sur les mises en page d'écran. Les tests de capture d'écran doivent donc être mis à jour. Par exemple, avec de grandes tailles de police, le texte est coupé:

Texte coupé avec une grande taille de police
Figure 1: Texte découpé.
  • Il n'est plus présent lorsque la marge intérieure de la police est désactivée:
Texte non coupé avec une grande taille de police
Figure 2: Texte non coupé.

Vous pouvez déjà adopter le nouveau paramètre en remplaçant la typographie dans votre thème (voir exemple de code).

Version 1.2.0-alpha09

19 avril 2023

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

Modifications apportées à l'API

  • Ajout de angularSizeDp à l'API CurvedModifier pour définir la largeur angulaire en DP (I89a52)

Correction de bugs

  • Correction des problèmes d'accessibilité dans nos démonstrations du sélecteur d'heure. (Id0eb7)

Version 1.2.0-alpha08

5 avril 2023

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

Modifications apportées à l'API

  • ExpandableItemsState a été renommé ExpandableState. (If85ea)
  • Nous avons ajouté expandableButton pour simplifier la création d'un bouton qui se réduit lorsque le contenu est développé, et nous avons également mis à jour les exemples d'éléments extensibles. (Iae309)

Correction de bugs

  • Amélioration des exemples extensibles pour proposer plus de possibilités. Modification de l'animation de expandableItem pour que son contenu reste centré pendant l'animation. (I2f637)
  • Mise à jour de ToggleControls pour éviter les recompositions supplémentaires lors de l'animation manuelle des couleurs à l'aide de l'état. (I5d319)

Version 1.2.0-alpha07

22 mars 2023

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

Modifications apportées à l'API

  • Nous avons déplacé les composants d'élément extensible (ajoutés dans la version 1.2.0-alpha06) de Material vers Foundation, car ils n'avaient aucune référence pertinente à MaterialTheme. (Ib0525)

Correction de bugs

  • Nous avons corrigé un plantage qui se produisait sur un écran utilisant PickerGroup, en nous assurant que PickerGroup gère correctement la sélection lorsque aucun sélecteur n'est sélectionné. Nous avons également ajouté la prise en charge du défilement RSB dans nos démonstrations de sélecteur. (If8c19)
  • Nous avons amélioré les transitions de boîte de dialogue. La transition d'introduction est désormais plus fluide pour correspondre à la transition de fin. (Ib5af9)
  • Nous avons ajouté un DefaultTextStyle à Wear Compose, qui définit la propriété PlatformTextStyle.includeFontPadding sur "true" par défaut (il s'agit du 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. Pour en savoir plus, consultez Corriger la marge intérieure de la police dans Compose. (I2aee8)
  • Revert une dépendance d'aperçu UpsideDownCake via activity-compose qui bloquait la publication d'applications sur le Google Play Store. (I6443d)

Version 1.2.0-alpha06

8 mars 2023

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

Modifications apportées à l'API

  • Ajoutez le composant CurvedBox, qui place les composants les uns sur les autres dans le monde incurvé. (I29200)
  • Ajout de composants "Éléments extensibles" : deux nouveaux composants permettant de prendre en charge un groupe d'éléments extensibles dans un ScalingLazyColumn ou un élément unique extensible, tel que le texte dans lequel le nombre de lignes s'étend. (I95dd5)
  • Nous avons ajouté les annotations personnalisées suivantes pour prévisualiser les composables sur les écrans Wear: WearPreviewSmallRound prévisualise le composable sur un petit appareil rond ; WearPreviewLargeRound prévisualise le composable sur un grand appareil rond ; WearPreviewSquare prévisualise le composable sur un appareil carré. Vous pouvez également utiliser les annotations suivantes et les annotations multi-aperçus: WearPreviewFontScales affiche les composables sur un appareil Wear avec plusieurs tailles de police, tandis que WearPreviewDevices affiche les composables sur différents appareils Wear. Pour utiliser ces aperçus, vous devez utiliser la dernière version d'Android Studio (Giraffe Canary 6) ou une version ultérieure. Notez que si ces annotations ne répondent pas à votre objectif, vous pouvez toujours utiliser l'aperçu, qui permet d'effectuer d'autres personnalisations via des paramètres. (I397ff)
  • Nous avons marqué HierarchicalFocusCoordinator comme expérimental, car il est considéré comme un candidat à être déplacé dans les bibliothèques de base de Compose, en raison de sa large applicabilité. (I3a768)

Correction de bugs

  • Correction d'un bug sur HierarchicalFocusCoordinator. Lorsque le lambda transmis pour le paramètre focusEnabled est modifié, nous utilisons désormais le nouveau correctement. (Icb353)
  • Nous avons remplacé la couleur par défaut du contenu désactivé par "Background" (Arrière-plan) lorsque vous utilisez des couleurs primaires comme arrière-plan dans Button, CompactButton, Chip, CompactChip et ToggleButton. Cela améliore le contraste pour l'accessibilité. (I527cc)

Version 1.2.0-alpha05

22 février 2023

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

Modifications apportées à l'API

  • Mise à jour de l'API PickerGroup pour permettre la propagation facultative des contraintes minimales au composable. Si définies sur "true", les contraintes minimales transmises à partir du composable parent sont autorisées sur PickerGroup. Si définies sur "false", PickerGroup réinitialise les contraintes minimales. (I3e046)
  • Nous avons ajouté animateScrollToOption à l'API Picker afin de permettre l'animation programmatique pour une option de sélecteur spécifique. (I6fe67)

Correction de bugs

  • Nous avons mis à jour HorizontalPageIndicator pour prendre en charge les mises en page de droite à gauche. (Ia4359)
  • Ajout de tests de capture d'écran pour la mise en page de droite à gauche dans HorizontalPageIndicator. (I6fbb8)
  • Ajout de tests supplémentaires pour SwipeDismissableNavHostTest, qui utilisent TestNavHostController. (I61d54)

Version 1.2.0-alpha04

8 février 2023

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

Nouvelles fonctionnalités

  • PickerGroup pour gérer plusieurs sélecteurs à l'aide de l'API Focus. Gère la sélection entre les différents sélecteurs, permet de les centrer automatiquement en fonction de paramètres et permet aux développeurs de changer le ciblage entre les différents sélecteurs tout en traitant les événements du groupe. En mode TalkBack, le PickerGroup gère le ciblage TalkBack en déplaçant le ciblage sur le sélecteur sélectionné à partir du groupe. (I60840)

Modifications apportées à l'API

  • Nous avons ajouté une surcharge à Stepper avec un paramètre enableRangeSemantics supplémentaire afin de faciliter la désactivation de la sémantique de plage par défaut. (Ia61d4)

Correction de bugs

  • Possibilité d'imbriquer ScalingLazyColumn dans une page à défilement horizontal. (Iec3f8, b/266555016)
  • Amélioration du nettoyage des kdocs Stepper et des tests StepperTest. (Ic118e)
  • Mise à jour de la dépendance androidx.navigation vers la version 2.5.3. (If58ed)

Version 1.2.0-alpha03

25 janvier 2023

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

Modifications apportées à l'API

  • Migration de ScalingLazyColumn (et des classes associées) de androidx.wear.compose.material.ScalingLazyColumn vers andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (voir cet exemple pour la migration). Ce nouvel emplacement correspond mieux à celui de compose.foundation.lazy.LazyColumn et est plus naturel, car il ne s'agit pas d'un composant Material catégorique. Cette modification est effectuée en vue d'une nouvelle bibliothèque Material3 que nous allons développer en parallèle à la bibliothèque Material existante. (I060e7)

Les modifications suivantes font partie de la migration de ScalingLazyColumn de Material vers Foundation.Lazy :

  • Les API PositionIndicator qui ciblent la ScalingLazyColumn de Material sont obsolètes. Veuillez utiliser plutôt Foundation.Lazy ScalingLazyColumn. En outre, le champ anchorType a été ajouté à ScalingLazyListLayoutInfo. (I29d95)
  • ScalingLazyColumn a été marqué comme obsolète dans le package Wear Compose. (I16d34)
  • Mise à jour du modificateur ScrollAway pour qu'il utilise ScalingLazyListState à partir de Wear Compose Foundation.Lazy et abandon de la surcharge qui récupérait ScalingLazyListState à partir de Wear Compose Material. (Ifc42c)
  • Mise à jour des API Dialog pour qu'elles utilisent ScalingLazyListState à partir de Foundation.Lazy et abandon des surcharges qui utilisaient les ScalingLazyListState de Material. (Ic8960)
  • Mise à jour des API Picker pour qu'elles utilisent ScalingParams à partir de Foundation.Lazy et abandon des surcharges qui utilisaient les ScalingParams de Material. (Idc3d8)

Correction de bugs

  • Correction d'un bug qui provoquait des recompositions inutiles dans ScalingLazyListState.centerItemIndex en garantissant que les mises à jour ne sont envoyées que lorsque la valeur change réellement. (Ia9f38)
  • Amélioration des performances de SwipeToDismissBox (I3933b).
  • Ajout de tests comparatifs pour ScalingLazyColumn dans Wear Compose Foundation. (Ie00f9)
  • Mise à jour de certaines méthodes de classe ScalingLazyColumn internes dans Material pour qu'elles utilisent leurs équivalents de Foundation.Lazy (I38aab).
  • Correction de certains problèmes dans les tests de Picker et ajout de tests supplémentaires pour la vérification du défilement avec décalage (I6ac34)
  • Migration des versions de démonstration d'intégration de ScalingLazyColumn pour qu'elles dépendent de Foundation.Lazy au lieu du ScalingLazyColumn de Material. (Ic6caa)
  • Ajout de paramètres fromDate/toDate facultatifs à notre version de démonstration de DatePicker. (I961cd)

Version 1.2.0-alpha02

11 janvier 2023

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

Modifications apportées à l'API

  • Les tests de l'UI d'Android Compose exécuteront désormais des contrôles de mise en page pour chaque image lors de l'exécution d'images pour arriver à l'inactivité (par exemple, via waitForIdle). Cela peut affecter les tests qui s'appliquent à des images individuelles d'animations de mise en page. (I8ea08, b/222093277)
  • Le paramètre minLines a été ajouté à Wear Text pour assurer un comportement cohérent avec BasicText. (I24874)
  • CompactChipTapTargetPadding a été rendu public pour qu'il figure dans la documentation. (If1e70, b/234119038)

Correction de bugs

  • Nous avons désactivé les builds multiplates-formes pour les packages. wear.compose (Iad3d7)
  • Nous avons corrigé les problèmes liés aux fichiers kdocs pour scrollToOption. (I6f9a0)
  • PlaceholderState.rememberPlaceholderState() a été mis à jour pour utiliser rememberUpdatedState afin que l'état se mette à jour si le lambda onContentReady. (I02635, b/260343754)
  • Nous avons corrigé un problème de variation irrégulière du texte, détecté dans le composant Picker en utilisant la nouvelle stratégie de composition ajoutée à Modifier.graphicsLayer. (I99302)
  • Nous avons corrigé un bug qui provoquait un clignotement dans notre démo DatePicker. (I660bd)
  • Nous avons amélioré l'accessibilité des démonstrations du sélecteur de date et d'heure sur 12 heures. (I05e12)
  • Nous avons modifié les démonstrations du sélecteur de date et d'heure, de sorte qu'elles ne soient pas affectées par les modifications des RSB lorsqu'elles sont désélectionnées. (I4aecb)

Version 1.2.0-alpha01

7 décembre 2022

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

Nouvelles fonctionnalités

  • Nous avons mis à jour la fonctionnalité expérimentale d'espace réservé afin que l'effet de grattage (wipe off) s'applique immédiatement lorsque le contenu est prêt, sans attendre le début de la prochaine boucle d'animation. Nous avons également mis à jour les animations de grattage et de miroitement (shimmer). (I5a7f4)

Modifications apportées à l'API

  • Nous avons ajouté un HierarchicalFocusCoordinator composable qui permet de marquer les sous-arborescences de la composition comme ayant le focus activé ou désactivé. (I827cb)
  • Nous avons ajouté une propriété pour remplacer le rôle sémantique de ToggleButton. (I67132)
  • Nous avons mis à jour TimeTextDefaults.TimeFormat12Hours pour supprimer AM/PM dans TimeText. Cela modifie la valeur par défaut des paramètres timeSource dans l'API TimeText. (I1eb7f)
  • Nous avons étendu l'API Picker pour améliorer l'accessibilité des écrans dotés de plusieurs sélecteurs. Une nouvelle propriété userScrollEnabled permet de contrôler si le sélecteur est actif pour le défilement effectué par l'utilisateur. (I3c3aa)

Correction de bugs

  • Nous avons modifié la largeur de bordure par défaut de OutlinedButton/OutlinedCompactButton de 2 dp à 1 dp, afin de respecter les spécifications de l'expérience utilisateur finale. (Icf84d)
  • Pour réduire l'effet de défilement du premier élément ajouté à une ScalingLazyColumn vide, nous avons ajouté une estimation de autoCentering topPadding lorsque le contenu est vide. Cette modification permet de calculer la quantité de marge intérieure supérieure nécessaire en supposant un élément initial d'une hauteur de 0 dp. Pour ScalingLazyListAnchorType.ItemStart, la marge intérieure supérieure sera calculée correctement. Pour ScalingLazyListAnchorType.ItemCenter, ce calcul sera incorrect, car la hauteur des éléments est nécessaire pour dimensionner correctement le contenu. Cela entraînera un léger effet de défilement en fonction de la hauteur réelle. (I239a4)
  • Nous avons modifié le fond appliqué à l'animation SwipeToDismiss pour qu'il corresponde à la plate-forme Wear. (I9003e)
  • Nous avons corrigé la façon dont PositionIndicator traite LazyListState etScalingLazyListState pour les éléments de liste de taille 0 afin d'éviter la division par zéro. (Ic28dd)

Version 1.1

Version 1.1.2

8 février 2023

Publication d'androidx.wear.compose:compose-foundation:1.1.2, d'androidx.wear.compose:compose-material:1.1.2 et d'androidx.wear.compose:compose-navigation:1.1.2. Liste des commits de la version 1.1.2

Correction de bugs

  • Correction d'un bug qui provoquait des recompositions inutiles dans ScalingLazyListState.centerItemIndex en garantissant que les mises à jour ne sont envoyées que lorsque la valeur change réellement. (Ia9f38)

Version 1.1.1

11 janvier 2023

Publication d'androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 et androidx.wear.compose:compose-navigation:1.1.1. Liste des commits de la version 1.1.1

Correction de bugs

  • PlaceholderState.rememberPlaceholderState() a été mis à jour pour utiliser rememberUpdatedState afin que l'état se mette à jour si le lambda onContentReady. (I02635, b/260343754)

Version 1.1.0

7 décembre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 et androidx.wear.compose:compose-navigation:1.1.0. Liste des commits de la version 1.1.0

Modifications importantes depuis la version 1.0.0

Nouvelles fonctionnalités

  • Nous avons mis à jour la fonctionnalité expérimentale d'espace réservé afin que l'effet de grattage (wipe off) s'applique immédiatement lorsque le contenu est prêt, sans attendre le début de la prochaine boucle d'animation. Nous avons également mis à jour les animations de grattage et de miroitement (shimmer). (I5a7f4)

Correction de bugs

  • Nous avons modifié la largeur de bordure par défaut de OutlinedButton/OutlinedCompactButton de 2 dp à 1 dp, afin de respecter les spécifications de l'expérience utilisateur finale. (Icf84d)
  • Pour réduire l'effet de défilement du premier élément ajouté à une ScalingLazyColumn vide, nous avons ajouté une estimation de autoCentering topPadding lorsque le contenu est vide. Cette modification permet de calculer la quantité de marge intérieure supérieure nécessaire en supposant un élément initial d'une hauteur de 0 dp. Pour ScalingLazyListAnchorType.ItemStart, la marge intérieure supérieure sera calculée correctement. Pour ScalingLazyListAnchorType.ItemCenter, ce calcul sera incorrect, car la hauteur des éléments est nécessaire pour dimensionner correctement le contenu. Cela entraînera un léger effet de défilement en fonction de la hauteur réelle. (I239a4)
  • Nous avons modifié le fond à l'animation SwipeToDismiss pour qu'il corresponde à la plate-forme Wear. (I9003e).
  • Nous avons corrigé la façon dont PositionIndicator traite LazyListState etScalingLazyListState pour les éléments de liste de taille 0 afin d'éviter la division par zéro. (Ic28dd)

Version 1.1.0-rc01

9 novembre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 et androidx.wear.compose:compose-navigation:1.1.0-rc01. Liste des commits de la version 1.1.0-rc01

Correction de bugs

  • Nous avons ajouté des règles de profil de référence pour Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip et OutlinedCompactChip. (I8249c)
  • Nous avons corrigé un bug dans Modifier.scrollAway pour faire en sorte que, si la valeur itemIndex spécifiée n'est pas valide (si l'index d'élément est hors plage, par exemple), TimeText soit quand même affiché. (I2137a)
  • Nous avons mis à jour l'animation SwipeToDismissBox pour qu'elle corresponde à l'implémentation de la plate-forme. Une fois l'animation de pression initiale terminée, l'écran glisse vers la droite lorsque l'utilisateur déclenche une action de fermeture. (I41d34)
  • À des fins d'optimisation, nous avons modifié Modifier.scrollAway pour qu'il ne lise que le scrollState à l'intérieur du bloc de mesure afin d'éviter de recomposer le modificateur après chaque nouvelle mesure. (I4c6f1)
  • Nous avons ajouté une documentation et un exemple sur les espaces réservés afin de montrer l'ordre correct pour Modifier.placeholder et Modifier.placeholderShimmer lorsqu'ils sont appliqués au même composable. (Ie96f4, b/256583229)
  • Nous avons modifié la largeur de bordure par défaut de OutlinedCompactChip/OutlinedChip de 2 dp à 1 dp pour respecter les spécifications de l'expérience utilisateur finale. (Ib3d8e)
  • Nous avons corrigé un bug dans rememberPickerState qui empêchait les entrées modifiées d'être enregistrées, de sorte que les composables n'étaient pas mis à jour après les modifications apportées aux entrées. (I49ff6, b/255323197)
  • Nous avons apporté les modifications suivantes à l'interface utilisateur : 1) définition du gradient de miroitement à 1,5 fois la taille de l'écran ; 2) ajout d'un lissage (courbe de Bézier cubique) de la progression du miroitement ; et 3) accélération de l'animation "par grattage" (250 ms). (Id29c1)
  • Nous avons corrigé un bug dans l'interface utilisateur concernant l'animation "par grattage" des espaces réservés. Les arrière-plans des "Chips" et des "Cards" s'effaçaient un peu trop rapidement, car la position du composant à l'écran n'était pas prise en compte. (I2c7cb)
  • Nous avons mis à jour le dessin d'arrière-plan de l'espace réservé pour fusionner les couleurs plutôt que de les superposer, dans la mesure du possible. Cela permet de réduire le risque de mélange alpha des différents calques recadrés et d'éviter que les couleurs sous-jacentes ne déteignent sur les bords de l'arrière-plan de l'espace réservé. (I2ea26)
  • Nous avons corrigé le calcul du ScalingLazyListState.centerItemIndex/centerItemOffset de sorte que, si deux éléments se trouvent de chaque côté de la ligne centrale de la fenêtre d'affichage, l'élément le plus proche soit considéré comme centerItem. (I30709, b/254257769)
  • Nous avons corrigé un bug dans ScalingLazyListState.layoutInfo.visibleItemsInfo qui renvoyait des décalages incorrects lors de l'initialisation de ScalingLazyColumn. Désormais, une liste vide est renvoyée jusqu'à ce que tous les éléments soient visibles et associés aux décalages corrects. Vérifiez que ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() confirme que l'initialisation de ScalingLazyColumn est terminée et que les éléments sont visibles. (I3a3b8)

Version 1.1.0-beta01

24 octobre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 et androidx.wear.compose:compose-navigation:1.1.0-beta01. Liste des commits de la version 1.1.0-beta01

Contenu de Compose pour Wear OS 1.1

La version 1.1.0-beta01 de Compose pour Wear OS indiquait que cette version de la bibliothèque était complète et que l'API était verrouillée.

  • La version 1.1 de Wear Compose apporte les fonctionnalités suivantes :
    • Picker : amélioration de l'accessibilité du "Picker" afin de permettre la navigation des écrans dotés de plusieurs sélecteurs avec les lecteurs d'écran et de rendre la description du contenu accessible.
    • Le paramètre contentDescription de "Picker" n'est désormais utilisé que pour l'option "Picker" sélectionnée et accepte une chaîne pouvant avoir une valeur nulle. Dans le commit précédent, il était nécessaire de transmettre un mappage entre l'option et la description du contenu, mais seule l'option sélectionnée était utilisée.
    • Désormais, les éléments du "Picker" sont toujours alignés au centre, ce qui corrige un bug survenant lors de la définition de gradientRatio sur zéro ayant pour effet secondaire de modifier l'alignement.
    • Chip/ToggleChip : mise à jour des dégradés par défaut pour Chip/ToggleChip afin qu'ils soient alignés sur les dernières spécifications de l'expérience utilisateur. La valeur de ChipDefaults.gradientBackgroundChipColors a été mise à jour pour démarrer à 50 % de la primaire au lieu de 32,5 %.
    • Chip/ToggleChip : ajout de surcharges pour la modification des formes de "Chips".
    • Chip/Button/ToggleButton : ajout d'un nouveau style pour les "Chips" et les boutons, ainsi que pour les nouveaux composables OutlinedChip et OutlinedButton, qui fournissent un Chip/Button transparent avec une bordure fine.
    • Card : mise à jour des gradients par défaut des cartes afin qu'ils soient alignés sur les dernières spécifications de l'expérience utilisateur. La valeur de CardDefaults.cardBackgroundPainter a été mise à jour pour démarrer de 30 % de la primaire et se terminer à 20 % de onSurfaceVariant (auparavant 20 % et 10 % onSurfaceVariant). ToggleChip.toggleChipColors passe d'un dégradé linéaire de 75 % de la surface à 32,5 % de la primaire et de 0 % de la surface à 50 % de la primaire.
    • Button/ToggleButton : ajout de propriétés pour la modification des formes de boutons.
    • Thème : mise à jour d'un certain nombre de couleurs par défaut dans le MaterialTheme afin d'améliorer l'accessibilité, car les couleurs d'origine n'étaient pas suffisamment contrastées. Cela rendait difficile pour les utilisateurs de distinguer entre l'arrière-plan des "Chips", des "Cards" ou des boutons et la couleur d'arrière-plan du thème.
    • InlineSlider/Stepper : ajout de fonctions de bouton afin que Talkback puisse les reconnaître en tant que boutons.
    • Scaffold : PositionIndicator est désormais positionné et dimensionné de sorte qu'il ne prenne que l'espace nécessaire. Ainsi, si des informations sémantiques y sont ajoutées, TalkBack obtient les limites appropriées de PositionIndicator à l'écran.
    • CurvedText/TimeText : ajout de Modifier.scrollAway, qui fait défiler un élément verticalement ou hors du champ de vision, en fonction de l'état du défilement (avec des surcharges pour Column, LazyColumn et ScalingLazyColumn). ScrollAway est généralement utilisé pour faire disparaître TimeText de la vue lorsque l'utilisateur commence à faire défiler une liste d'éléments vers le haut.
    • CurvedText/TimeText : fontFamily, fontStyle et fontSynthesis sont désormais pris en charge dans CurvedTextStyle et peuvent être utilisés pour curvedText et basicCurvedText.
    • CurvedText/TimeText : ajout de fontWeight au constructeur et à la méthode de copie pour CurvedTextStyle.
    • ToggleControls : ajout des boutons d'activation Checkbox, Switch et RadioButton animés à utiliser avec ToggleChip et SplitToggleChip. Ils peuvent être utilisés à la place des icônes statiques fournies par ToggleChipDefaults (switchIcon, checkboxIcon et radioIcon).
    • Espace réservé : nous avons ajouté la compatibilité expérimentale avec les espaces réservés. Trois effets visuels distincts sont conçus pour fonctionner ensemble.
    • Le premier, un effet d'arrière-plan de pinceau utilisé dans les conteneurs tels que les "Chips" et les "Cards" pour dessiner sur l'arrière-plan normal lorsque le contenu est chargé.
    • Le deuxième, un modificateur (Modifier.placeholder()) permettant de dessiner un widget d'espace réservé en forme de stade au-dessus du contenu en cours de chargement.
    • Le troisième, un effet de dégradé/de miroitement (Modifier.placeholderShimmer()) dessiné au-dessus des autres effets pour indiquer à l'utilisateur que nous attendons que les données soient chargées.
      • Ces trois effets sont conçus pour être coordonnés et produire un effet de miroitement ou de grattage de manière orchestrée.
  • Mise à jour des dépendances Core Compose de la version 1.2 vers la version 1.3.

Modifications apportées à l'API

  • Les paramètres de police (fontFamily, fontWeight, fontStyle et fontSynthesis) peuvent désormais être spécifiés directement en tant que paramètres de curvedText (Idc422).

Correction de bugs

  • curveText et basicCurvedText fonctionnent désormais correctement avec TalkBack (un nœud Compose UI correctement dimensionné et placé [mais vide] leur est associé, utilisant le texte comme description du contenu). (I7AF7C, b/210721259)
  • Correction d'un bug dans Picker lorsque PickerState.repeatedItems = false permet d'ajouter un paramètre explicite "autoCentering" sur la ScalingLazyColumn interne des sélecteurs afin de permettre de faire défiler l'option zéro au centre de la vue. (I8a4d7)

Version 1.1.0-alpha07

5 octobre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 et androidx.wear.compose:compose-navigation:1.1.0-alpha07. Liste des commits de la version 1.1.0-alpha07.

Nouvelles fonctionnalités

  • Nous avons ajouté la compatibilité expérimentale avec les espaces réservés. Trois effets visuels distincts sont conçus pour fonctionner ensemble. Le premier, un effet d'arrière-plan de pinceau utilisé dans les conteneurs tels que les "Chips" et les "Cards" pour dessiner sur l'arrière-plan normal lorsque le contenu est chargé. Le deuxième, un modificateur (Modifier.placeholder()) permettant de dessiner un widget d'espace réservé en forme de stade au-dessus du contenu en cours de chargement. Le troisième, un effet de dégradé/de miroitement (Modifier.placeholderShimmer()) dessiné au-dessus des autres effets pour indiquer à l'utilisateur que nous attendons que les données soient chargées. Ces trois effets sont conçus pour être coordonnés et produire un effet de miroitement ou de grattage de manière orchestrée. (I3c339)

Modifications apportées à l'API

  • fontWeight, fontFamily, fontStyle et fontSynthesis sont désormais pris en charge dans CurvedTextStyle et peuvent être utilisés pour curvedText et basicCurvedText. Ces paramètres permettent de spécifier la police et le style à utiliser sur le texte incurvé. (Iaa1a8, I72759)
  • Nous avons défini le paramètre Offset de Modifier.scrollAway en dp pour assurer la cohérence avec Modifier.offset (auparavant, il était en pixels). Nous l'avons également refactorisé en tant que LayoutModifier pour plus d'efficacité. (I9f94b)
  • Dans la nouvelle API pour les boutons d'activation et de désactivation, nous avons renommé RadioButton’s circleColor en ringColor. (I28fa9)
  • Nous avons ajouté des boutons d'activation Checkbox, Switch et RadioButton animés à utiliser avec ToggleChip et SplitToggleChip. Ils peuvent être utilisés à la place des icônes statiques fournies par ToggleChipDefaults (switchIcon, checkboxIcon et radioIcon). (I8a8c4)

Version 1.1.0-alpha06

21 septembre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha06, d'androidx.wear.compose:compose-material:1.1.0-alpha06 et d'androidx.wear.compose:compose-navigation:1.1.0-alpha06. Liste des commits de la version 1.1.0-alpha06.

Nouvelles fonctionnalités

  • Nous avons ajouté Modifier.scrollAway, qui fait défiler un élément verticalement ou hors du champ de vision, en fonction de l'état du défilement (avec des surcharges pour Column, LazyColumn et ScalingLazyColumn). ScrollAway est généralement utilisé pour faire disparaître TimeText de la vue lorsque l'utilisateur commence à faire défiler une liste d'éléments vers le haut. (I61766)

Correction de bugs

  • PositionIndicator est désormais positionné et dimensionné de sorte qu'il ne prenne que l'espace nécessaire. Ainsi, si des informations sémantiques y sont ajoutées, TalkBack obtient les limites appropriées de PositionIndicator à l'écran. (Ie6106, b/244409133)

Version 1.1.0-alpha05

7 septembre 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 et androidx.wear.compose:compose-navigation:1.1.0-alpha05. Liste des commits de la version 1.1.0-alpha05

Correction de bugs

  • Nous avons ajouté des fonctions de bouton à InlineSlider et Stepper pour que "TalkBack" puisse déterminer qu'il s'agit de boutons. (Icb46c, b/244260275)
  • Nous avons corrigé l'ordre Z des indicateurs de position et de page dans "Scaffold". Les indicateurs s'affichent désormais au-dessus de la vignette et ne sont donc pas dissimulés par celle-ci, si elle est présente. (Ib988f, b/244207528)

Version 1.1.0-alpha04

24 août 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 et androidx.wear.compose:compose-navigation:1.1.0-alpha04. Liste des commits de la version 1.1.0-alpha04.

Modifications apportées à l'API

  • Nous avons mis à jour un certain nombre de couleurs par défaut dans le "MaterialTheme" afin d'améliorer l'accessibilité, car les couleurs d'origine n'étaient pas suffisamment contrastées. Cela rendait la distinction entre l'arrière-plan des "Chips", des "Cards" ou des boutons et la couleur d'arrière-plan du thème difficile pour les utilisateurs. Les couleurs mises à jour sont les suivantes : "surface(0xFF202124->0xFF303133)", "onPrimary(0xFF202124->0xFF303133)", "onSecondary(0xFF202124->0xFF303133)", "primaryVariant(0xFF669DF6->0xFF8AB4F8)" et "onError(0xFF202124->0xFF000000)". Les changements de couleurs, bien que relativement subtils, peuvent affecter les tests de capture d'écran existants. (81ab09)

Correction de bugs

  • Correction d'un bug de logique dans ScalingLazyColumn qui pouvait empêcher les listes comportant un petit nombre d'éléments (en général, exactement deux) de s'initialiser, ce qui les rendait transparentes. (504347)

Version 1.1.0-alpha03

10 août 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 et androidx.wear.compose:compose-navigation:1.1.0-alpha03. Liste des commits de la version 1.1.0-alpha03

Nouvelles fonctionnalités

  • Nous avons ajouté un nouveau style de contour pour Chips et Buttons, ainsi que de nouveaux composables OutlinedChip et OutlinedButton qui fournissent un Chip/Button transparent avec une bordure fine. (Id5972)

Modifications apportées à l'API

  • Ajout de surcharges pour la modification des formes de boutons. (Icccde)

Correction de bugs

  • Nous avons corrigé la taille de la zone de contrôle d'activation de la ToggleChip, car elle ne correspondait pas aux spécifications de l'expérience utilisateur. Les spécifications de l'expérience utilisateur requièrent une espace de 4 dp entre le libellé et une zone d'icône de contrôle d'activation de 24 x 24 dp, ce qui donne une largeur totale de 28 dp. Toutefois, l'implémentation donne une zone de contrôle d'activation incorrecte de 36 x 24 dp. Cela entraîne la suppression de 8 dp de la zone de libellé de texte utilisable. REMARQUE : Cette correction de bug permet de libérer de l'espace pour le libellé de texte et peut, de ce fait, avoir un impact (positif) sur la mise en page du texte en excès. Vous devrez peut-être mettre à jour les tests de capture d'écran comprenant ToggleChips. (I514c8, b/240548670)

Version 1.1.0-alpha02

27 juillet 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 et androidx.wear.compose:compose-navigation:1.1.0-alpha02. Liste des commits de la version 1.1.0-alpha02.

Nouvelles fonctionnalités

  • Nous avons modifié les dépendances de Compose pour Wear OS dans les bibliothèques Compose principales en passant de la version 1.2.0 à la version 1.3.0-alpha0X.

Modifications apportées à l'API

  • Ajout de surcharges pour la modification des formes de puces. (I02e87)

Correction de bugs

  • Nous avons animé la visibilité de la vignette lors de l'affichage ou du masquage de "Dialog" afin qu'elle corresponde à l'animation de mise à l'échelle existante. (Ida33e)
  • Nous avons corrigé un bug provoquant une division par zéro avec certains comportements de déplacement lors du défilement. (I86cb6)
  • Correction d'un bug dans ChipDefaults.childChipColor() afin que la couleur d'arrière-plan désactivée soit totalement transparente. (I2b3c3, b/238057342)

Version 1.1.0-alpha01

29 juin 2022

Publication d'androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 et androidx.wear.compose:compose-navigation:1.1.0-alpha01. Liste des commits de la version 1.1.0-alpha01

Modifications apportées à l'API

  • Le paramètre contentDescription de "Picker" n'est désormais utilisé que pour l'option "Picker" sélectionnée et accepte une chaîne pouvant avoir une valeur nulle. Auparavant, il était nécessaire de transmettre un mappage entre l'option et la description du contenu, mais seule l'option sélectionnée était utilisée. (Ife6a7)
  • Nous avons amélioré l'accessibilité du "Picker" afin de permettre la navigation des écrans dotés de plusieurs sélecteurs avec les lecteurs d'écran et de rendre la description du contenu accessible. (I64edb)

Correction de bugs

  • Nous avons mis à jour les règles de profil de référence disponibles dans la bibliothèque Wear Compose. (I9c694)
  • Nous avons corrigé la direction du dégradé pour les "Chips" en mode de droite à gauche. Auparavant, elle allait du coin supérieur gauche au coin inférieur droit, maintenant elle va du coin supérieur droit au coin inférieur gauche. (Ic2e77)
  • Nous avons mis à jour les dégradés par défaut pour Chip/ToggleChip/Card afin de les aligner sur les dernières spécifications de l'expérience utilisateur. La valeur de ChipDefaults.gradientBackgroundChipColors a été mise à jour pour démarrer à 50 % de la primaire au lieu de 32,5 %. La valeur de CardDefaults.cardBackgroundPainter a été mise à jour pour démarrer à 30 % de la primaire et se terminer à 20 % de onSurfaceVariant (auparavant 20 % à 10 % de onSurfaceVariant). ToggleChip.toggleChipColors passe d'un dégradé linéaire de 75 % de la surface à 32,5 % de la primaire et de 0 % de la surface à 50 % de la primaire. (I43bbd)
  • Nous avons ajouté une couleur d'arrière-plan (MaterialTheme.color.surface) derrière Chip/ToggleChips disposant d'arrière-plans de dégradé afin d'assurer une bonne visibilité dans le cas improbable où une couleur claire serait utilisée à l'arrière. (Ibe1a4, b/235937657)
  • Désormais, les éléments du "Picker" sont toujours alignés au centre, ce qui corrige un bug survenant lors de la définition de gradientRatio sur zéro ayant pour effet secondaire de modifier l'alignement. (I712b8)

Version 1.0

Version 1.0.2

7 septembre 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 et androidx.wear.compose:compose-navigation:1.0.2. Liste des commits de la version 1.0.2

Correction de bugs

  • Nous avons corrigé l'ordre Z des indicateurs de position et de page dans "Scaffold". Les indicateurs s'affichent désormais au-dessus de la vignette et ne sont donc pas dissimulés par celle-ci, si elle est présente. (Ib988f, b/244207528)

Version 1.0.1

24 août 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 et androidx.wear.compose:compose-navigation:1.0.1. Liste des commits de la version 1.0.1

Correction de bugs

  • Correction d'un bug de logique dans ScalingLazyColumn qui pouvait empêcher les listes comportant un petit nombre d'éléments (en général, exactement deux) de s'initialiser, ce qui les rendait transparentes. (076c61)

Version 1.0.0

27 juillet 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 et androidx.wear.compose:compose-navigation:1.0.0. Liste des commits de la version 1.0.0

Principales fonctionnalités de la version 1.0.0

  • Il s'agit de la première version stable de Compose pour Wear OS (en savoir plus).
  • Compose pour Wear OS se base sur les bibliothèques principales de Compose fournissant des composants supplémentaires spécifiques aux accessoires connectés et, le cas échéant, d'autres implémentations des composants principaux de Compose adaptés aux accessoires connectés.
  • Pour obtenir la liste des principaux composants de Wear Compose, consultez les notes de version de (Compose pour Wear OS version Beta01).

Correction de bugs

  • Nous avons animé la visibilité de la vignette lors de l'affichage ou du masquage de "Dialog" afin qu'elle corresponde à l'animation de mise à l'échelle existante. (Ida33e)
  • Nous avons corrigé un bug provoquant une division par zéro avec certains comportements de déplacement lors du défilement. (I86cb6)
  • Correction d'un bug dans ChipDefaults.childChipColor() afin que la couleur d'arrière-plan désactivée soit totalement transparente. (I2b3c3, b/238057342)

Version 1.0.0-rc02

22 juin 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 et androidx.wear.compose:compose-navigation:1.0.0-rc02. Liste des commits de la version 1.0.0-rc02

Correction de bugs

  • Nous avons corrigé la direction du dégradé pour les "Cards" en mode de droite à gauche. Auparavant, elle allait du coin supérieur gauche au coin inférieur droit, maintenant elle va du coin supérieur droit au coin inférieur gauche. (Ic2e77)
  • Nous avons mis à jour les dégradés par défaut pour Chip/ToggleChip/Card afin de les aligner sur les dernières spécifications de l'expérience utilisateur. La valeur de ChipDefaults.gradientBackgroundChipColors a été mise à jour pour démarrer à 50 % de la primaire au lieu de 32,5 %. La valeur CardDefaults.cardBackgroundPainter a été mise à jour pour démarrer à 30 % de la primaire et se terminer à 20 % de onSurfaceVariant (auparavant 20 % à 10 % de "onSurfaceVariant"). ToggleChip.toggleChipColors passe d'un dégradé linéaire de 75 % de la surface à 32,5 % de la primaire et de 0 % de la surface à 50 % de la primaire. (I43bbd)
  • Nous avons ajouté une couleur d'arrière-plan (MaterialTheme.color.surface) derrière Chip/ToggleChips disposant d'arrière-plans de dégradé afin d'assurer une bonne visibilité dans le cas improbable où une couleur claire serait utilisée à l'arrière. (Ibe1a4, b/235937657)
  • Nous avons mis à jour les règles de profil de référence disponibles dans la bibliothèque Wear Compose. (I9c694)

Version 1.0.0-rc01

15 juin 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 et androidx.wear.compose:compose-navigation:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01

Modifications apportées à l'API

  • Mise à jour des interfaces dans les bibliothèques Compose, désormais créées à l'aide des méthodes d'interface jdk8 par défaut. (I5bcf1)

Correction de bugs

  • Nous avons supprimé l'appel explicite à fillMaxWidth() dans l'en-tête de la liste, car il n'est pas nécessaire et peut entraîner des problèmes si une ScalinglazyColumn combine des composants ListHeader() et Chip(). En effet, la largeur a tendance à augmenter/réduire à mesure que les éléments ListHeader apparaissent ou disparaissent de la vue lors du défilement. (I37144, b/235074035)
  • Nous avons corrigé un bug dans la ScalingLazyColumn qui empêchait les éléments de la liste de s'afficher correctement avant le défilement si l'élément 0 de la liste n'était pas assez grand (y compris la marge intérieure). (Ic6159, b/234328517)
  • Nous avons légèrement ajusté l'accélération de la ScalingLazyColumn, car les éléments atteignent le bord de l'écran pour se conformer aux mises à jour des spécifications de l'expérience utilisateur. Anciennes valeurs : CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nouvelles valeurs : CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Pour conserver l'ancien comportement, vous pouvez ignorer les scalingParams de ScalingLazyColumn. (Ie375c)
  • Nous avons ajouté une marge intérieure à la CompactChip pour que la taille de la cible tactile mesure au moins 48 dp de haut et respecte les consignes d'accessibilité de Material. Cela peut avoir un impact sur les mises en page que vous utilisez avec CompactChips, car elles occupent un espace supplémentaire. (I3d57c)

Version 1.0.0-beta03

1er juin 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 et androidx.wear.compose:compose-navigation:1.0.0-beta03. Liste des commits de la version 1.0.0-beta03.

Nouvelles fonctionnalités

  • ScalingLazyColumn fonctionne désormais dans le mode @Preview de Compose. (I3b3b6, b/232947354)

Modifications apportées à l'API

  • Nous avons modifié la valeur par défaut de la propriété ScalingLazyColumn.horizontalAlignment du début à CenterHorizontally afin que les éléments de la liste, lorsqu'ils ne remplissent pas toute la largeur de la colonne, soient alignés pour une visibilité maximale. Pour revenir au comportement précédent, définissez horizontalAlignment = Alignment.Start. (I9ed4b)

Problèmes connus

  • La hauteur tactile de "CompactChip" est inférieure aux consignes d'accessibilité de Material. Ce problème sera corrigé dans la prochaine version (15 juin). Si vous utilisez "CompactChip", cela aura un impact sur vos mises en page, car les "CompactChips" disposeront désormais d'une marge intérieure supplémentaire au-dessus et en dessous. Veuillez ajuster et tester vos mises en page ou consulter les commentaires sur les bugs pour résoudre le problème et utiliser le comportement existant. (b/234332135)

Correction de bugs

  • Nouvelle version de démonstration pour animer l'ajout ou la suppression d'un texte de départ sur un TimeText. (I16d75)
  • Ajouter des tests pour HorizontalPageIndicator.PagesState. (I64ed0)
  • Mise à jour de TimeText plus proche des spécifications de l'expérience utilisateur. (Ib7ea1)

Version 1.0.0-beta02

18 mai 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 et androidx.wear.compose:compose-navigation:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02

Nouvelles fonctionnalités

  • "Picker" répond désormais toujours aux événements de défilement, même en mode lecture seule. Cela évite aux utilisateurs de devoir appuyer sur un "Picker" pour le sélectionner avant de pouvoir procéder au défilement. En mode lecture seule, les autres options que celle actuellement sélectionnée sont dissimulées par un shim dans gradientColor. (I72925)
  • Nous avons modifié le comportement de l'interface utilisateur de Chip/ToggleChip/CompactChip/SplitToggleChip pour empêcher l'utilisation de fillMaxWidth par défaut. Ils s'adapteront plutôt à leur contenu. Pour conserver le comportement précédent, ajoutez simplement modifier = Modifier.fillMaxWidth(). (I60a2c, b/232206371)

Correction de bugs

  • Le constructeur de CurvedTextStyle qui utilise un TextStyle respecte désormais également la fontWeight (dans les futures révisions de l'API, il est possible que cela soit ajouté au constructeur et que les méthodes soient copiées). (Ieebb9)
  • Améliorations apportées au balayage de l'écran depuis le bord. Lorsque Modifier.edgeSwipeToDismiss est utilisé et qu'un balayage vers la gauche est déclenché depuis le bord, le balayage pour ignorer ne se déclenche plus lorsque la direction du balayage se fait vers la droite. Auparavant, il était possible de déclencher le balayage pour ignorer en balayant vers la gauche, puis vers la droite. (I916ea)
  • HorizontalPageIndicator affiche désormais jusqu'à six pages à l'écran. S'il y a plus de six pages au total, un indicateur de taille moyenne s'affiche à gauche ou à droite, avec une transition en douceur entre les pages. (I2ac29)
  • Amélioration du comportement d'ancrage par défaut sur ScalingLazyColumn et Picker. (I49539)
  • Améliorations apportées au balayage de l'écran depuis le bord. Lorsque Modifier.edgeSwipeToDismiss est utilisé, le balayage pour ignorer ne se déclenche que lorsque vous appuyez d'abord sur le bord et que vous balayez l'écran vers la droite. Auparavant, vous pouviez le déclencher en effectuant un balayage depuis n'importe quelle partie de l'écran, si le défilement atteignait le point de départ. (I8ca2a)

Version 1.0.0-beta01

11 mai 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 et androidx.wear.compose:compose-navigation:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01

Contenu de Compose pour Wear OS 1.0

La version 1.0.0-beta01 de Compose pour Wear OS représente une étape importante, car la bibliothèque comprend toutes les fonctionnalités et l'API est verrouillée.

Les composants Material de Wear Compose dans la version 1.0 comprennent :

  • Material Theme : il est utilisé pour remplacer le MaterialTheme de Compose pour mobile. Il fournit les couleurs, les formes et la typographie pour la création des composants des accessoires connectés qui appliquent directement les consignes de l'expérience utilisateur prêtes à l'emploi de Material Design pour Wear.
  • Button, CompactButton et ToggleButton : "Button" propose un seul emplacement pour accueillir une icône, une image ou un texte court (trois caractères maximum). Forme arrondie avec les tailles recommandées pour les petits ou grands boutons par défaut. CompactButton propose un seul emplacement pour tous les contenus (icône, image ou texte) et une forme arrondie avec une taille d'arrière-plan très petite. CompactButton dispose d'une marge intérieure transparente facultative autour de l'arrière-plan qui augmente la zone cliquable. ToggleButton est un bouton qui propose un seul emplacement pour tous les contenus (texte court, icône ou image) et des états activés ou désactivés (cochés/décochés), avec des couleurs et différentes icônes indiquant si l'option est cochée ou non.
  • Cards : elles permettent d'afficher des informations sur les applications, telles que les notifications. Conception flexible pour différents cas d'utilisation avec AppCard et TitleCard, offrant différentes mises en page et une compatibilité avec les images, comme du contenu de carte ou des arrière-plans.
  • Chips : il s'agit de composants en forme de stade semblables à des boutons, mais avec une zone plus grande et plusieurs emplacements permettant d'accueillir des libellés, des libellés secondaires et des icônes. Elles sont disponibles dans différentes tailles et compatibles avec les images comme arrière-plan.
  • ToggleChips et SplitToggleChips : une "Chip" avec un état coché ou décoché, ainsi qu'un emplacement de ToggleControl permettant d'afficher une icône, comme un contacteur ou une case d'option, indiquant l'état coché du composant. En outre, SplitToggleChip comporte deux zones tactiles, l'une cliquable et l'autre activable.
  • CircularProgressIndicator : un indicateur de progression de Wear Material avec deux variantes. La première exprime le niveau d'achèvement d'une tâche en cours et prend en charge l'écart dans la piste circulaire entre les angles de départ et de fin. La seconde indique une progression indéterminée pour un temps d'attente non spécifié.
  • curvedText : il fait partie du langage DSL permettant de décrire CurvedLayouts, avec curvedRow et curvedColumn, afin de disposer des composants autour d'appareils arrondis. Consultez la section Wear Component Foundation ci-dessous pour en savoir plus sur CurvedLayout et CurvedModifier (cela joue un rôle semblable aux modificateurs dans le monde non incurvé et permet de configurer divers aspects de la mise en page, de la marge intérieure, des dégradés, etc.).
  • Dialog, Alert et Confirmation : "Dialog" affiche une boîte de dialogue en plein écran, superposée à tout autre contenu, et prend en charge le balayage pour ignorer. Elle occupe un seul emplacement, qui devrait être défini en fonction du contenu de la boîte de dialogue de Wear Material, comme "Alert" ou "Confirmation". "Alert" est un contenu défini en fonction de la boîte de dialogue avec des emplacements pour l'icône, le titre et le message. Elle est surchargée pour deux boutons négatifs et positifs affichés côte à côte ou un emplacement pour une ou plusieurs puces empilées verticalement. "Confirmation" est un contenu défini en fonction de la boîte de dialogue qui affiche un message pendant une certaine durée. Elle contient un emplacement pour une icône ou une image (qui peut être animée).
  • HorizontalPageIndicator : il affiche la position horizontale de la page en fonction du facteur de forme de l'accessoire connecté. Il est conçu pour s'afficher en plein écran avec un indicateur incurvé sur les appareils arrondis. Il peut être utilisé avec la visionneuse de pages Accompanist.
  • Icon : une implémentation Wear d'une "Icon" qui affiche les couleurs et les versions alpha de Material Theme pour Wear. Pour obtenir une icône cliquable, consultez la section "Button" ou "Chip".
  • Picker : il affiche une liste déroulante d'éléments à sélectionner. Par défaut, les éléments sont répétés "à l'infini" dans les deux sens. Il peut être affiché en mode lecture seule pour masquer les options non sélectionnées.
  • PositionIndicator : il affiche la position de défilement ou toute autre indication de position en fonction du facteur de forme de l'accessoire connecté. Il est conçu pour un affichage en plein écran et présente un indicateur incurvé sur les appareils arrondis.
  • Scaffold : il implémente la structure de mise en page visuelle de base de Material Design pour Wear. Ce composant fournit une API permettant de regrouper plusieurs composants de Wear Material (TimeText, PositionIndicator et Vignette, par exemple) pour créer l'écran, assurant ainsi une stratégie de mise en page adaptée, et collecter les données nécessaires pour que ces composants fonctionnent correctement ensemble.
  • ScalingLazyColumn : un composant de liste déroulante de mise à l'échelle/fisheye qui fait partie intégrante du langage Material Design pour Wear. Elle applique des effets de mise à l'échelle et de transparence aux éléments de contenu. ScalingLazyColumn est conçue pour gérer un nombre potentiellement important d'éléments de contenu, qui sont uniquement matérialisés et composés en cas de besoin.
  • Slider : il permet aux utilisateurs de faire un choix parmi une plage de valeurs. La plage de sélections s'affiche sous la forme d'une barre que vous pouvez éventuellement afficher avec des séparateurs.
  • Stepper : un composant affiché en plein écran. Il permet aux utilisateurs de faire un choix parmi une plage de valeurs à l'aide des boutons d'augmentation ou de réduction, situés en haut et en bas de l'écran, avec un emplacement au milieu pour un "Text" ou une "Chip".
  • SwipeToDismissBox : elle gère le geste de balayage pour ignorer. Elle occupe un seul emplacement pour le contenu en arrière-plan (uniquement affiché lors du geste de balayage) et au premier plan. Elle peut éventuellement être associée à la bibliothèque de navigation AndroidX à l'aide de SwipeDismissableNavHost (voir la bibliothèque de navigation Wear Compose ci-dessous).
  • Text : une implémentation Wear du composant Material Text de Compose, avec les couleurs et les versions alpha de Material Theme pour Wear.
  • TimeText : un composant permettant d'afficher l'heure et l'état de l'application en haut de l'écran. Il s'adapte à la forme de l'écran en utilisant du texte incurvé sur les écrans arrondis.
  • Vignette : un traitement d'écran utilisé dans le composant "Scaffold", qui permet de flouter le haut et le bas de l'écran lorsque du contenu à faire défiler est utilisé.

  • Les composants suivants sont également inclus dans Wear Compose Foundation :

  • CurvedLayout : CurvedLayout de Wear Foundation est un composable de mise en page qui place ses enfants dans un arc et les fait pivoter si nécessaire. Cette méthode est semblable à une mise en page de "Row" incurvée en un segment d'anneau. Notez que le contenu d'une CurvedLayout n'est pas un lambda composable, mais un langage spécifique à un domaine (DSL, domain-specific language). Tous les éléments du DSL de "CurvedLayout" prennent en charge un paramètre de modificateur facultatif, créé à partir de CurvedModifier.

  • basicCurvedText : un élément du DSL CurvedLayout. basicCurvedText permet aux développeurs d'écrire facilement du texte incurvé épousant la courbure d'un cercle (généralement au bord d'un écran arrondi). basicCurvedText ne peut être créé que dans CurvedLayout pour assurer une expérience optimale, par exemple la possibilité de spécifier le positionnement et d'utiliser CurvedModifiers. Notez que, dans la plupart des cas, il convient d'utiliser "curvedText" à la place, car il utilise la thématisation Material.

  • curvedComposable : il encapsule le contenu composable normal afin qu'il puisse être utilisé avec CurvedLayout. Si curvedComposable contient plusieurs éléments, ils seront superposés (comme une "Box"). Pour placer plusieurs composables sur une courbe, encapsulez chacun d'eux avec curvedComposable.

  • curvedRow et curvedColumn : similaires à "Row" et "Column", curvedRow et curvedColumn peuvent être imbriquées dans une CurvedLayout pour afficher les éléments selon les besoins. Pour une curvedRow, vous pouvez spécifier la direction de la mise en page angulaire et l'alignement radial. Pour une curvedColumn, vous pouvez spécifier l'alignement angulaire et la direction radiale.

  • CurvedModifier : tous les composants incurvés acceptent un paramètre de modificateur pouvant être créé à l'aide de CurvedModifier. L'arrière-plan, la taille, l'épaisseur et la marge intérieure sont pris en charge.

  • Le composant suivant est également inclus dans la navigation de Wear Compose :

  • SwipeDismissableNavHost : il permet la navigation autonome dans la hiérarchie de Compose, avec une navigation pour revenir en arrière grâce à un geste de balayage. Le contenu est affiché dans une SwipeToDismissBox indiquant le niveau de navigation actuel. Lors d'un geste de balayage pour ignorer, le niveau de navigation précédent (le cas échéant) s'affiche en arrière-plan.

  • Pour en savoir plus sur le contenu publié, consultez les notes de version précédentes relatives aux différentes versions alpha.

Modifications apportées à l'API

  • Ajout de fonctions CurvedModifier.padding*. Elles permettent de spécifier l'espace supplémentaire à ajouter autour d'un composant incurvé. (I4dbb4)
  • Suppression de la classe interne CompositionLocal. (I42490)
  • Nous avons ajouté des valeurs constantes pour les tailles d'icônes Button, CompactButton et ToggleButton, à titre indicatif. (I57cab)
  • Ajout d'un paramètre activé à AppCard et TitleCard. Leur API est désormais semblable à celle des "Cards" androidx.compose.material. Lorsque le paramètre est défini sur "false", la carte n'est pas cliquable. (Idc48d, b/228869805)

Correction de bugs

  • "Stepper" désactive désormais les boutons d'augmentation et de réduction lorsque les limites inférieures/supérieures ont été atteintes (et applique "ContentAlpha.disabled" à la "iconColor"). (I4be9f)
  • Nous avons ajouté une marge intérieure de 1 dp autour du contenu de "Picker" lors de l'utilisation d'un dégradé afin d'éviter la gigue du texte observée lors du balayage. (I0b7b9)
  • Ajout de tests de capture d'écran pour PositionIndicator. (I5e8bc)
  • Ajout d'autres tests pour AppCard et TitleCard. (I85391, b/228869805)

Version 1.0.0-alpha21

20 avril 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 et androidx.wear.compose:compose-navigation:1.0.0-alpha21. Liste des commits de la version 1.0.0-alpha21

Nouvelles fonctionnalités

  • Ajout de nouveaux modificateurs incurvés pour spécifier l'arrière-plan d'un élément incurvé : CurvedModifier.background, .radialGradientBackground et .angularGradientBackground. (I8f392)
  • Autorisation de la spécification du mode de dépassement du texte incurvé (rognage/ellipse/visibilité). (I8e7aa)
  • Ajout du modificateur CurvedModifier.weight, semblable à celui de Compose. Vous pouvez l'utiliser sur les enfants de "curvedRow" et "CurvedLayout" (pour la largeur) et pour les enfants de "curvedColumn" (pour la hauteur). (I8abbd)
  • Ajout des modificateurs CurvedModifier.size, .angularSize et .radialSize pour indiquer la taille d'un élément incurvé. (I623c7)

Modifications apportées à l'API

  • Réorganisation des paramètres pour que l'arrière-plan précède la couleur de manière cohérente dans l'API Wear Compose. (I43208)
  • Les paramètres dans le sens des aiguilles d'une montre et insideOut ont été supprimés et remplacés par des constantes plus expressives dans les nouvelles classes. La direction de la mise en page incurvée peut désormais prendre en charge LayoutDirection. Elle est héritée lorsqu'elle n'est pas spécifiée. (If0e6a)
  • Nous avons remplacé autoCenter: Boolean par autoCenter: AutoCentringParams afin de résoudre un problème d'API lié à la ScalingLazyColumn. (Ia9c90)
  • Nous avons remplacé le nom de iconTintColor et de toggleControlTintColor par iconColor et toggleControlColor dans l'API ("Chip"/"ToggleChip"/"Dialog"/"Slider"/"Stepper"/…), car la couleur est appliquée à l'emplacement "icon"/"toggleControl". (Ied238)
  • Réécriture de l'énumération PageIndicatorStyle dans la classe de valeur. (I2dc72)
  • Nous avons ajouté RowScope/ColumnScope/BoxScope à certains emplacements de nos composables afin d'indiquer aux développeurs quelles sont les hypothèses concernant les mises en page. Cela permettra aux développeurs d'utiliser des modificateurs supplémentaires sur le contenu de certains emplacements et d'éviter de devoir fournir des éléments de mise en page supplémentaires. Nous avons également apporté des ajustements mineurs aux couleurs de "AppCard"/"TitleCard" afin que timeColor et appColor soient définies par défaut sur contentColor. Ces propriétés peuvent toujours être individuellement remplacées si nécessaire. (I26b59)
  • Objet SwipeToDismissBoxState.Companion rendu privé. (I39e84)
  • Correction de l'ordre des paramètres pour InlineSlider et Stepper. Un changement simple pour suivre les consignes de l'API. (I11fec)
  • Nous avons supprimé l'objet "Saver" pour SwipeToDismissBoxState, car il n'était pas utilisé. (Ifb54e)
  • Nous avons mis à jour CompactChip pour qu'elle soit conforme aux dernières spécifications de l'expérience utilisateur. La marge intérieure a été réduite à 12 dp à l'horizontale et à 0 dp à la verticale. La police du libellé est passée de "button" à "caption1". La taille recommandée pour les icônes est de 20 x 20 lorsque l'icône et le libellé sont tous deux présents et de 24 x 24 pour une puce compacte ne contenant qu'une seule icône. Pour le cas d'utilisation de l'icône uniquement, nous avons également vérifié qu'elle est bien centrée. (Iea2be)
  • Nous avons ajouté un certain nombre de nouveaux champs à ScalingLazyListLayoutInfo pour permettre aux développeurs de connaître la quantité de contentPadding et de autoCenteringPadding appliquée. Cela peut être utile aux développeurs pour calculer le déplacement/défilement. (I7577b)
  • Nous avons implémenté des transitions d'entrée et de sortie pour "Dialog". Un paramètre showDialog a été ajouté, et la "Dialog" contrôle désormais sa propre visibilité (ce qui permet à "Dialog" d'exécuter les animations d'introduction et de conclusion lorsque la "Dialog" est affichée ou masquée). Notez que l'animation de conclusion n'est pas exécutée lorsque l'utilisateur quitte la boîte de dialogue en effectuant un balayage pour ignorer. Nous avons également ajouté une valeur par défaut pour l'état dans la surcharge SwipeToDismissBox récemment ajoutée. (I682a0)
  • Afin de mieux prendre en charge i18n et a11y, nous avons modifié ToggleChip et SplitToggleChip afin qu'elles n'aient plus de valeur par défaut pour l'emplacement toggleControl. Nous avons également modifié ToggleChipDefaults afin que les méthodes suivantes renvoient désormais "ImageVector" au lieu de "Icon" (comme elles ne renvoient plus "@Composables", elles l'ont modifié pour qu'il commence par des lettres minuscules). SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() et RadioIcon()->radioIcon() : permettent d'encourager les développeurs à créer leurs propres composables Icon() avec un ensemble de contentDescription approprié. (I5bb5b)
  • Nous avons ajouté un paramètre SwipeDismissableNavHostState à SwipeDismissableNavHost. Cela prend en charge l'utilisation du balayage depuis le bord sur les écrans utilisés comme destinations de navigation, car SwipeToDismissBoxState peut être hissé et utilisé pour initialiser SwipeDismissableNavHostState et Modifier.edgeSwipeToDismiss sur les écrans qui nécessitent ce type de balayage. (I819f5, b/228336555)

Correction de bugs

  • Assurez-vous que les mises en page incurvées sont mises à jour si nécessaire. (Ie8bfa, b/229079150)
  • Correction de bug pour https://issuetracker.google.com/issues/226648931. (Ia0a0a, b/226648931)
  • Suppression des annotations expérimentales inutiles. (I88d7e)

Version 1.0.0-alpha20

6 avril 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 et androidx.wear.compose:compose-navigation:1.0.0-alpha20. Liste des commits de la version 1.0.0-alpha20

Nouvelles fonctionnalités

  • Ajout du modificateur edgeSwipeToDismiss pour SwipeToDismiss. Cela permet à swipeToDismiss d'être actif uniquement sur le bord gauche de la fenêtre d'affichage. Utilisé lorsque le centre de l'écran doit gérer la pagination horizontale, comme le défilement d'une "Map" en 2D ou le balayage horizontal d'une page à l'autre. (I3fcec, b/200699800)

Modifications apportées à l'API

  • L'implémentation de base des CurvedModifiers permet d'introduire des moyens de personnaliser le contenu incurvé (mais les CurvedModifiers ne sont pas encore fournis et la possibilité de créer des modificateurs personnalisés pourrait être disponible ultérieurement). (I9b8df)
  • Mise à jour de la documentation du modificateur EdgeSwipe et des valeurs par défaut pour une meilleure compréhension. (I6d00d)
  • Ajout d'un emplacement PageIndicator dans "Scaffold". En ajoutant PageIndicator directement dans "Scaffold", nous pouvons garantir qu'il s'affiche correctement sur les appareils arrondis. (Ia6042)
  • Suppression des "Icons" par défaut des paramètres de InlineSlider et de "Stepper". Les développeurs pourront ainsi être plus attentifs aux exigences de localisation et d'accessibilité. Les utilisations des icônes par défaut ont été présentées dans les démonstrations et les exemples. (I7e6fd)
  • Remplacement des noms des paramètres de fin et de début par "Start" et "End" dans "TimeText". (Iaac32)
  • Nous avons ajouté une surcharge de SwipeToDismissBox avec un paramètre onDismissed pour permettre l'utilisation courante consistant à déclencher un événement de navigation lorsque le geste de balayage est terminé. (I50353, b/226565726)
  • Suppression des annotations de ExperimentalWearMaterialApi de l'utilisation de TimeText. (Ide520)
  • Nous avons indiqué que les champs d'application et les interfaces d'informations de ScalingLazyList/Column étaient scellés, car ils ne sont pas conçus pour être implémentés par des développeurs externes. Cela nous permettra d'y ajouter de nouveaux membres à l'avenir sans modifications destructives binaires. (I7d99f)
  • Nous avons ajouté une nouvelle propriété flingBehaviour à "Picker" et une méthode PickerDefaults.flingBehaviour() pour permettre la configuration du comportement de déplacement, comme l'ajout de la compatibilité avec RSB. PickerState implémente maintenant l'interface ScrollableState. (Ib89c7)

Correction de bugs

  • Mise à jour des règles de profil de référence Android Runtime (ART) pour les bibliothèques de Wear Compose. ART peut exploiter les règles de profil sur les appareils afin de compiler à l'avance un sous-ensemble spécifique de l'application pour améliorer ses performances. Notez que cette opération n'a aucune incidence sur les applications débogables. (Iaa8ef)
  • Amélioration de la documentation. (I2c051)

Version 1.0.0-alpha19

23 mars 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 et androidx.wear.compose:compose-navigation:1.0.0-alpha19. Liste des commits de la version 1.0.0-alpha19

Modifications apportées à l'API

  • CurvedRow renommé CurvedLayout et retravaillé pour devenir un champ d'application avec un DSL. Avec ce DSL, vous pouvez spécifier des mises en page incurvées plus complexes à l'aide d'une série de propriétés curvedRow et curvedColumn imbriquées (qui correspondent aux mises en page incurvées de "Row" et "Column"). À l'intérieur de ces éléments de mise en page, vous pouvez utiliser trois éléments : curvedComposable (pour ajouter n'importe quel "@Composable"), basicCurvedText (texte incurvé de la base) et curvedText (texte incurvé compatible avec Material Wear). (Ib776a)
  • Le côté de PositionIndicator est désormais configurable. La position de base de "PositionIndicator" peut désormais être configurée en "End" (compatible avec la direction de la mise en page), "OppositeRsb" (prend en compte la rotation de l'écran pour se positionner du côté opposé au RSB physique) ou en valeurs absolues "Left" et "Right". (I2f1f3)
  • Pour SwipeToDismissBox, nous avons remplacé le nom de SwipeDismissTarget.Original par SwipeToDismissValue.Default et de SwipeDismissTarget.Dismissal par SwipeToDismissValue.Dismissed. Nous avons également déplacé SwipeToDismissBoxDefaults.BackgroundKey et SwipeToDismissBoxDefaults.ContentKey vers SwipeToDismissKeys.Background et SwipeToDismissKeys.Content, respectivement. (I47a36)
  • Nous avons ajouté un mode lecture seule au "Picker" pour les écrans avec plusieurs "Pickers", où un seul "Picker" peut être modifié à la fois. Lorsque le "Picker" est en lecture seule, il affiche l'option actuellement sélectionnée et un libellé, s'il a été fourni. (I879de)
  • SwipeToDismissBoxState a été refactorisé pour limiter le champ d'application de ExperimentalWearMaterialApi à Modifier.swipeable et SwipeableState, qui sont maintenant utilisés en interne. SwipeToDismissBoxState compte désormais des membres de currentValue, targetValue, isAnimationRunning et snapTo pour prendre en charge les cas d'utilisation courants. N'hésitez pas à nous contacter si vous avez besoin de nouvelles propriétés. Correction du comportement de SwipeableState lorsque le décalage de balayage se trouve dans l'erreur d'arrondi d'une ancre. (I58302)

Correction de bugs

  • Simplification et correction du code permettant de détecter si le contenu d'une ScalingLazyColumn peut être défilé (utilisé pour décider d'afficher ou non une barre de défilement). (I7bce0)
  • Correction d'un bug dans l'indicateur de position lorsqu'il est utilisé avec plusieurs états et lors du passage d'un état à l'autre. (I320b5)
  • Nous avons mis à jour la typographie et les polices du thème Compose pour Wear OS par défaut afin qu'elles respectent nos derniers conseils concernant l'expérience utilisateur. Notez que les valeurs de "display1" (40 sp) et de "display2" (34 sp) sont maintenant inférieures à leurs valeurs précédentes. De plus, d'autres ajustements mineurs ont été apportés à la hauteur des lignes et aux interlignes. (Ie3077)
  • Nous avons ajouté une résistance à SwipeToDismissBox afin que le mouvement ne se produise que lors du balayage pour ignorer et non dans la direction inverse. (Ifdfb9)
  • Nous avons modifié certaines des valeurs de paramètre par défaut pour les fonctions CircularProgressIndicator afin de les aligner sur les conseils concernant l'expérience utilisateur de Material Design pour Wear. La taille (40->24 dp), "indicatorColor" (primary->onBackground), la transparence "trackColor' (30 %->10 %) et la largeur du trait (4->3 dp) ont été mises à jour pour la version "Spinner"/"Indeterminant". La transparence "trackColor" (30 %->10 %) a été mise à jour pour la version "Progress"/"Determinate". (I659cc)
  • Nous avons mis à jour les paramètres de mise à l'échelle par défaut de ScalingLazyColumn pour qu'ils soient conformes aux dernières spécifications de l'expérience utilisateur de Material Design pour Wear. Visuellement, la mise à l'échelle des éléments de la liste est plus proche du centre de la liste, mais moins importante au bord de la liste qu'auparavant. (Ica8f3)
  • Quelques ajustements de ScalingLazyColumnDefaults.snapFlingBehavior pour améliorer la fin de l'animation. (If3260)

Version 1.0.0-alpha18

9 mars 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 et androidx.wear.compose:compose-navigation:1.0.0-alpha18. Liste des commits de la version 1.0.0-alpha18

Modifications apportées à l'API

  • Plusieurs améliorations ont été apportées dans "PositionIndicator" : remplacement du nom de "ShowResult" par "PositionIndicatorVisibility". Quelques améliorations des performances pour éviter de nouveaux calculs inutiles. (Iaed9d)
  • La couleur recommandée pour la SplitToggleChip a été mise à jour. "SplitToggleChip" dispose désormais d'un arrière-plan de couleur unie lorsqu'elle est cochée ou décochée, la couleur de "ToggleControl" étant la principale indication pour savoir si le composant est coché ou non. Nous avons ajouté un nouveau ToggleDefaults.splitToggleChipColors() pour prendre en charge le nouveau jeu de couleurs. Nous avons également simplifié les méthodes de toggleChipColors() en supprimant "splitBackgroundOverlayColor". (I7e66e)
  • Nous avons ajouté "unadjustedSize" à ScalingLazyListItemInfo, car le calcul de la taille de l'élément d'origine à l'aide de la taille ajustée et du facteur de scaling n'est pas sûr en raison de la précision des opérations mathématiques flottantes. (I54657, b/221079441)
  • Ajout de HorizontalPageIndicator. Il représente le nombre total de pages et une page sélectionnée. Il peut être linéaire ou incurvé, en fonction de la forme de l'appareil. Il est également compatible avec la forme de l'indicateur personnalisé, qui définit la représentation visuelle de chaque indicateur. (Iac898)
  • Nous avons mis à jour PickerState pour que "numberOfOptions" puisse être mis à jour. Cela permet de prendre en charge des cas d'utilisation, tels que DatePicker, lorsque le nombre de jours dans le mois change en fonction du mois sélectionné. Par conséquent, le paramètre de constructeur de "PickerState" a été remplacé par "initialNumberOfOptions". (Iad066)
  • PositionIndicator est masqué lorsqu'il s'agit d'une barre de défilement et que vous ne pouvez pas la faire défiler. (Id0a7f)
  • Par souci de cohérence avec "Scaffold", notre composant "Dialog" en plein écran affiche désormais PositionIndicator et Vignette. Nous utilisons maintenant ScalingLazyColumn au lieu de Column, ce qui signifie que le contenu de la "Dialog" se trouve désormais dans ScalingLazyListScope (et doit généralement être entouré par l'élément { /* content */ }). Par conséquent, "Dialog" prend en charge le paramètre "verticalArrangement". (Idea13)
  • Nous avons remplacé le nom des propriétés ToggleChip et SplitToggleChip de "toggleIcon" par "toggleControl" pour un meilleur alignement avec Material Design et faciliter la navigation des concepteurs et des développeurs dans l'API. (If5921, b/220129803)
  • Nous avons ajouté une nouvelle "caption3" d'entrée à Material Theme pour Wear Typology. "Caption3" est une petite police utilisée dans les textes longs, comme les textes juridiques. (I74b13, b/220128356)

Correction de bugs

  • Arrêt de l'animation d'ancrage en notre présence. (Idb69d)
  • Modifications de l'animation dans "PositionIndicator". (I94cb9)
  • Suite aux commentaires sur l'interface utilisateur et l'expérience utilisateur, nous avons modifié le "autoCentering" de ScalingLazyColumn afin de fournir seulement assez d'espace pour permettre un défilement complet au centre de la fenêtre d'affichage des éléments ayant un index de ScalingLazyListState.initialCenterItemIndex ou supérieur. Cela permet aux développeurs de placer un ou deux éléments autour de l'élément initialement au centre, qui ne peuvent pas être défilés au milieu. Cela signifie que le défilement d'une ScalingLazyColumn de "autoCentering" au-dessus de initialCenterItemIndex/initialCenterItemScrollOffset sera impossible. (I22ee2)
  • Nous avons ajouté une démonstration pour un sélecteur de date et corrigé un bug dans PickerState où "initiallySelectedOption" n'était pas appliqué tant que le "Picker" n'avait pas été affiché. (Id0d7e)
  • Afin de réduire le rognage des éléments de ScalingLazyColumn plus larges sur les écrans arrondis, nous avons augmenté la marge intérieure du contenu horizontal par défaut, qui passe de 8 à 10 dp. (I0d609)
  • Vérification que PositionIndicator s'affiche lors du défilement. (Ied9a2)

Version 1.0.0-alpha17

23 février 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 et androidx.wear.compose:compose-navigation:1.0.0-alpha17. Liste des commits de la version 1.0.0-alpha17

Nouvelles fonctionnalités

  • Nous avons ajouté une prise en charge de l'ancrage, qui peut être utilisé avec ScalingLazyColumn. Définissez flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) pour activer la prise en charge de l'ancrage. (I068d3, b/217377069)
  • Nous avons ajouté des démonstrations du "Picker" utilisé pour sélectionner une heure au format 24 heures ou 12 heures. (Ie5552)

Modifications apportées à l'API

  • Correction d'un problème avec les polices et styles personnalisés de TimeText sur un appareil carré. (Iea76e)
  • ScalingLazyListLayoutInfo dispose maintenant de reverseLayout, de viewportSize et de propriétés d'orientation correspondant à celles de LazyListLayoutInfo. (I4f258, b/217917020)
  • ScalingLazyColumn dispose maintenant d'une propriété userScrollEnabled qui correspond à celle de LazyList. (I164d0, b/217912513)
  • Un dégradé s'affiche maintenant par défaut en haut et en bas des "Pickers". (Iab92a)

Correction de bugs

  • Nous avons modifié ScalingLazyColumn afin qu'elle ne remplisse pas davantage l'espace dans son parent. La taille est déterminée par le contenu. Elle est ainsi cohérente avec le comportement de LazyColumn. Si vous souhaitez rétablir l'ancien comportement, transmettez Modifier.fillMaxWidth()/width()/widthIn() à ScalingLazyColumn. (I51bf8)
  • Nous avons amélioré le message d'exception dans SwipeDismissableNavHost.kt qui se déclenchait si la pile "Retour" de navigation était vide. (I1b1dc)

Version 1.0.0-alpha16

9 février 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 et androidx.wear.compose:compose-navigation:1.0.0-alpha16. Liste des commits de la version 1.0.0-alpha16

Nouvelles fonctionnalités

  • Ajout de CircularProgressIndicator. Les indicateurs de progression indiquent la durée d'un processus ou un temps d'attente non spécifié. Prise en charge d'un écart (encoche) de "TimeText" ou d'autres composants s'il est utilisé en plein écran. (Iab8da)

Modifications apportées à l'API

  • Les "Pickers" disposent désormais d'un paramètre flingBehavior. La valeur par défaut leur permet d'être alignés sur l'option la plus proche lors du défilement et du déplacement. (I09000)
  • API entière supplémentaire pour "InlineSlider" et "Stepper". (I1b5d6)

Correction de bugs

  • Nous avons modifié la valeur "initialCenterItemIndex" par défaut de ScalingLazyListState de 0 à 1. Cela signifie qu'à moins que la construction d'état ne soit remplacée par ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), le deuxième élément de la liste (index == 1) sera placé au centre de la fenêtre d'affichage lors de l'initialisation et le premier élément (index == 0) sera placé avant celui-ci. Cela permet d'obtenir un meilleur effet visuel par défaut prêt à l'emploi, car la majorité de la fenêtre d'affichage contient des éléments de liste. (I0c623, b/217344252)
  • Nous avons réduit la extraPadding par défaut de ScalingLazyColumn qui permet de s'assurer qu'il existe un grand nombre d'éléments de liste à dessiner (même lorsque la taille de certains d'entre eux est réduite) de 10 % à 5 %. Cela permet d'éviter de rédiger des éléments de liste supplémentaires qui risquent de ne pas apparaître dans la fenêtre d'affichage. En cas d'utilisation de "scalingParams" non standards (mise à l'échelle plus extrême, par exemple), le développeur peut ajuster une marge intérieure supplémentaire à l'aide de viewportVerticalOffsetResolver. (I76be4)
  • Résolution d'un problème lié au "TimeText" sur plusieurs lignes sur un appareil carré. (Ibd3fb)
  • Nous avons modifié ScalingLazyColumn afin qu'elle ne remplisse pas davantage l'espace dans son parent. La taille est déterminée par le contenu. Elle est ainsi cohérente avec le comportement de LazyColumn. Si vous souhaitez rétablir l'ancien comportement, transmettez Modifier.fillMaxSize() à la ScalingLazyColumn. REMARQUE : Cette modification est incomplète et fera l'objet d'une modification de suivi dans la prochaine version alpha. (I3cbfa)

Version 1.0.0-alpha15

26 janvier 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 et androidx.wear.compose:compose-navigation:1.0.0-alpha15. Liste des commits de la version 1.0.0-alpha15

Modifications apportées à l'API

  • Nous avons ajouté une nouvelle propriété autoCentering à la ScalingLazyColumn. Lorsque cela est défini sur "true" (par défaut), tous les éléments, y compris les premier et dernier éléments, peuvent être défilés pour être visibles au centre de la fenêtre d'affichage des listes. Notez que si vous utilisez le centrage automatique, nous vous recommandons de définir une marge intérieure de contenu vertical sur 0 dp. Si le "autoCentering" et la marge intérieure du contenu vertical sont fournis, un espace supplémentaire sera disponible avant le premier élément et après les derniers éléments de la liste, ce qui permet un défilement supérieur. (I2a282, b/214922490)
  • Nous avons ajouté un composant Dialog qui permet à tout composable de déclencher une boîte de dialogue en plein écran reposant sur d'autres contenus. Lorsque la boîte de dialogue est affichée, vous pouvez effectuer un balayage pour ignorer et le contenu du parent s'affiche en arrière-plan pendant le geste de balayage. Le contenu de la boîte de dialogue doit être Alert ou Confirmation (renommé à partir des composants précédents AlertDialog et ConfirmationDialog). Alert, Confirmation et Dialog se trouvent tous dans le package androidx.wear.compose.material.dialog. Vous pouvez utiliser "Alert" et "Confirmation" comme destinations de navigation. Ajout de "ColumnScope" aux paramètres de "Alert" et de "Confirmation", si nécessaire (Ia9014)
  • Nous avons supprimé onSurfaceVariant2 des couleurs de Material Theme de Compose pour Wear OS et remplacé les utilisations dans la bibliothèque par onSurfaceVariant. (Icd592)
  • Ajout d'une méthode permettant de sélectionner une option par programmation sur le PickerState. L'option initialement sélectionnée peut désormais aussi être spécifiée lors de la création d'un PickerState. (I92bdf)
  • Ajout d'une prise en charge de la personnalisation du comportement de déplacement de la ScalingLazyColumn. (I1ad2e, b/208842968)
  • Nous avons ajouté NavController.currentBackStackEntryAsState() à la bibliothèque Wear.Compose.Navigation. (If9028, b/212739653)
  • Ajout de Modifier.onRotaryScrollEvent() et Modifier.onPreRotaryScrollEvent() pour les appareils Wear avec un bouton latéral rotatif. (I18bf5, b/210748686)

Version 1.0.0-alpha14

12 janvier 2022

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 et androidx.wear.compose:compose-navigation:1.0.0-alpha14. Liste des commits de la version 1.0.0-alpha14

Nouvelles fonctionnalités

  • Nous avons ajouté un certain nombre de méthodes à ScalingLazyListState pour permettre aux développeurs de contrôler le défilement d'éléments de liste spécifiques, ainsi que de définir l'élément de liste initial et le décalage.

    Lors de ce changement, nous avons également modifié la "ScalingLazyList" afin qu'elle soit orientée autour du centre de la fenêtre d'affichage de la "ScalingLazyList" plutôt qu'au début de la fenêtre d'affichage.

    Une nouvelle propriété anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter a été ajoutée à la ScalingLazyList pour vérifier si le centre (ScalingLazyListAnchorType.ItemCenter) ou Edge (ScalingLazyListAnchorType.ItemStart) doit être aligné sur la ligne centrale de la fenêtre d'affichage.

    Par conséquent, ScalingLazyListItemInfo.offset et ScalingLazyListItemInfo.adjustedOffset ont été modifiés et reflètent désormais le décalage de l'élément par rapport à la position de l'élément de liste et au anchorType de la liste. Par exemple, pour une ScalingLazyColumn avec un anchorType de ItemCenter et un élément de liste dont le centre se trouve sur la ligne centrale de la fenêtre d'affichage, le décalage correspondrait à 0.

    Les nouvelles méthodes sont scrollTo, animatedScrollTo, centerItemIndex et centerItemOffset. (I61b61)

  • Nous avons ajouté un gestionnaire de boutons "Retour" à SwipeDismissableNavHost, afin que le bouton "Retour" permette de revenir au niveau précédent dans la hiérarchie de navigation. (I5b086, b/210205624)

Version 1.0.0-alpha13

15 décembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 et androidx.wear.compose:compose-navigation:1.0.0-alpha13. Liste des commits de la version 1.0.0-alpha13

Modifications apportées à l'API

  • Nous avons fait passer RangeIcons en interne (référencé en interne par InlineSlider et Stepper). (I927ec)

Correction de bugs

  • Correction d'un problème qui entraînait l'ajout par SwipeDismissableNavHost d'une destination à la hiérarchie Compose avant qu'elle atteigne l'état de cycle de vie CREATED, provoquant une IllegalStateException. Ce correctif était une condition préalable à la mise à jour de la dépendance de navigation-compose vers 2.4.0-beta02 et les versions ultérieures. (I40a2b, b/207328687)

  • Ajout d'une classe d'énumération Drawables pour obtenir des ressources drawable dans la bibliothèque Wear Compose afin que cette réflexion ne soit plus nécessaire. Correction d'un bug qui entraînait la suppression des drawables de bibliothèque minifyEnabled=true ou shrinkResources=true). (Ib2a98)

  • Ajout de tests pour Stepper dans Wear Compose. (I2d03a)

  • Ajout d'exemples pour SwipeDismissableNavHost dans la navigation de Wear Compose. (I85f06)

Version 1.0.0-alpha12

1er décembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha12, d'androidx.wear.compose:compose-material:1.0.0-alpha12 et d'androidx.wear.compose:compose-navigation:1.0.0-alpha12. Liste des commits de la version 1.0.0-alpha12

Nouvelles fonctionnalités

  • Nous avons ajouté un composant "Stepper" qui permet aux utilisateurs de faire une sélection à partir d'une plage de valeurs. "Stepper" est une commande plein écran avec des boutons d'augmentation et de réduction en haut et en bas, ainsi qu'un emplacement au milieu (qui devrait accueillir une "Chip" ou un "Text"). Si nécessaire, vous pouvez personnaliser les icônes des boutons. (I625fe)

  • Nous avons ajouté deux nouveaux composables pour l'affichage de boîtes de dialogue : "AlertDialog" attend une réponse de l'utilisateur et affiche un titre, une icône, un message et a) deux boutons pour des choix positifs/négatifs simples ou b) des puces empilées verticalement ou des puces d'activation pour des choix plus flexibles. "ConfirmationDialog" affiche une confirmation avec un délai d'inactivité. Cette boîte de dialogue simple comporte des emplacements pour un titre et une icône (animée). (Ic2cf8)

Modifications apportées à l'API

  • Ajout d'unités (millisecondes) aux valeurs de durée suggérées de la boîte de dialogue. (I09b48)

Version 1.0.0-alpha11

17 novembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 et androidx.wear.compose:compose-navigation:1.0.0-alpha11. Liste des commits de la version 1.0.0-alpha11

Nouvelles fonctionnalités

  • Nous avons ajouté un composant de sélection qui permet à l'utilisateur de sélectionner un élément dans une liste déroulante. Par défaut, la liste des éléments sélectionnables est répétée "à l'infini" dans les deux sens, de façon à donner l'impression d'un cylindre en rotation vu de côté. Deux fonctionnalités seront ajoutées dans les versions ultérieures : l'alignement sur une valeur après un balayage ou un déplacement et l'ajout d'une fonction à "PickerState" pour la définition ou le défilement de la valeur actuelle. (I6461b)

Modifications apportées à l'API

  • Ajout d'un "ScalingLazyItemScope" et de nouveaux modificateurs "fillParentMaxSize"/"fillParentMaxWidth"/"fillParentMaxHeight" pour permettre de dimensionner les éléments de la liste en fonction de la taille du conteneur parent. Les éléments peuvent être définis pour remplir la totalité ou une fraction de la taille du parent. Cela expose une fonctionnalité déjà disponible dans la "LazyRow/Column". (I4612f)
  • Ajout de la compatibilité avec "ScalingLazyColumn" pour permettre aux éléments de disposer d'une clé. Ajout de méthodes pratiques pour permettre l'ajout d'éléments à partir de tableaux et de listes. (Ic1f89)

Correction de bugs

  • Exemples supplémentaires pour "TimeText". (I8cb64)

Version 1.0.0-alpha10

3 novembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 et androidx.wear.compose:compose-navigation:1.0.0-alpha10. Liste des commits de la version 1.0.0-alpha10.

Nouvelles fonctionnalités

  • Ajout d'un "InlineSlider" pour Wear Compose. "InlineSlider" 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. (If0148)

  • Découvrez le nouveau Compose pour l'Atelier de programmation sur Wear OS.

Modifications apportées à l'API

  • Macrobenchmark dispose désormais d'une minSdkVersion de 23. (If2655)

Correction de bugs

  • Mise à jour de la gestion de la transition dans "SwipeDismissableNavHost" dans un "SideEffect". (I04994, b/202863359)
  • Mise à jour de la gestion de la transition dans "SwipeDismissableNavHost". (I1cbe0, b/202863359)

Version 1.0.0-alpha09

27 octobre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha09, d'androidx.wear.compose:compose-material:1.0.0-alpha09 et d'androidx.wear.compose:compose-navigation:1.0.0-alpha09. Liste des commits de la version 1.0.0-alpha09

Nouvelles fonctionnalités

  • Nous avons lancé le Preview développeur de Compose sur Wear OS. Consultez notre article de blog qui présente les principaux composables et contient des liens vers d'autres ressources pour commencer à les utiliser.

Modifications apportées à l'API

  • Nous avons ajouté la possibilité pour les développeurs de personnaliser toutes les couleurs du thème de couleur de Material Design pour Wear. (I4759b, b/199754668)

Correction de bugs

  • Ajout d'exemples de "SwipeToDismissBox" dont l'état est conservé. (Ibaffe)
  • Ajout de liens vers les guides de developer.android.com depuis KDocs pour "CurvedText", "TimeText" et "SwipeToDismissBox". (I399d4)
  • Désormais, "SwipeDismissableNavHost" se lance s'il n'y a pas de destination actuelle (indique que le "NavGraph" n'a pas été créé avec la fonction utilitaire wear.compose.navigation.composable). (I91403)
  • Ajout de documentation supplémentaire et d'exemples d'utilisation de sources de temps dans "TimeText". (I4f6f0)

Version 1.0.0-alpha08

13 octobre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha08, d'androidx.wear.compose:compose-material:1.0.0-alpha08 et d'androidx.wear.compose:compose-navigation:1.0.0-alpha08. Liste des commits de la version 1.0.0-alpha08.

Modifications apportées à l'API

  • Nous avons remplacé le nom des propriétés body de "AppCard "et de "TitleCard" par content. Nous les avons déplacées à la fin de la liste des propriétés pour pouvoir les fournir en tant que lambda de fin. Nous avons également remplacé le nom de bodyColor par contentColor pour plus de cohérence avec les nouveaux noms d'emplacements. (I57e78)

Correction de bugs

  • Ajout de liens vers les guides de developer.android.com depuis KDocs pour les composants de boutons, de cartes, de puces, de thèmes, d'indicateurs de position et de mise à l'échelle de colonnes fixes. (I22428)
  • Correction du problème qui empêchait WearOS "SwipeToDismissBox" de gérer les balayages. (I9387e)
  • Ajout d'exemples pour "Button", "CompactButton", "Chip", "CompactChip", "AppCard", "TitleCard", "ToggleButton", "ToggleChip", "SplitToggleChip". (Iddc15)
  • Ajout de tests de performances de microanalyse comparative pour "Card", "Chip", "SwitchChip", "TimeText" et "ScalingLazyColumn". (If2fe9)

Version 1.0.0-alpha07

29 septembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha07, d'androidx.wear.compose:compose-material:1.0.0-alpha07 et d'androidx.wear.compose:compose-navigation:1.0.0-alpha07. Liste des commits de la version 1.0.0-alpha07.

Nouvelles fonctionnalités

  • Ajout d'un composant "CurvedText" dans Material, qui permet aux développeurs d'écrire facilement du texte incurvé pour suivre la courbure d'un cercle (généralement au bord d'un écran arrondi). (I19593)

Modifications apportées à l'API

  • Ajout de tests pour "TimeText". (Idfead)
  • Transformation des "ArcPaddingValues" en une interface. (Iecd4c)
  • Ajout d'une animation à "SwipeToDismissBox". (I9ad1b)
  • Ajout d'un paramètre "hasBackground" à l'API "SwipeToDismissBox" afin que le geste de balayage puisse être désactivé lorsqu'il n'y a pas de contenu d'arrière-plan à afficher. (I313d8)
  • rememberNavController() accepte désormais un ensemble facultatif d'instances de Navigator qui seront ajoutées au NavController renvoyé pour mieux prendre en charge les navigateurs facultatifs tels que ceux de Material de navigation Accompanist. (I4619e)
  • Référencement de "NamedNavArgument" de "navigation-common" et suppression de la copie de "wear.compose.navigation". (I43af6)

Correction de bugs

  • Correction de la fragilité du test "CurvedRow" sur les appareils plus petits. (If7941)
  • Correction d'un scintillement possible dans "CurvedRow" lors de la mise à jour du contenu qui permet à la ligne incurvée d'être à nouveau mesurée. (Ie4e06)
  • Mise à jour de "ChipDefaults.gradientBackgroundChipColors()" conformément aux modifications des spécifications de l'expérience utilisateur. Le dégradé commence maintenant par "MaterialTheme.colors.primary" avec alpha de 32,5 % et se termine par "MaterialTheme.colors.surface" avec alpha à 0 % sur un arrière-plan de "MaterialTheme.colors.surface" en alpha à 75 %. (Id1548)
  • Nous avons mis à jour les couleurs de "ToggleChips" lorsqu'elles sont dans l'état sélectionné, conformément aux derniers conseils concernant les spécifications de l'expérience utilisateur de Material Design pour Wear. Lorsqu'elles sont sélectionnées, les "ToggleChips" présentent désormais un arrière-plan de dégradé allant de "MaterialTheme.color.surface" en alpha à 0 %, en haut à gauche, jusqu'à "MaterialTheme.color.primary" en alpha à 32 %, en bas à droite, sur un arrière-plan de "MaterialTheme.color.surface" en alpha à 75 %. Cela se traduit par une différence plus subtile entre éléments cochés et non cochés de "ToggleChip". (Idd40b)

Version 1.0.0-alpha06

15 septembre 2021

Publication d'androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 et androidx.wear.compose:compose-navigation:1.0.0-alpha06. Liste des commits de la version 1.0.0-alpha06.

Nouvelles fonctionnalités

  • Nous avons ajouté "Scaffold", un composable d'application de niveau supérieur qui fournit une structure pour gérer la position des "PositionIndicators" (comme "Scroll" ou "Volume"), une zone en haut de l'écran pour afficher l'heure et l'état de l'application, ainsi qu'une "Vignette" pour flouter le haut de l'écran et le bord inférieur pour les contenus permettant le défilement. La zone principale de "Scaffold" est l'emplacement du contenu de l'application. (I5e0bf)
  • Ajout de l'implémentation de "TimeText" pour Wear Compose. (I5654c)

Bibliothèque de navigation de Wear Compose

  • Nous avons ajouté la première version de la bibliothèque de navigation de Wear Compose, qui permet l'intégration entre les bibliothèques de navigation de Wear Compose et d'AndroidX. Cela permet de naviguer facilement entre les fonctions "@Composable" en tant que destinations dans votre application.

  • Cette version initiale fournit :

    • Un composable SwipeDismissableNavHost qui héberge un graphique de navigation et propose une navigation pour revenir en arrière via des gestes de balayage.
    • L'extension NavGraphBuilder.composable pour faciliter la création de graphiques de navigation.
    • rememberSwipeDismissableNavController() pour permettre le hissage d'état.
  • Exemple d'utilisation pour créer deux écrans et naviguer entre eux :

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • La navigation de Wear Compose est présentée sous la forme d'une bibliothèque distincte. Ainsi, les applications Wear Compose simples implémentant leur propre navigation avec défilement manuel ne doivent pas dépendre de la bibliothèque de navigation d'AndroidX.

Modifications apportées à l'API

  • Mise à jour de SwipeDismissableNavHost pour prendre en charge rememberSaveable en définissant l'identité clé pour l'arrière-plan et le contenu. (I746fd)
  • Nous avons ajouté un adaptateur "PositionIndicator" capable de gérer "LazyListState". (I21b88)
  • Mise à jour de "SwipeToDismissBox" pour la prise en charge de "rememberSaveable". (Ie728b)
  • Nous avons ajouté la prise en charge de "reverseLayout" à la "ScalingLazyColumn". Cela permet d'inverser le sens du défilement et de la mise en page. (I9e2fc)
  • performGesture et GestureScope sont obsolètes et ont été remplacés par performTouchInput et TouchInjectionScope. (Ia5f3f, b/190493367)
  • Nous avons remplacé le nom de "VignetteValue" par "VignettePosition" et celui de "VignetteValue.Both" par "VignettePosition.TopAndBottom". (I57ad7)
  • Nous avons remplacé le nom de "ScalingLazyColumnState" par "ScalingLazyListState", celui de "ScalingLazyColumnItemInfo" par "ScalingLazyListItemInfo", celui de "ScalingLazyColumnLayoutInfo" par "ScalingLazyListLayoutInfo" et celui de "ScalingLazyColumnScope" par "ScalingLazyListScope" au cas où nous déciderions d'ajouter une implémentation de "ScalingLazyRow" à l'avenir. (I22734)

Correction de bugs

  • Mise à jour de la documentation de "CompactChip" pour décrire ce qui se passe si aucune icône ou aucun libellé n'est fourni. (I4ba88)
  • Nous avons apporté quelques ajustements aux composants de carte de Wear. (I6b3d0)
    1. Réduction de l'espace de "TitleCard" entre le titre et le corps de 8 à 2 dp.
    2. Modification de la police de l'en-tête de "TitleCard" de "body" à "title3".
    3. Le dégradé d'arrière-plan de la carte a été modifié pour rendre l'arrière-plan plus sombre.

Version 1.0.0-alpha05

1er septembre 2021

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

Modifications apportées à l'API

  • Marquage des "ArcPaddingValues" comme "@Stable". (I57deb)
  • "ScalingLazyColumnState" implémente désormais l'interface "ScrollableState", ce qui permet un accès programmatique aux développeurs pour faire défiler le composant. (I47dbc)

Correction de bugs

  • Nous avons réduit l'espacement entre "Icon" et "Text" dans "Chip" et "ToggleChip" pour les aligner avec les mises à jour des spécifications de l'expérience utilisateur. (I83802)

Version 1.0.0-alpha04

18 août 2021

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

Nouvelles fonctionnalités

  • Ajout d'une "SwipeToDismissBox" et d'un modificateur balayable permettant d'effectuer un geste de balayage pour ignorer de gauche à droite. Bien qu'indépendante des composants de navigation, cette fonction est censée être utilisée pour quitter un écran et accéder à un autre. Ajout de tests d'intégration pour la démonstration du balayage pour ignorer. (I7bbaa)
  • Nous avons ajouté des interfaces de "ScalingLazyColumnItemInfo" et "ScalingLazyColumnLayoutInfo" à la classe "ScalingLazyColumnState" pour permettre aux développeurs de connaître les positions et les tailles réelles des éléments dans la "ScalingLazyColumn", une fois la mise à l'échelle appliquée. Nous avons également corrigé un bug dans le calcul de la mise à l'échelle lorsque la marge intérieure du contenu populaire était appliquée à la "ScalingLazyColumn". (I27c07)

Modifications apportées à l'API

  • Ajout d'une classe "CurvedTextStyle" pour spécifier les options de style du texte incurvé. Semblable à "TextStyle", mais ne prend désormais en charge que la couleur, la taille de la police et l'arrière-plan. D'autres options de style seront ajoutées ultérieurement. (I96ac3)
  • Nous avons ajouté des interfaces de "ScalingLazyColumnItemInfo" et "ScalingLazyColumnLayoutInfo" à la classe "ScalingLazyColumnState" pour permettre aux développeurs de connaître les positions et les tailles réelles des éléments dans la "ScalingLazyColumn", une fois la mise à l'échelle appliquée. Nous avons également corrigé un bug dans le calcul de la mise à l'échelle lorsque la marge intérieure du contenu populaire était appliquée à la "ScalingLazyColumn". (I27c07)
  • Ajout de @ExperimentalWearMaterialApi à l'énumération SwipeDismissTarget, qui fait partie de l'API SwipeToDismissBox. (I48b5e)

Correction de bugs

  • Ajout d'un support de test pour "SwipeToDismissBox". (I9febc)

Version 1.0.0-alpha03

4 août 2021

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

Modifications apportées à l'API

  • Ajout d'un composant "CurvedText" pour permettre aux développeurs d'écrire facilement du texte après la courbure d'un cercle (généralement au bord d'un écran arrondi). (Id1267)
  • Nous avons remplacé le nom de CardDefaults.imageBackgroundPainter() par CardDefaults.imageWithScrimBackgroundPainter() pour indiquer clairement que l'image de fond est surmontée d'une gaze. (I53206)
  • Ajout du composant "ScalingLazyColumn", qui fournit un composant de liste pour Wear Material, offrant une vue fisheye avec une réduction de la taille du contenu de la liste et une plus grande transparence à mesure qu'ils s'adaptent au bord du composant. (I7070c)

Correction de bugs

  • Nous avons modifié la couleur par défaut du contenu de "appName" dans "AppCard" suite à une mise à jour des spécifications de l'expérience utilisateur. La couleur par défaut de "appName" est désormais MaterialTheme.colors.onSurfaceVariant. Ajout d'une description de document de paramètre manquante pour l'emplacement de titre. (Ic4ad1)

Version 1.0.0-alpha02

21 juillet 2021

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

Nouvelles fonctionnalités

  • Ajout d'une nouvelle classe "CurvedRow" aux objets composables disposés en arc. (I29941)
  • Ajout d'un nouveau type de carte utilisable dans les applications (TitleCard) et prise en charge de l'utilisation d'images comme arrière-plan des "Cards" pour mettre en valeur leur contenu. (I53b0f)

Modifications apportées à l'API

  • Ajout de la compatibilité avec l'alignement radial sur "CurvedRow" (semblable à l'alignement vertical sur une ligne). (Id9de5)
  • Ajout d'une nouvelle classe "CurvedRow" aux composables disposés en arc. (I29941)
  • Ajout d'un nouveau type de carte utilisable dans les applications (TitleCard) et prise en charge de l'utilisation d'images comme arrière-plan des "Cards" pour mettre en valeur leur contenu. (I53b0f)
  • Ajout d'icônes d'activation (cases à cocher, contacteurs et cases d'option) à "ToggleChipDefaults" afin de permettre aux développeurs de configurer plus facilement "ToggleChip" et "SplitToggleChips". (I7b639)
  • La marge intérieure du contenu de début et de fin des "Chips" a été mise à jour de manière à être toujours égale à 14 dp, que l'icône de la "Chip" soit présente ou non (auparavant 12 dp si l'icône était présente et 14 dp dans le cas contraire). (I34c86)

Correction de bugs

  • Ajout de tests pour "CurvedRow". (I93cdb)
  • Association des dépendances de Wear Compose à Compose 1.0.0-rc01. (Ie6bc9)
  • Modification de la gestion des couleurs de l'image de fond dans les "Cards" et les "Chips" pour recadrer l'image et non l'étirer, afin de conserver ses proportions. (I29b41)
  • Ajout de démonstrations et de tests d'intégration supplémentaires pour "Button" et "ToggleButton". (5e27ed2)
  • Ajout de tests de "Chip" pour couvrir les couleurs du contenu pour "imageBackgroundChips". (Ia9183)

Version 1.0.0-alpha01

1er juillet 2021

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

Nouvelles fonctionnalités

Wear Compose est une bibliothèque Kotlin, basée sur Compose, qui est compatible avec Material Design pour Wear, une extension de Material Design pour les accessoires connectés Wear OS. Cette première version alpha contient les premières implémentations fonctionnelles des éléments suivants :

  • Thème de Material : configure les couleurs, la typographie et les formes de manière cohérente pour tous les composants utilisés à partir de cette bibliothèque.
  • Chip et CompactChip : les puces sont en forme de stade et des variantes sont disponibles pour le contenu de l'icône, du libellé et du libellé secondaire.
  • ToggleChip, SplitToggleChip : un type de puce spécialisée comprenant un emplacement pour une icône d'activation de deux états, comme une case d'option ou une case à cocher. En outre, la "SplitToggleChip" comporte deux zones tactiles, l'une cliquable et l'autre activable.
  • Button, CompactButton : les boutons sont de forme arrondie, avec un seul emplacement de contenu pour une icône ou un texte minimal (trois caractères maximum).
  • ToggleButton : un bouton permettant d'activer ou de désactiver une action, avec un seul emplacement pour une icône ou un texte minimal (trois caractères maximum).
  • Card, AppCard : de forme rectangulaire aux angles arrondis, avec des emplacements pour des contenus tels que l'icône d'application, l'heure, le titre et le corps.

Les prochaines versions incluront l'ensemble des widgets, qui seront également compatibles avec les sélecteurs, les curseurs, les listes, les indicateurs de page, les boîtes de dialogue et les indicateurs rsb de défilement, les toasts, etc. de Material Design pour Wear.

En outre, une prise en charge sera disponible pour d'autres fonctionnalités spécifiques des accessoires connectés, comme la mise en page et le texte incurvés, ainsi que l'échafaudage qui permettra aux développeurs de créer facilement des superpositions ou des applications pour accessoires connectés.

Wear Compose Material repose sur les mêmes principes que Compose Material, bien qu'il soit destiné aux accessoires connectés. La bibliothèque Wear Compose Material doit être utilisée à la place de la bibliothèque Compose Material lorsque vous créez un accessoire connecté.

Les deux bibliothèques "Material" doivent être considérées comme mutuellement exclusives et ne doivent pas être mélangées dans la même application. Si les développeurs incluent la bibliothèque Compose Material dans leurs dépendances, cela peut indiquer a) qu'il manque des composants dans la bibliothèque Wear Compose Material (dans ce cas, indiquez-nous ce dont vous avez besoin) ou b) l'utilisation d'un composant dont nous ne recommandons pas l'utilisation sur un accessoire connecté.