Wear Compose
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
4 septembre 2024 | 1.4.0 | - | - | 1.5.0-alpha01 |
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.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Wear Compose Material3 version 1.0
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 Motion au thème Material3. Les composants de la bibliothèque l'utiliseront pour appliquer des spécifications d'animation, telles que des ressorts pour les mouvements expressifs. (I54ff3).
- Nous avons ajouté les composants
AppScaffold
etScreenScaffold
à la bibliothèque Material3, qui incluent des fonctionnalités permettant de coordonner la superposition et les transitions deTimeText
etScrollIndicator
.AppScaffold
fournit un niveau supérieur de composants d'échafaudage qui se trouvent au-dessus de tous les écrans. Par conséquent, l'ajout deTimeText
àAppScaffold
lui permet de rester en place lorsque vous balayez l'écran d'un écran à l'autre. Les écrans peuvent eux-mêmes remplacer ou masquer le texte temporel.ScreenScaffold
fournit un emplacement pourScrollIndicator
et anime automatiquement l'indicateur de défilement lors du défilement, y compris un délai d'inactivité pour le masquer après une période d'inactivité. (I047d6). - Nous avons ajouté
ScrollIndicator
avec le nouveau design Material3. Il a une taille de curseur fixe basée sur le contenu initial de la liste, afin d'éviter les variations de taille lorsque du contenu différé est chargé dans la liste. (Ic228d). - Nous avons modifié l'API
ScrollAway
de sorte queScreenStage
soit une classe de valeur plutôt qu'une classe d'énumération, pour permettre l'ajout d'étapes supplémentaires si nécessaire. (I48c93). - Ajout de
EdgeButton
, un bouton distinctif spécifique à Wear dont la forme suit la courbure du bas de l'écran. (I16369) - Nous avons ajouté un nouvel emplacement à
ScreenScaffold
pour un bouton inférieur (commeEdgeButton
), qui s'affichera et sera redimensionné en fonction du contenu du défilement. (I032eb) - Nous avons ajouté
Modifier.scrollTransform
etModifier.targetMorphingHeight
pour ajouter des effets de mouvement Material3 aux éléments dansLazyColumn
. (Ie229a). - Nous avons ajouté
SegmentedCircularProgressIndicator
comme variante deCircularProgressIndicator
. La variante segmentée affiche une seule valeur de progression pour tous les segments ou indique que chaque segment est activé ou désactivé. (I6e059). - Nous avons ajouté
LinearProgressIndicator
comme alternative auCircularProgressIndicator
existant. (I89182). - Nous avons ajouté
AlertDialog
, qui fournit des mises en page permettant de présenter des requêtes importantes à l'utilisateur. Des variantes sont incluses pour une paire de boutons Confirmer/Ignorer ou pour un seul bouton du bas (généralement un bouton Edge) sous une pile d'options. Les deux variantes disposent d'emplacements pour l'icône, le titre et le texte supplémentaire pour fournir plus de détails. (Ieb873). - Nous avons ajouté
OpenOnPhoneDialog
, qui doit être utilisé pour indiquer une action qui se poursuivra sur le téléphone de l'utilisateur.OpenOnPhoneDialog
est ignoré après un délai d'inactivité spécifié. (I978fd). - Nous avons ajouté
Confirmation
, un composant de boîte de dialogue qui comporte des emplacements pour une icône et du texte incurvé ou linéaire. Des variantes spécifiques sont fournies pour les messages de réussite ou d'échec. Les confirmations sont automatiquement fermées après un délai d'inactivité. (Ib43e8). - Nous avons ajouté un arrière-plan à
TimeText
pour limiter les problèmes de chevauchement entre le contenu sous-jacent et leTimeText
, et de masquer l'heure. (Ia11fd). - Nous avons ajouté
LevelIndicator
, qui indique la valeur d'un paramètre tel que le volume. Vous pouvez l'utiliser avec le composantStepper
existant pour créer un écran de volume.LevelIndicator
est semblable àScrollIndicator
, mais s'affiche de l'autre côté de l'écran, avec une largeur de trait plus grande et une couleur d'indicateur différente par défaut. (I8a4ac). - Nous avons ajouté
TimePicker
, avec des mises en page de 24 heures (avec ou sans secondes) ou de 12 heures avec la sélection am/pm. (Ia5124). - Nous avons ajouté
DatePicker
, avec une configuration pour l'ordre des colonnes (par exemple, jour-mois-année, mois-jour-année ou année-mois-jour) et éventuellement des dates min/max. (Ibf13b). - Nous avons ajouté un paramètre de pondération à la fonction
text
deTimeText
. Dans les cas où "TimeText" est composé de plusieurs éléments de texte, cela permet de contrôler la façon dont l'espace est distribué. (I36700). - Nous avons ajouté
RadioButton
etSplitRadioButton
. Ces composants simplifient l'API précédente en combinant à la fois (Split)SelectableButton
et la commande radio enfant. (If7ae8) - Nous avons ajouté
CheckboxButton
etSplitCheckboxButton
. Ces composants simplifient l'API précédente en combinant à la fois la commande (Split)ToggleButton
(Diviser) et la case à cocher enfant (Ia8f70). - Nous avons ajouté
SwitchButton
etSplitSwitchButton
. Ces composants simplifient l'API précédente en combinant(Split)ToggleButton
et la commande de commutateur enfant. (I0d349) - Nous avons mis à jour la documentation
AnimatedText
pour expliquer le comportement de dépassement. (Iff30a). - Nous avons ajouté
ButtonGroup
pour combiner deux ou trois boutons de sorte que les pressions sur les boutons produisent une animation coordonnée. (Ie27db). - Nous avons ajouté une animation de forme facultative pour
IconButton
etTextButton
lorsque l'utilisateur appuie dessus. (Iffca5). - Nous avons ajouté une variante de couleur supplémentaire,
FilledVariant
, àButton
,IconButton
,TextButton
,CompactButton
etEdgeButton
. (I65fc3) - Nous avons ajouté le paramètre
forcedSize
àImageWithScrimPainter
pour que les arrière-plans de l'image de bouton conservent par défaut la taille de leur composant. DéfinirforcedSize = null
adoptePainter.instrinsicSize
à la place. (Ic57af). - Nous avons ajouté le clic long aux boutons. (Ib613d)
- Nous avons également ajouté la compatibilité avec les clics longs dans
IconButton
etTextButton
. (I38891). - Les clics longs sont désormais compatibles avec les fiches. (I305d5).
- Nous avons ajouté
LocalTextMaxLines
,LocalTextAlign
etLocalTextOverflow
commeCompositionLocals
et les avons utilisés comme valeurs par défaut de paramètres surText
. Les composants locaux de composition peuvent désormais être utilisés par des composants tels queCheckboxButton
,SwitchButton
etRadioButton
pour implémenter les conseils sur l'expérience utilisateur, mais les développeurs peuvent remplacer les paramètres si nécessaire. (Iab841). - Nous avons ajouté
Placeholder
pour vous aider à masquer le contenu des composants tels que les boutons et cartes jusqu'à ce que les données soient chargées. (I1a532). - Nous avons ajouté
IconToggleButtonColors
etTextToggleButtonColors
pour remplacerToggleButtonColors
, qui a été supprimé. (Ie0bf1).
Correction de bugs
- Nous avons mis à jour
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
etCompactButton
afin d'utiliser les nouveauxCompositionLocals
LocalTextMaxLines
,LocalTextAlign
etLocalTextOverflow
pour implémenter les conseils sur l'expérience utilisateur. Les développeurs peuvent remplacer ces paramètres directement dans Text si nécessaire. (Ie51f7) - Nous avons remplacé la largeur de trait par défaut de
LevelIndicator
par6dp
pour la différencier deScrollIndicator
, dont l'épaisseur est de4dp
. (If6f63). - Nous avons corrigé un problème dans
TimeText
afin de prendre en charge des angles de balayage plus grands. (Ie489f). - Correction d'un problème lors de la recomposition de
EdgeButton
. (I4cdca). - Correction de la mise en page des boutons d'activation de fractionnement lorsque une marge intérieure de contenu personnalisée est fournie. (Ia33d3).
- Valeurs de progression faibles arrondies à au moins la largeur de ligne de l'indicateur de progression. (I3bd84).
Version 1.0.0-alpha23
14 mai 2024
Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha23
. La version 1.0.0-alpha23 contient ces commits.
Modifications apportées à l'API
- Nous avons mis à jour les API
ToggleButton
etRadioButton
pour permettre de configurer des couleurs désactivées. (If13a7). - Nous avons ajouté un nouveau
CircularProgressIndicator
pour Material3. (Ib3bd7).
Correction de bugs
- Nous avons corrigé un bug qui provoquait l'annonce d'un double appui pour activer/désactiver les boutons sélectionnables lorsqu'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 l'
ColorScheme
de Material3. (I7b2b8). - Nous avons mis à jour le commutateur Material3. En plus des changements de couleur, la coche correspond désormais à celle utilisée pour la case à cocher. (Icac7b).
Correction de bugs
- Mise à jour de 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é l'absence de fichiers JAR sources. Cette version ne contient aucun nouveau 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 des états d'ondulation (pression et sélection) pour le contraste. (I59f0a).
- Nous avons ajouté un espacement entre les libellés principal et secondaire dans
Button
,ToggleButton
etRadioButton
, suite aux dernières modifications apportées aux styles de typographie et à la hauteur 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 autre état) en haut de l'écran. La nouvelle API Material3, plus concise, évite la duplication entre les contenus linéaires et incurvés. (I4d7c3). - Nous avons remplacé les noms des paramètres
onSelected
paronSelect
pourRadioButton
. (I1a971). - Tokenisez
RadioButton
etSplitRadioButton
, puis refactorisez les méthodes existantes pour réduire le nombre de recherchesCompositionLocal
en ajoutant des instances de couleurs mises en cache, et en rendant les méthodesRadioButtonColors
etSplitRadioButtonColors
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
etSplitToggleButtonColors
en créant des instances mises en cache en interne et en réduisant l'utilisation deCompositionLocal
. (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é lefilledButtonColors
en double. (I4fe3b). - Nous avons refactorisé les modèles par défaut pour
ButtonColors
,IconButtonColors
etTextButtonColors
en créant une instance mise en cache en interne et en réduisant l'utilisation deCompositionLocal
. (I5f51c). - Nous avons supprimé la surcharge de
rememberUpdatedState
dans les classes de couleur spécifiques au composant et marqué comme interne les méthodes d'accesseur dans les classes de couleur. (If6571).
Correction de bugs
- Nous avons mis à jour
Modifier.minimumInteractiveComponentSize
pour utiliserModifier.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 tonales remplies, remplies et avec contours que Button.(I05df0)
Modifications apportées à l'API
- Nous avons ajouté
RadioButton
/SplitRadioButton
en tant que conteneurs pour les commandes de sélection, comme la commande radio. Cela diffère duToggleButton
existant en ce sens queRadioButton
peut être sélectionné (et fonctionne dans un groupe de sélection), tandis queToggleButton
est activable (et est indépendant). (I61275). - Nous avons supprimé
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 Material 3 qui exposent un
MutableInteractionSource
dans leur API ont été mis à jour pour exposer désormais unMutableInteractionSource
pouvant avoir une valeur nulle et dont la valeur par défaut est "null". Il n'y a aucun changement sémantique ici: transmettre la valeur "null" signifie que vous ne souhaitez pas hisserMutableInteractionSource
, qui sera créé dans le composant si nécessaire. Si vous passez à une valeur nulle, certains composants ne peuvent jamais allouer deMutableInteractionSource
, et les autres composants ne peuvent créer une instance que de manière différée lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas leMutableInteractionSource
que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur "null". Nous vous recommandons également d'apporter les mêmes modifications à vos propres composants. (Ib90fc, b/298048146). - Ajout d'une nouvelle API d'ondulation dans les bibliothèques
wear:compose-material
etwear:compose-material3
, qui remplacerememberRipple
, désormais obsolète. Ajout d'unCompositionLocal
temporaire,LocalUseFallbackRippleImplementation
, pour rétablir les composants Material afin qu'ils utilisent les APIrememberRipple/RippleTheme
obsolètes. Elle sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à une aide temporaire à la migration lorsque vous fournissez unRippleTheme
personnalisé. Pour en savoir plus sur la migration et obtenir d'autres informations générales sur ce changement, consultez developer.android.com. (af92b21). - Nous avons apporté des améliorations mineures à l'API
HorizontalPageIndicator
et à sa documentation. (I60efc). - Nous avons modifié
ColorScheme
pour qu'il ne soit plus modifiable. Les mises à jour de couleurs individuelles sont ainsi moins efficaces, mais l'utilisation des couleurs plus courante est plus efficace. Ce changement s'explique par le fait que la mise à jour des couleurs individuelles n'est pas le cas d'utilisation principal pour la majorité des applications. Cela est toujours possible, mais la recomposition sera plus importante qu'auparavant. Par conséquent, nous réduirons considérablement le nombre d'abonnements à des états via tout le code matériel, ce qui aura un impact sur le coût d'initialisation et d'exécution pour des cas d'utilisation plus standards. (Ibc2d6). - Mise à jour des API
ToggleButton
etSplitToggleButton
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 de l'image de bouton pour utiliser les jetons Material Design. (Iba215).
- Nous avons modifié les composants
Checkbox
,Switch
etRadioButton
pour qu'ils soient en lecture seule, en supprimant la gestion des clics. Ces composants sont censés être utilisés dans(Split)ToggleButton
, qui gère les clics. Ils sont donc désormais clairement indiqués comme étant "display uniquement" et ne sont pas destinés à une utilisation autonome sur Wear. (I2322e).
Correction de bugs
- Nous avons ajouté des jetons pour les valeurs de mouvement de durées et de lissages de vitesse dans Wear Compose Material 3. (I437cd).
- Nous avons corrigé un bug dans
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
etRadioButton
afin que les annonces d'accessibilité ne se répètent pas (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 fondation
SwipeToDismissBox
enBasicSwipeToDismissBox
. La distinction entre le composant de niveau Foundation et leSwipeToDismissBox
de niveau Material3 est ainsi plus claire. Ce dernier extrait les couleurs duMaterialTheme
pour les utiliser dans les fonds et délègue l'implémentation restante àBasicSwipeToDismissBox
. (Ibecfc)
Correction de bugs
- Nous avons supprimé la couche Material Core du 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 l'élémentHorizontalPageIndicator
de Material 3. 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 deToggleButton
en ajoutant une classeSplitToggleButtonColors
. (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 facultatif de sous-titre à
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 utiliser les jetons Material Design. (I3f137). - Nous avons mis à jour
IconToggleButton
pour utiliser les jetons Material Design. (I7d263). - Nous avons rendu publics les constructeurs de
CheckboxColors
,RadioButtonColors
etSwitchColors
. (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 remplacé la typographie des cartes Material3 par
TitleMedium
. (I597bd). - Nous avons modifié la typographie et l'alignement pour nos
ListHeader
etListSubheader
Material3. (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
- Ajout de
HorizontalPageIndicator
dans la bibliothèque Wear Material3. (Ifee99).
Modifications apportées à l'API
- Mise à jour du code de Buttons pour utiliser les jetons de conception Material3. (I92fe4).
- Les API Wear Material 3 Stepper et Slider sont déclarées comme expérimentales, car les détails de l'interface utilisateur sont encore en cours de finalisation. (I84d54).
- Nous avons supprimé les tailles
ExtraSmall
de l'arrondiTextButton
etTextToggleButton
, car cette taille ne s'applique qu'àIconButton
. (Ibc7d5).
Correction de bugs
- Nous avons mis à jour les conseils sur la typographie pour TextToggleButton afin d'utiliser LabelLarge pour LargeButtonSize. (Ib10fa)
- Mise à jour des conseils sur la typographie pour TextButton afin d'utiliser LabelLarge pour LargeButtonSize. (I8f3a7)
- Pour des raisons d'accessibilité, la zone cible tactile minimale de la fiche est de 48 dp. (Ieb9b1).
- Ajout d'AppCard avec une démo d'image, et suppression d'AppCard avec la démo en 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
- Ajout de
ToggleButton
pour material3. (I6bed6)
Modifications apportées à l'API
- Nous avons activé l'annotation
FloatRange
en tant que contraintes d'API , comme indiqué précédemment dans les commentaires. (Icb401). - Nous avons mis à jour la typographie pour Wear Material3 afin de respecter les dernières consignes Material3. (I1bad6).
Correction de bugs
- Nous avons modifié les couleurs pour
Button
,IconButton
etTextButton
conformément au design de Material3. (Ib2495). - Nous avons corrigé la visibilité des coches de case à cocher 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
etRadioButton
. (Ib918c). - Nous avons ajouté
IconToggleButton
etTextToggleButton
à Material3, un bouton d'activation circulaire avec un seul emplacement pour l'icône et le texte, respectivement. Pour différentes tailles deToggleButton
, nous vous recommandons d'utiliserModifier.touchTargetAwareSize
avec les tailles fournies dans les boutons d'activation respectifs. (I9f015). - Nous avons ajouté
ListHeader
etListSubheader
à nos composants Material3. (Ibaefe). - Nous avons ajouté le
SwipeToDismissBox
Material3, qui appelle la nouvelleSwipeToDismissBox
Foundation et fournit des valeurs de couleur par défaut à partir de son thème. (I275fb). - Nous avons ajouté le
InlineSlider
Material3 à Wear Compose. Elle permet aux utilisateurs de faire une sélection à partir d'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 régler des paramètres tels que le volume ou la luminosité. (I7085f).
Modifications apportées à l'API
- Nous avons mis à jour le thème Shapes dans Wear Material 3 pour utiliser
RoundedCornerShape
au lieu de Shape. (Idb133). - Nous avons rendu publiques les constantes de hauteur du bouton. (Idbfde)
- Mise à jour des fichiers API pour annoter la suppression de la compatibilité. (I8e87a, b/287516207)
- Nous avons mis à jour
InlineSliderColors
dans Wear Compose Material 3 pour disposer d'un constructeur public et de propriétés publiques. (I6b632). - Nous avons mis à jour toutes les classes de couleur dans Wear Compose Material 3 pour disposer de constructeurs et de propriétés publiques. (I17702).
- Nous avons rendu publiques les constantes de marge intérieure horizontale et verticale du bouton. (Ieeaf7).
Correction de bugs
- Le bouton va désormais ajuster sa hauteur pour s'adapter au contenu agrandi en raison des grandes polices pour des raisons d'accessibilité, si nécessaire. (Iaf302)
- Nous avons mis à jour plusieurs démos de boutons pour résoudre les problèmes d'accessibilité. (I61ce9).
Stepper
etInlineSlider
prennent désormais en charge les clics répétés lors d'un appui prolongé, ce qui vous permet d'augmenter/diminuer rapidement la valeur deStepper
etInlineSlider
en maintenant enfoncés les boutons + ou -. (I27359)
Version 1.0.0-alpha07
21 juin 2023
Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha07
. Liste des commits de la version 1.0.0-alpha07
Nouvelles fonctionnalités
- Nous avons ajouté le composant
Stepper
à notre bibliothèque Compose pour Wear OS Material 3. Cette méthode est semblable à la version précédente de Material, mais omet la sémantique de plage par défaut, conformément aux commentaires des développeurs. Nous fournissonsModifier.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
- Mise à jour de
wear.compose.foundation
pour qu'il devienne une dépendance d'API dewear.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
afin d'utiliser la fonction d'extensiontoDisabledColor
pour les valeurs alpha désactivées correctes. (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 deTextButton
, nous vous recommandons d'utiliserModifier.touchTargetAwareSize
etExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
etLargeButtonSizeIcon
fournis dansTextButtonDefaults
. L'élémentTextButton
par défaut n'a pas de bordure et un arrière-plan transparent pour les actions à faible intensité. Pour les actions nécessitant une accentuation élevée, utilisezfilledTextButtonColors
. pour une accentuation moyenne (entouréTextButton
), définissez la bordure surButtonDefaults.outlinedButtonBorder
. pour définir un terrain d'entente entre les contours et les champs remplis, utilisezfilledTonalTextButtonColors
. (I667e4). - Nous avons ajouté
Card
,OutlinedCard
,AppCard
etTitleCard
à la bibliothèque Wear Compose Material3.AppCard
etTitleCard
peuvent également avoir l'apparence encadrée à l'aide deCardDefaults.outlinedCardColors
etCardDefaults.outlinedCardBorder
. (I80e72)
Modifications apportées à l'API
- Nous avons déplacé le paramètre de libellé du bouton à la fin pour prendre en charge la syntaxe lambda de fin et supprimé le paramètre de rôle (qui peut être remplacé à l'aide de
Modifier.semantics
). Les constructeursButtonColors
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
etOutlinedIconButton
. Pour différentes tailles deIconButton
, nous vous recommandons d'utiliserModifier.touchTargetAwareSize
etExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
etLargeButtonSizeIcon
fournis dansIconButtonDefaults
. Nous fournissons égalementIconButtonDefaults.iconSizeFor
afin de 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 Material 3 Button. Il s'agit de notre bouton en forme de stade qui s'appelait auparavant "Chip" dans la bibliothèque Wear Compose Material (il a été renommé "Button" pour plus de cohérence avec la bibliothèque Compose Material 3). L'arrière-plan du bouton par défaut est plein, et il existe différentes variantes pour les boutons
FilledTonal
(arrière-plan avec le son coupé), "Contours" (transparent avec une bordure fine) et "Enfant" (arrière-plan transparent et sans bordure, utilisé pour les actions supplémentaires les moins proéminentes). Nous ajouterons des boutons ronds pour des icônes et du texte simples dans une prochaine version.(Ia6942)
Version 1.0.0-alpha02
5 avril 2023
Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02.
Correction de bugs
- Nous avons ajouté un
DefaultTextStyle
à Wear Compose Material 3, qui définitPlatformTextStyle.includeFontPadding
par défaut sur "true" (paramètre actuel). Cela nous permettra de synchroniser la désactivation par défaut de la marge intérieure des polices avec les bibliothèques Compose à l'avenir (voir Corriger la marge intérieure de la police dans Compose pour l'arrière-plan). (I7e461).
Version 1.0.0-alpha01
22 mars 2023
Publication d'androidx.wear.compose:compose-material3:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
Material 3 est la nouvelle évolution de Material Design. Elle inclut une thématisation mise à jour et des composants repensés. Material 3 sur Wear Compose est conçu pour être cohérent avec la bibliothèque Material 3 Compose sur Android. Cette première version alpha contient les premières implémentations fonctionnelles des éléments suivants :
- Thème Material : configure le jeu de couleurs, la typographie et les formes de manière cohérente sur tous les composants de la bibliothèque. Les couleurs du thème Material3 ont été révisées pour permettre un contraste accessible. (I84005).
- Texte/Icône : éléments de base des applications Wear Compose. (I8e06a)
Nous continuerons à développer Wear Material (
androidx.wear.compose:compose-material
) et Wear Material 3 (androidx.wear.compose:compose-material3
) en parallèle. Les futures versions de Material3 étendront l'ensemble de widgets afin d'inclure d'autres composants familiers de Compose pour Wear OS, tels que des boutons, des sélecteurs et des curseurs.Les bibliothèques Wear Material et Wear Material 3 s'excluent mutuellement et ne doivent pas être mélangées dans la même application, car 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-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 APILazyColumnState
etLazyColumnScope
associées. Cela permet de créer des effets de mise à l'échelle et de morphologie personnalisables avec Wear Compose. (Ib3b22). - Nous avons ajouté une version indexée de
itemsIndexed
dansLazyColumnScope
dans le cadre de la nouvelle APILazyColumn
. (Ib4a57). - Nous avons ajouté des modificateurs
LazyColumn
afin de prendre en charge les comportements de mise à l'échelle et de morphologie. (Ie229a). HierarchicalFocusCoordinator
a été défini comme stable. (I31035).- Nous avons ajouté la prise en charge de l'espacement des lettres dans le texte incurvé. (I3c740).
- Ajout d'un paramètre
rotationLocked
àCurvedLayout.curvedComposable
pour arrêter la rotation des composants. (I66898). - Suppression de l'API
LocalUseFallbackRippleImplementation
temporaire de Material Material et de Wear Material3. (I62282) - Suppression de
WearDevices.SQUARE
de l'aperçu multiple de@WearPreviewDevices
. (I11c02)
Correction de bugs
SwipeToReveal
positionne désormais les éléments révélés dans la partie visible de l'écran. Cela s'avère utile lorsqueSwipeToReveal
est utilisé dans une liste. Ainsi, les éléments peuvent toujours être interactifs et ne sortent jamais en dehors de l'écran. (I38929).SwipeToReveal
réinitialise désormaislastActionType
sur "None" (Aucun) lorsqueanimatedTo
est terminé. (I59b03).- Amélioration de la documentation sur le nouveau paramètre
rotationLocked
surcurvedComposable
. (Ifbd57). - Correction d'un plantage lors de la transmission de
NaN
auperformFling
deScalingLazyColumnSnapFlingBehavior
. (Ic13da). - Correction d'un bug sur le modificateur de taille de mise en page incurvée. (I0fedf)
- Nous avons ajouté la prise en charge de l'espacement entre les lettres spécifié dans "sp". (I9f6e3).
- Correction d'un bug dans la boîte de dialogue Material2 qui empêchait l'appel du rappel
onDismissRequest
lorsque la boîte de dialogue devenait invisible. (I64656) - Remplacement du nom de
LayoutCoordinates.introducesFrameOfReference
parLayoutCoordinates.introducesMotionFrameOfReference
pour mieux refléter son objectif. Fonction associée renommé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
etPicker
sont désormais compatibles avec la saisie par dispositif rotatif par défaut. Nous vous recommandons de supprimer la gestion explicite du dispositif par dispositif rotatif et de vous reporter au comportement système par défaut. Si nécessaire, utilisez le paramètrerotaryScrollableBehavior
pour configurer le comportement de défilement ou d'ancrage. Pour le comportement d'ancrage, il est recommandé de fournir des fonctionnalités d'ancrage et de défilement tactile à l'aide du paramètreflingBehavior
.Modifier.rotaryScrollable
est un nouveau modificateur qui associe les événements rotatifs à des conteneurs à faire défiler, 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
- Pour en savoir plus sur les modifications apportées dans la version 1.3.0, consultez les notes de version beta01.
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 vers androidx.lifecycle.
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 mis à jour
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
ProgressIndicator
sousTalkBack
. (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
- Afin de résoudre les problèmes de troncation, nous avons augmenté la largeur de bordure transmise aux lecteurs d'écran à partir du texte incurvé. (Id865f)
- Nous avons limité la limite du
HorizontalPageIndicator
transmis 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 dispose de fonctionnalités complètes et que l'API est verrouillée (sauf lorsqu'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 associe les événements rotatifs aux conteneurs à faire défiler, 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. De plus,ScalingLazyColumn
etPicker
sont désormais compatibles par défaut avec la saisie par dispositif rotatif. Utilisez le paramètrerotaryScrollableBehavior
pour configurer le comportement de défilement ou d'ancrage. Pour le comportement d'ancrage, nous vous recommandons de fournir l'ancrage via le paramètreflingBehavior
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.- Ajout de
SelectableChip
etSplitSelectableChip
en tant que variante deToggleChip
. Utilisez-le avecRadioButton
afin de fournir une sémantique sélectionnable au lieu d'une sémantique d'activation/de désactivation pour l'accessibilité. ListHeader
permet désormais d'ajuster la hauteur lorsque le contenu nécessite une hauteur supplémentaire pour s'adapter aux grandes tailles de police.
Correction de bugs
- Nous avons corrigé un bug qui provoquait l'affichage d'un double appui pour activer/désactiver les chips sélectionnables lorsqu'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 rotative:
Modifier.rotary
a été renomméModifier.rotaryScrollable
. Remplacement du nom de l'interfaceRotaryBehavior
parRotaryScrollableBehavior
et de la fonctionhandleScrollEvent
parperformScroll
.RotaryScrollableAdapter
a été renomméRotaryScrollableLayoutInfoProvider
et supprimé la propriétéscrollableState
. (I0c8a6). - Nous avons apporté des modifications supplémentaires à l'API rotative:
RotaryScrollableLayoutInfoProvider
a été renomméRotarySnapLayoutInfoProvider
(car ce fournisseur n'est nécessaire que pour le dispositif rotatif avec ancrage) ; Modification du type du paramètresnapOffset
dansRotaryScrollableDefaults.snapBehavior snapOffset
en remplaçant "Int" par "Dp". (Iddebe). - Nous avons renommé le paramètre
clickInteractionSource
deSplitSelectableChip
encontainerInteractionSource
. (Ia8f84). - Nous avons modifié les noms des paramètres de rappel de clic pour
SplitSelectableChip
, qui sont passés deonClick
àonSelectionClick
et deonBodyClick
àonContainerClick
. (I32237).
Correction de bugs
- Nous avons mis à jour la marge intérieure horizontale de
PositionIndicator
à 2 dp (auparavant 5 dp), afin de corriger un bug qui provoquait le chevauchement duPositionIndicator
(barre de défilement) du contenu à faire défiler. Veuillez noter que cette modification devrait endommager les captures d'écran existantes qui incluentPositionIndicator
en raison de la modification de la marge intérieure. (I57472). - Nous avons amélioré la documentation de la nouvelle API rotative en décrivant les différences entre les appareils rotatifs basse et haute résolution. (I63abe).
- Nous avons traité une exception hors plage dans
SwipeDismissableNavHost
qui pouvait être déclenchée 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 associe les événements rotatifs aux conteneurs à faire défiler, 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. De plus,ScalingLazyColumn
et Picker prennent désormais en charge la saisie par dispositif rotatif par défaut, avec de nouvelles surcharges qui incluent le paramètrerotaryBehavior
pour spécifier la configuration du défilement ou de l'ancrage. Si le paramètrerotaryBehavior
est défini sur "Aligner", nous vous recommandons de fournir l'ancrage via le paramètreflingBehavior
également pour le défilement tactile. (I2ef6f). - Remplacement du glisser-déposer des sources
NestedScroll
parUserInput
etSideEffect
pour tenir compte de la définition étendue de ces sources, qui incluent désormais des animations (effet secondaire), ainsi que la molette et le clavier de la souris (UserInput). (I40579). - Nous avons ajouté
SelectableChip
etSplitSelectableChip
pour distinguer plus clairement les commandes d'activation commeSwitch/Checkbox
et celles sélectionnables commeRadioButton
. Cela remplace les surcharges deToggleChip/SplitToggleChip
précédemment ajoutées par les paramètresselectionControl
. (Ia0217). - Mise à jour du modificateur de visibilité de
IndeterminateStrokeWidth
dansProgressIndicatorDefaults
en mode 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é rotative, dans le cadre d'un effort global de migration du comportement rotatif vers AndroidX par Horologist. (I617d1).
- Nous avons ajouté une version interne de la compatibilité haptique, dans le cadre d'un effort global de migration du comportement rotatif vers AndroidX par 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
etinitialCenterItemScrollOffset
deScalingLazyListState
publiques. (I0c616). - Nous avons rendu le
FullScreenStrokeWidth
deProgressIndicatorDefaults
public. (Ibea23).
Correction de bugs
- Nous avons amélioré les performances de
PositionIndicator
en diminuant le nombre d'appels àlayoutInfo
depuisScalingLazyColumn
. (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
etSplitToggleChip
, qui accepte un paramètreselectionControl
au lieu du paramètretoggleControl
. À utiliser avec la commandeRadioButton
afin de fournir une sémantique sélectionnable au lieu d'une sémantique à activer/désactiver pour l'accessibilité. (I1d6d9) - Nous avons modifié les noms des paramètres de la nouvelle surcharge
selectionControl
, passant deonSelected
àonSelect
pourToggleChip
etSplitToggleChip
. (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éera plus d'invalidations de votre modificateur que nécessaire. Son utilisation est donc déconseillée. Nous encourageons les développeurs à implémenter la méthodeinspectableProperties()
surModifierNodeElement
s'ils souhaitent exposer les propriétés du modificateur aux outils. (Ib3236).
Correction de bugs
- Nous avons corrigé un bug dans la documentation pour 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 lié au balayage pour afficher, qui permettait d'interagir avec (et d'annuler) une action validée sur un élément en balayant un autre élément.(Ide059)
- Nous avons mis à jour
ListHeader
pour permettre les ajustements de hauteur lorsque le contenu nécessite une hauteur supplémentaire pour s'adapter à des polices de grande taille. (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. Cette modification a été introduite pour nous aider à respecter les consignes relatives à la qualité de Wear. Malheureusement, cela signifie que les tests de captures d'écran devront être mis à jour sur les écrans qui incluentPositionIndicator
, carPositionIndicator
ne s'affichait pas auparavant. (419cef7).
Modifications apportées à l'API
- Nous avons ajouté une nouvelle API d'ondulation dans les bibliothèques
wear:compose-material
etwear:compose-material3
, qui remplacerememberRipple
, désormais obsolète. Ajout d'unCompositionLocal
temporaire,LocalUseFallbackRippleImplementation
, pour rétablir les composants Material afin qu'ils utilisent les APIrememberRipple/RippleTheme
obsolètes. Elle sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à une aide temporaire à la migration lorsque vous fournissez unRippleTheme
personnalisé. Pour en savoir plus sur la migration et obtenir d'autres informations générales sur ce changement, consultez developer.android.com. (af92b21). - Nous avons modifié
ColorScheme
pour qu'il ne soit plus modifiable. Les mises à jour de couleurs individuelles sont ainsi moins efficaces, mais l'utilisation des couleurs plus courante est plus efficace. Ce changement s'explique par le fait que la mise à jour des couleurs individuelles n'est pas le cas d'utilisation principal pour la majorité des applications. Cela est toujours possible, mais la recomposition sera plus importante qu'auparavant. Par conséquent, nous réduirons considérablement le nombre d'abonnements à des états via tout le code matériel, ce qui aura un impact sur les coûts d'initialisation et d'exécution pour des cas d'utilisation plus standards. (f5c48b7). - Les composants Wear Material et Wear Material3 qui exposent un
MutableInteractionSource
dans leur API ont été mis à jour pour exposer désormais unMutableInteractionSource
pouvant avoir une valeur nulle et dont la valeur par défaut est "null". Il n'y a aucun changement sémantique ici: transmettre la valeur "null" signifie que vous ne souhaitez pas hisserMutableInteractionSource
, qui sera créé dans le composant si nécessaire. Si vous passez à une valeur nulle, certains composants ne peuvent jamais allouer deMutableInteractionSource
, et les autres composants ne peuvent créer une instance que de manière différée lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas leMutableInteractionSource
que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur "null". Nous vous recommandons également d'apporter les mêmes modifications à vos propres composants. (f8fa920). - Nous avons mis à jour
rememberExpandableState
pour enregistrer l'état d'expansion. Ainsi, les données sont stockées lorsque vous naviguez vers 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 tient compte du cycle de vie. (be28b01) - Suppression de la couche Materialcore pour
CompactButton
afin d'améliorer les performances. (25db8e9) - Amélioration de la robustesse des décalages NaN pour
BasicSwipeToDismissBox
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. - Nous avons corrigé un bug dans
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
etRadioButton
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 lié au balayage pour afficher, qui permettait d'interagir avec (et d'annuler) une action validée sur un élément en balayant 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érationSwipeToDismissValue
et la fonction d'extensionModifier.edgeSwipeToDismiss
font désormais partie du packageandroidx.wear.compose.foundation
, et non plus du packageandroidx.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, tels que l'application de couleurs à partir d'un thème configuré, sont gérés séparément. - Les classes
SwipeToRevealCard
etSwipeToRevealChip
vous aident à implémenterrecommended swipe-to-reveal guidance
. La classeSwipeToRevealSample
montre comment utiliser ces composants. Notre version 1.3.0-alpha02 a introduit une modification qui entraîne l'augmentation de la hauteur des objets
Chip
etToggleChip
afin de mieux prendre en charge la mise à l'échelle de la police sélectionnée par l'utilisateur. Cela peut entraîner un rognage. Pour résoudre ce problème, la formelarge
deMaterialTheme
utilise désormais un rayon d'angle plus grand (26 dp au lieu de 24 dp). Les objetsChip
etToggleChip
utilisent ce nouvel arrondi d'angle pour éviter de rogner le contenu sur les coins de Chip etToggleChip
.- La plupart des valeurs
Chips
etToggleChips
restent inchangées étant donné leur hauteur par défaut de 52 dp. Toutefois, les objetsChip
etToggleChip
qui contiennent plusieurs lignes de texte du libellé principal ou secondaire, ou dont la hauteur a été remplacée, peuvent entraîner l'interruption des tests de captures d'écran.
- La plupart des valeurs
Autres modifications
Pour en savoir plus sur les modifications introduites dans la version 1.3.0, consultez les notes de version beta01.
Recommandations d'implémentation
- Si votre application permet aux utilisateurs de se déplacer dans le contenu de l'écran, par exemple dans une application basée sur une carte, désactivez la gestion du balayage en définissant
userSwipeEnabled
surfalse
dans le composableSwipeDismissableNavHost
et incluez un bouton permettant aux utilisateurs de revenir à 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éroulante, 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, pensez à 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 mis à jour la grande forme
<ph type="x-smartling-placeholder">MaterialTheme
pour utiliser un rayon d'angle arrondi de 26 dp. Celui-ci sera désormais utilisé par Chip etToggleChip
. Ce changement est nécessaire pour prendre en charge les ajustements de hauteur lorsque le contenu a besoin d'une hauteur supplémentaire pour s'adapter à de grandes tailles de police. Sinon, la forme existante du stade coupe du contenu textuel.Cette modification peut entraîner une défaillance des tests de captures 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 souhaité dans
BasicSwipeToDismissBox
. Elle avait été modifiée dans une version précédente, de sorte que la partie glissante de la transition se produisait lorsque le doigt 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 dispose de fonctionnalités complètes et que l'API est verrouillée (sauf lorsqu'elle est marquée comme expérimentale). Wear Compose 1.3 inclut les nouvelles fonctionnalités suivantes:
SwipeToDismissBoxState
,SwipeToDismissValue
etModifier.edgeSwipeToDismiss
ont été migrés deandroidx.wear.compose.material
versandroidx.wear.compose.foundation
, ainsi que l'implémentation sous-jacente de type "Balayer pour fermer" dansBasicSwipeToDismissBox
. Cela permet d'utiliser la gestion des gestes pour le balayage pour ignorer indépendamment de Material Design, par exemple depuisSwipeDismissableNavHost
dansandroidx.wear.compose.navigation
. Il est toujours recommandé d'utiliserSwipeToDismissBox
deandroidx.wear.compose.material
avec Material Design, car il extrait les couleurs deMaterialTheme
, puis délègue l'implémentation restante àBasicSwipeToDismissBox
.SwipeDismissableNavHost
prend désormais en charge un nouveau paramètreuserSwipeEnabled
, ce qui permet de désactiver la gestion du balayage pour les écrans où elle n'est pas requise.BasicSwipeToDismissBox
a amélioré la gestion du focus à l'aide deHierarchicalFocusCoordinator
.SwipeToReveal
dispose de nouveaux composablesSwipeToRevealCard
etSwipeToRevealChip
dans Material Design qui suivent les conseils sur l'expérience utilisateur recommandés pourCard
etChip
. Il permet également d'annuler l'action secondaire.DefaultTextStyle
désactive désormais la marge intérieure de la police pour qu'elle soit cohérente sur l'ensemble de la plate-forme Android.Chip
etToggleChip
ajustent désormais leur hauteur pour s'adapter au contenu qui a été agrandi en raison de la grande taille des polices pour l'accessibilitéPositionIndicator
dispose désormais de spécifications d'animation individuelles pour les animations de fondu à l'ouverture, de fondu à la fermeture et de changement de position. Pour des raisons de performances, nous vous recommandons de désactiver le fondu et le changement de position en cas d'utilisation de listes déroulantes.ExpandableStateMapping
offre un nouveau moyen de générer desExpandableStates
lorsqu'ils doivent être créés à la demande et pas nécessairement avec un champ d'application@Composable
.Placeholder
autorise désormais la réinitialisation si le contenu n'est plus à l'état "prêt". De plus, le paramètre "Réduire le mouvement" s'applique désormais à l'effet de scintillement et au mouvement d'effacement surPlaceholder
.
Problèmes connus
PositionIndicator
ne s'affiche pas initialement lorsqu'un écran est affiché pour la première fois. Nous prévoyons d'apporter une modification dans une version alpha de la version 1.4 au début de la version 1.4 afin qu'elle soit initialement diffusée, mais sans aucune animation.
Modifications apportées à l'API
- Nous avons renommé le niveau de fondation
SwipeToDismissBox
enBasicSwipeToDismissBox
. Cela permet de distinguer plus clairement le composant de niveau de base et leSwipeToDismissBox
de niveau Material. Ce dernier extrait les couleurs duMaterialTheme
pour les utiliser dans les fonds et délègue l'implémentation restante àBasicSwipeToDismissBox
. (Ibecfc) - Nous avons marqué
rememberExpandableStateMapping
comme étant expérimental et amélioré les performances deexpandableItem
. (I5f6bc). - Nous avons remplacé la classe
SwipeToRevealAction
dans les API MaterialSwipeToReveal
Card et Chip par une API basée sur les emplacements à l'aide des composablesSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
etSwipeToRevealUndoAction
. Consultez l'exemple de code pour découvrir comment utiliser la nouvelle API. (Ia8943). - Nous avons remplacé les indicateurs d'animation
PositionIndicator
par des paramètresAnimationSpec
. Vous pouvez désactiver les animations individuelles en transmettantsnap
en tant queAnimationSpec
. (I6c523).
Correction de bugs
- Nous avons corrigé un bug déclenché par un texte incurvé limité lorsque la taille est limitée. (I50efe)
- Résolution d'un éventuel plantage de NaN lié à
curvedComposable
. (I970eb) - Nous avons annulé la suppression de l'animation de mise en surbrillance du changement de position sur
PositionIndicator
. (Ieb424). - Nous avons supprimé la couche Material Core de Material 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
etshowPositionAnimation
. L'API précédente est obsolète et transfère les appels vers la nouvelle. Pour des raisons de performances et de cohérence de l'expérience utilisateur, lorsquePositionIndicator
est utilisé avec une liste déroulante, nous vous recommandons de désactiver les optionsshowFadeInAnimation
etshowPositionAnimation
. SiPositionIndicator
est utilisé comme indicateur autonome, par exemple pour un changement de volume, nous vous recommandons d'activer les trois animations. (I44294). - Nous avons abandonné les
SwipeToDismissBoxState
,SwipeToDismissValue
etedgeSwipeToDismiss
de Material suite à la migration de la fonctionnalité Balayer pour fermer verswear.compose.foundation
. Veuillez les remplacer par les équivalentswear.compose.foundation
. (Iee8c9).
Correction de bugs
- Nous avons mis à jour les profils de référence pour les bibliothèques Material, de base et de navigation Wear Compose. (Idb060).
- Nous avons annulé un changement de comportement pour
PositionIndicator
introduit dans une précédente CL, de sorte quePositionIndicator
était animé lors de l'affichage initial de l'écran. Nous prévoyons d'effectuer un changement similaire dans une version alpha de la version 1.4 au début de la version 1.4, afin quePositionIndicator
s'affiche initialement, mais sans aucune 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'elle 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
etshowPositionAnimation
. L'API précédente est obsolète et transfère les appels vers la nouvelle. Pour des raisons de performances et de cohérence de l'expérience utilisateur, lorsquePositionIndicator
est utilisé avec une liste déroulante, nous vous recommandons de désactiver les optionsshowFadeInAnimation
etshowPositionAnimation
. SiPositionIndicator
est utilisé comme indicateur autonome, par exemple pour un changement de 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 en fondu au texte de l'action principale et en faisant un fondu pour l'action secondaire/en modifiant l'échelle des icônes lorsque l'utilisateur s'agrandit complètement. (Ib7223).
- Nous vous recommandons de rendre les actions d'accessibilité accessibles via l'option "Balayer pour afficher" et nous avons ajouté des actions d'accessibilité personnalisées à nos exemples d'actions "Balayer pour afficher". (I42224).
- Nous avons amélioré les performances de
SwipeToDismissBox
, y compris en procédant à une refactorisation pour s'assurer que la logique initiale ne déclenche pas de recomposition.SwipeToDismissBox
est maintenant dessiné en plein écran. (Ie0aa2). - Nous avons corrigé un bug qui entraînait la disparition par erreur de
PositionIndicator
. (I2091a). - Amélioration des performances de
PositionIndicator
en optimisant les recompositions. De nouveaux indicateurs permettant de contrôler les animations (fadeIn
,fadeOut
etpositionChange
) ont été ajoutés par la suite (voir les modifications de l'API). (Ifac7d) - Ajout de 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
Modifier.edgeSwipeToDismiss
est désormais compatible avecSwipeToReveal
. (I95774, b/293444286).- Nous avons ajouté des exemples pour les
SwipeToRevealChip
etSwipeToRevealCard
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 "Balayez pour afficher" afin qu'il ne soit possible de balayer qu'un seul élément à la fois. (I3cd7a).
- Amélioration de la documentation de
ScalingLazyColumnDefaults
pour mieux correspondre à 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
- Ajout de
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 suivent les conseils recommandés concernant l'expérience utilisateur sur le composant et permettent aux développeurs d'implémenter plus facilementSwipeToReveal
avec les composants existants dans Wear Material. (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
dansonGloballyPositioned()
. (Ic90f1). - Nous utilisons désormais
drawWithCache
dansPositionIndicator
,ProgressIndicator
etSelectionControls
pour optimiser l'allocation des traits. (I5f225, b/288234617). - Nous avons corrigé la visibilité des coches de case à cocher dans les états désactivés. (Ib25bf).
- Nous avons mis à jour
Placeholder
pour permettre la réinitialisation afin d'afficher l'espace réservé si le contenu n'est plus à l'état "prêt". (Ibd820). - Correction des tests
Placeholder
irréguliers. (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
, un nouveau moyen de générer desExpandableStates
, pour les cas où ils doivent être créés à la demande, pas nécessairement dans un champ d'application@Composable
. (Iff9e0) SwipeToDismissBox
a été migré du packageandroidx.wear.compose.material
vers le packageandroidx.wear.compose.foundation
. (I275fb).- Mise à jour des fichiers d'API pour annoter la suppression de la compatibilité. (I8e87a, b/287516207).
- Les constantes de hauteur pour
Chip
,CompactChip
etToggleChip
sont désormais publiques. (Idbfde) - Les marges intérieures horizontales et verticales de
Chip
etCompactChip
sont désormais publiques. (Ieeaf7). - Ajout d'une fonctionnalité permettant de désactiver la gestion du balayage dans
SwipeDismissableNavHost
via le nouveau paramètreuserSwipeEnabled
. (Id2a0b, b/230865655). - Nous avons mis à jour la bibliothèque de navigation de Wear Compose pour utiliser le nouveau
SwipeToDismissBox
de Wear Compose Foundation. (I4ff8e).
Correction de bugs
- Nous avons corrigé un bug dans l'ordre de plan qui empêchait
expandedItem
d'afficher le bon contenu après avoir cliqué sur le comportement d'un bouton lorsqu'il en contenait. (I1899d, b/289991514). - Amélioration de la gestion du focus de
SwipeToDismissBox
(et donc deSwipeDismissableNavHost
) à l'aide deHierarchicalFocusCoordinator
. (I45362, b/277852486) - Nous avons corrigé la gestion des gestes dans
SwipeableV2
. (I89737). - Nous avons finalisé les profils de référence pour notre version 1.2. (Id5740).
- Suite à la migration de
SwipeToDismissBox
vers Foundation, l'implémentation deSwipeToDismissBox
Material est à présent transférée vers Foundation et fournit des valeurs de couleur par défaut à partir de son thème.(If8451) - Nous avons ajouté une sémantique d'en-tête à
ListHeader
. (Ic5420). Chip
etToggleChip
ajustent désormais leur hauteur pour s'adapter au contenu qui a été agrandi en raison des grandes polices pour des raisons d'accessibilité, si nécessaire. (Iaf302).- Correction d'un bug dans le rôle sémantique de la zone tactile 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 balayage sur les espaces réservés. (I91046).
Stepper
etInlineSlider
acceptent désormais les clics répétés lors d'un appui prolongé. Vous pouvez ainsi augmenter/diminuer rapidement les valeurs deStepper
etInlineSlider
en maintenant enfoncés 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
et1.2.0-alpha10
, nous modifions désormais laDefaultTextStyle
pour désactiver la marge intérieure de la police afin d'assurer la cohérence sur l'ensemble de la plate-forme Android. Cela permet de résoudre certains cas de rognage de texte avec des polices de grande taille et peut également avoir un impact sur la mise en page. Par conséquent, les tests de captures d'écran doivent être mis à jour. Par exemple, nous voyons ici le rognage de texte. (Ic6a86)
- Elle n'est plus présente lorsque la marge intérieure de la police est désactivée:
- Mise à jour de
wear.compose.foundation
pour qu'il devienne une dépendance d'API dewear.compose.material
. (I72004, b/285404743) - Nous avons corrigé un bug dans
SwipeToDismissBox
. Les touches d'arrière-plan et de contenu sont désormais transmises au bloc " remember" afin que des modificateurs soient créés lorsque le contenu ou l'arrière-plan change. (Ib876c, b/280392104). - Nous avons mis à jour
TimeText
afin d'utiliser les paramètres régionaux lors du choix du format pour l'heure 12 ou 24 heures. (If4a3d). - Nous avons corrigé une incohérence dans les paramètres par défaut de
SwipeToDismissBox
contentScrimColor
. (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 constitue une exigence d'accessibilité. Nous savons que les chips multilignes peuvent entraîner un rognage du texte lorsqu'ils sont affichés avec des polices de grande taille. C'est pourquoi nous les mettrons à jour dans une première version alpha 1.3 afin d'effectuer des ajustements de 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 provoquait la disparition par erreur 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 stable de Compose pour Wear OS 1.2.0 (en savoir plus)
- Pour obtenir la liste des principales modifications apportées à Wear Compose 1.2, consultez les notes de version de (Compose pour Wear OS 1.2 Beta01).
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. (Id5740)
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
expérimentaleLocalReduceMotion
, qui désactive la mise à l'échelle et le fondu surScalingLazyColumn
. (I58024).
Correction de bugs
- Nous avons mis à jour les profils de référence pour les bibliothèques Material et Foundation pour Wear Compose. (I4725d)
- Nous avons corrigé une incohérence dans les valeurs par défaut pour les paramètres
contentScrimColor
deSwipeToDismissBox
. (I2d70f) - Correction de la valeur par défaut
DefaultTextStyle
utilisée pour le paramètreIncludeFontPadding
. (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 dispose de fonctionnalités complètes et que l'API est verrouillée (sauf lorsqu'elle est marquée comme expérimentale). Wear Compose 1.2 inclut les nouvelles fonctionnalités suivantes:
expandableItem
etexpandableItems
sont deux nouveaux composantsFoundation
qui permettent de développer des éléments dans un élémentScalingLazyColumn
. UtilisezexpandableItem
pour un seul élément extensible (par exemple, "Texte", dans lequel le nombre de lignes est indiqué). UtilisezexpandableItems
pour un groupe d'éléments extensibles etexpandableButton
pour simplifier la création d'un bouton qui se replie après l'expansion du contenu.HierarchicalFocusCoordinator
: ce composable expérimental permet de marquer les sous-arborescences de la composition comme étant activées ou désactivées.Picker
: l'API inclut désormaisuserScrollEnabled
pour contrôler si le sélecteur est actif pour le défilement par l'utilisateur.PickerGroup
: nouveau composable pour gérer plusieurs sélecteurs ensemble. Elle gère le focus entre les sélecteurs à l'aide de l'APIHierarchicalFocusCoordinator
et active le centrage automatique des éléments du sélecteur.Placeholder
: nous avons mis à jour les animations de scintillement et de suppression. L'effet d'effacement s'applique désormais dès que le contenu est prêt.ScalingLazyColumn
: migration deScalingLazyColumn
et des classes associées deandroidx.wear.compose.material.ScalingLazyColumn
versandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Veuillez effectuer une mise à jour pour utiliser la versionFoundation.Lazy
.SwipeToReveal
: nous avons ajouté la compatibilité expérimentale de la fonctionnalité "Balayer pour afficher" afin d'accéder à des actions secondaires, en complément du modèle existant "appui de manière prolongée".Stepper
comporte désormais une surcharge avec un paramètreenableRangeSemantics
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
affiche l'aperçu du composable sur un petit appareil rond.WearPreviewLargeRound
affiche un aperçu du composable sur un grand appareil rond.WearPreviewSquare
affiche un aperçu du composable sur un appareil carré. De plus, les annotations d'aperçu multiples suivantes:WearPreviewFontScales
affiche un aperçu des composables sur un appareil Wear avec plusieurs tailles de police, tandis queWearPreviewDevices
prévisualise les composables sur différents appareils Wear.- Nous avons ajouté un
DefaultTextStyle
à Wear Compose, qui définit par défaut la propriétéPlatformTextStyle.includeFontPadding
sur "true" (il s'agit du paramètre actuel). Cela nous permettra de synchroniser la désactivation par défaut de la marge intérieure de la police avec les bibliothèques Compose dans une première version alpha de la version 1.3. Pour en savoir plus, consultez 1.2.0-alpha10.
Nouvelles fonctionnalités
- Nous avons ajouté la prise en charge expérimentale de la désactivation de la mise à l'échelle et de l'animation en fondu lorsque le paramètre "reduce_motion" est activé. (I58024).
Correction de bugs
- Amélioration de la documentation sur
angularWidthDp
dansCurvedSize.kt
. (Iab75c) SwipeDismissableNavHost
enregistre désormais un avertissement indiquant les causes potentielles d'une pile "Retour" vide. Cela permet d'éviter les plantages inattendus causés par l'erreurIllegalArgumentException
générée 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 de l'option "Balayer pour afficher" pour accéder aux actions secondaires. Ce modèle complète le modèle « appui prolongé », la manière dont un utilisateur peut révéler des actions secondaires (différentes). (I60862).
Modifications apportées à l'API
- Nous avons ajouté
RevealScope
aux composables d'action dansSwipeToReveal
, ce qui permet d'accéder au décalage au niveau duquel des actions supplémentaires sont affichées. (I3fd56).
Correction de bugs
- Correction d'un problème de blocage de
ScalingLazyColumn
dans l'API Wear 33 après un glissement d'un geste vif. (Ic4599) - Nous avons amélioré les performances de
PositionIndicator
pour réduire les à-coups. (I35e92). - Nous avons corrigé un bug dans Chip et
CompactChip
qui empêchait la définition du rôle sémantique surRole.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 sera bientôt disponible. Veuillez noter que les autres annotations d'aperçu 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 PlatformTextStyle.includeFontPadding existante sur "true". Pour l'arrière-plan, 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 première version alpha 1.3, par souci de cohérence sur l'ensemble de la plate-forme Android. Cela permet de résoudre certains cas de rognage de texte avec des polices de grande taille et peut également avoir un impact sur la mise en page. Les tests de captures d'écran doivent donc être mis à jour. Par exemple, avec de grandes tailles de police, le texte est tronqué ici:
- Elle n'est plus présente lorsque la marge intérieure de la police est désactivée:
Vous pouvez adopter le nouveau paramètre dès maintenant en remplaçant la typographie dans votre thème (voir un 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'APICurvedModifier
pour définir la largeur angulaire dans DP. (I89a52)
Correction de bugs
- Nous avons corrigé 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 mis à jour les exemples d'annonces extensibles. (Iae309).
Correction de bugs
- Amélioration des exemples d'annonces extensibles pour afficher plus de possibilités. Modification de l'animation de
expandableItem
pour que son contenu reste centré dans l'animation. (I2f637). - Mise à jour de
ToggleControls
pour éviter des 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 Extensible Item (ajoutés dans la version 1.2.0-alpha06) de Material vers Foundation, car ils ne comportaient aucune référence significative à
MaterialTheme
. (Ib0525).
Correction de bugs
- Nous avons corrigé un plantage qui survenait sur un écran utilisant
PickerGroup
, en veillant à ce quePickerGroup
gère correctement le focus lorsqu'aucun sélecteur n'est sélectionné. Ajout de la prise en charge du défilement RSB dans nos démonstrations de l'outil de sélection. (If8c19). - Nous avons amélioré les transitions des boîtes de dialogue : la transition de l'introduction est désormais plus fluide pour correspondre à celle de la fin. (Ib5af9).
- Nous avons ajouté un
DefaultTextStyle
à Wear Compose, qui définit par défaut la propriétéPlatformTextStyle.includeFontPadding
sur "true" (il s'agit du paramètre actuel). Cela nous permettra de synchroniser la désactivation par défaut de la marge intérieure de la police avec les bibliothèques Compose à l'avenir. Consultez Corriger la marge intérieure de la police dans Compose pour en savoir plus. (I2aee8). - Annulation d'une dépendance d'aperçu
UpsideDownCake
via l'activité 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 d'un ou de plusieurs éléments extensibles : deux nouveaux composants compatibles avec un groupe d'éléments extensibles dans une
ScalingLazyColumn
ou un seul élément extensible, comme du texte dans lequel le nombre de lignes se développe. (I95dd5). - Nous avons ajouté les annotations personnalisées suivantes pour prévisualiser les composables sur les écrans Wear:
WearPreviewSmallRound
permet de prévisualiser le composable sur un petit appareil rond.WearPreviewLargeRound
affiche un aperçu du composable sur un grand appareil rond ;WearPreviewSquare
affiche un aperçu du composable sur un appareil carré. De plus, les annotations d'aperçu multiples suivantes:WearPreviewFontScales
affiche un aperçu des composables sur un appareil Wear avec plusieurs tailles de police, tandis queWearPreviewDevices
prévisualise les composables sur différents appareils Wear. Pour les utiliser, vous devez utiliser la dernière version d'Android Studio (Giraffe Canary 6) ou une version ultérieure. Notez que si ces annotations ne sont pas adaptées à votre objectif, vous pouvez toujours utiliser l'aperçu et effectuer d'autres personnalisations via les paramètres. (I397ff). - Nous avons marqué
HierarchicalFocusCoordinator
comme expérimental alors qu'il pourrait être déplacé vers les bibliothèques Compose principales, en raison de son large portée. (I3a768).
Correction de bugs
- Correction d'un bug dans
HierarchicalFocusCoordinator
. Lorsque le lambda transmis pour le paramètrefocusEnabled
était modifié, nous utilisons désormais correctement le nouveau. (Icb353). - Nous avons remplacé la couleur du contenu désactivée par défaut par "Arrière-plan" lorsque vous utilisez des couleurs primaires comme arrière-plan dans
Button
,CompactButton
,Chip
,CompactChip
etToggleButton
. 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 surPickerGroup
. 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 utilisentTestNavHostController
. (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, lePickerGroup
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) deandroidx.wear.compose.material.ScalingLazyColumn
versandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn
(voir cet exemple pour la migration). Ce nouvel emplacement correspond mieux à celui decompose.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 laScalingLazyColumn
de Material sont obsolètes. Veuillez utiliser plutôtFoundation.Lazy ScalingLazyColumn
. En outre, le champanchorType
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 utiliseScalingLazyListState
à partir de Wear ComposeFoundation.Lazy
et abandon de la surcharge qui récupéraitScalingLazyListState
à partir de Wear Compose Material. (Ifc42c) - Mise à jour des API Dialog pour qu'elles utilisent
ScalingLazyListState
à partir deFoundation.Lazy
et abandon des surcharges qui utilisaient lesScalingLazyListState
de Material. (Ic8960) - Mise à jour des API Picker pour qu'elles utilisent
ScalingParams
à partir deFoundation.Lazy
et abandon des surcharges qui utilisaient lesScalingParams
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 deFoundation.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 deFoundation.Lazy
au lieu duScalingLazyColumn
de Material. (Ic6caa) - Ajout de paramètres
fromDate/toDate
facultatifs à notre version de démonstration deDatePicker
. (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 avecBasicText
. (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 utiliserrememberUpdatedState
afin que l'état se mette à jour si le lambdaonContentReady
. (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 dansTimeText
. Cela modifie la valeur par défaut des paramètrestimeSource
dans l'APITimeText
. (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 deautoCentering 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. PourScalingLazyListAnchorType.ItemStart
, la marge intérieure supérieure sera calculée correctement. PourScalingLazyListAnchorType.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
traiteLazyListState
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 utiliserrememberUpdatedState
afin que l'état se mette à jour si le lambdaonContentReady
. (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
- Version stable de Compose pour Wear OS 1.1.0 (en savoir plus)
- Pour obtenir la liste des principales modifications apportées dans Wear Compose 1.1, consultez les notes de version de Compose pour Wear OS 1.1 Beta01.
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 deautoCentering 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. PourScalingLazyListAnchorType.ItemStart
, la marge intérieure supérieure sera calculée correctement. PourScalingLazyListAnchorType.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
traiteLazyListState
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
etOutlinedCompactChip
. (I8249c) - Nous avons corrigé un bug dans
Modifier.scrollAway
pour faire en sorte que, si la valeuritemIndex
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 lescrollState
à 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
etModifier.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é commecenterItem
. (I30709, b/254257769) - Nous avons corrigé un bug dans
ScalingLazyListState.layoutInfo.visibleItemsInfo
qui renvoyait des décalages incorrects lors de l'initialisation deScalingLazyColumn
. 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 queScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
confirme que l'initialisation deScalingLazyColumn
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 pourChip/ToggleChip
afin qu'ils soient alignés sur les dernières spécifications de l'expérience utilisateur. La valeur deChipDefaults.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 composablesOutlinedChip
etOutlinedButton
, qui fournissent unChip/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 % deonSurfaceVariant
(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 queTalkback
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 dePositionIndicator
à l'écran. CurvedText/TimeText
: ajout deModifier.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 pourColumn
,LazyColumn
etScalingLazyColumn
).ScrollAway
est généralement utilisé pour faire disparaîtreTimeText
de la vue lorsque l'utilisateur commence à faire défiler une liste d'éléments vers le haut.CurvedText/TimeText
:fontFamily
,fontStyle
etfontSynthesis
sont désormais pris en charge dansCurvedTextStyle
et peuvent être utilisés pourcurvedText
etbasicCurvedText
.CurvedText/TimeText
: ajout defontWeight
au constructeur et à la méthode de copie pourCurvedTextStyle
.ToggleControls
: ajout des boutons d'activationCheckbox
,Switch
etRadioButton
animés à utiliser avecToggleChip
etSplitToggleChip
. Ils peuvent être utilisés à la place des icônes statiques fournies parToggleChipDefaults
(switchIcon
,checkboxIcon
etradioIcon
).- 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
etfontSynthesis
) peuvent désormais être spécifiés directement en tant que paramètres decurvedText
(Idc422).
Correction de bugs
curveText
etbasicCurvedText
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
lorsquePickerState.repeatedItems = false
permet d'ajouter un paramètre explicite "autoCentering" sur laScalingLazyColumn
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
etfontSynthesis
sont désormais pris en charge dansCurvedTextStyle
et peuvent être utilisés pourcurvedText
etbasicCurvedText
. 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 avecModifier.offset
(auparavant, il était en pixels). Nous l'avons également refactorisé en tant queLayoutModifier
pour plus d'efficacité. (I9f94b) - Dans la nouvelle API pour les boutons d'activation et de désactivation, nous avons renommé
RadioButton’s circleColor
enringColor
. (I28fa9) - Nous avons ajouté des boutons d'activation
Checkbox
,Switch
etRadioButton
animés à utiliser avecToggleChip
etSplitToggleChip
. Ils peuvent être utilisés à la place des icônes statiques fournies parToggleChipDefaults
(switchIcon
,checkboxIcon
etradioIcon
). (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 pourColumn
,LazyColumn
etScalingLazyColumn
).ScrollAway
est généralement utilisé pour faire disparaîtreTimeText
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 dePositionIndicator
à 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
etStepper
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
etButtons
, ainsi que de nouveaux composablesOutlinedChip
etOutlinedButton
qui fournissent unChip/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 comprenantToggleChips
. (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 deChipDefaults.gradientBackgroundChipColors
a été mise à jour pour démarrer à 50 % de la primaire au lieu de 32,5 %. La valeur deCardDefaults.cardBackgroundPainter
a été mise à jour pour démarrer à 30 % de la primaire et se terminer à 20 % deonSurfaceVariant
(auparavant 20 % à 10 % deonSurfaceVariant
).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èreChip/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 deChipDefaults.gradientBackgroundChipColors
a été mise à jour pour démarrer à 50 % de la primaire au lieu de 32,5 %. La valeurCardDefaults.cardBackgroundPainter
a été mise à jour pour démarrer à 30 % de la primaire et se terminer à 20 % deonSurfaceVariant
(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èreChip/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 uneScalinglazyColumn
combine des composantsListHeader()
etChip()
. En effet, la largeur a tendance à augmenter/réduire à mesure que les élémentsListHeader
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 lesscalingParams
deScalingLazyColumn
. (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 avecCompactChips
, 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éfinissezhorizontalAlignment = 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 defillMaxWidth
par défaut. Ils s'adapteront plutôt à leur contenu. Pour conserver le comportement précédent, ajoutez simplementmodifier = Modifier.fillMaxWidth()
. (I60a2c, b/232206371)
Correction de bugs
- Le constructeur de
CurvedTextStyle
qui utilise unTextStyle
respecte désormais également lafontWeight
(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
etPicker
. (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
etToggleButton
: "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
etTitleCard
, 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
, aveccurvedRow
etcurvedColumn
, afin de disposer des composants autour d'appareils arrondis. Consultez la section Wear Component Foundation ci-dessous pour en savoir plus surCurvedLayout
etCurvedModifier
(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
etVignette
, 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'uneCurvedLayout
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 deCurvedModifier
.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 dansCurvedLayout
pour assurer une expérience optimale, par exemple la possibilité de spécifier le positionnement et d'utiliserCurvedModifiers
. 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
. SicurvedComposable
contient plusieurs éléments, ils seront superposés (comme une "Box"). Pour placer plusieurs composables sur une courbe, encapsulez chacun d'eux aveccurvedComposable
.curvedRow et curvedColumn : similaires à "Row" et "Column",
curvedRow
etcurvedColumn
peuvent être imbriquées dans uneCurvedLayout
pour afficher les éléments selon les besoins. Pour unecurvedRow
, vous pouvez spécifier la direction de la mise en page angulaire et l'alignement radial. Pour unecurvedColumn
, 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
etToggleButton
, à titre indicatif. (I57cab) - Ajout d'un paramètre activé à
AppCard
etTitleCard
. 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
etTitleCard
. (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 chargeLayoutDirection
. Elle est héritée lorsqu'elle n'est pas spécifiée. (If0e6a) - Nous avons remplacé
autoCenter: Boolean
parautoCenter: AutoCentringParams
afin de résoudre un problème d'API lié à laScalingLazyColumn
. (Ia9c90) - Nous avons remplacé le nom de
iconTintColor
et detoggleControlTintColor
pariconColor
ettoggleControlColor
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 quetimeColor
etappColor
soient définies par défaut surcontentColor
. 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
etStepper
. 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é decontentPadding
et deautoCenteringPadding
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 surchargeSwipeToDismissBox
récemment ajoutée. (I682a0) - Afin de mieux prendre en charge i18n et a11y, nous avons modifié
ToggleChip
etSplitToggleChip
afin qu'elles n'aient plus de valeur par défaut pour l'emplacementtoggleControl
. 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()
etRadioIcon()->radioIcon()
: permettent d'encourager les développeurs à créer leurs propres composablesIcon()
avec un ensemble decontentDescription
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, carSwipeToDismissBoxState
peut être hissé et utilisé pour initialiserSwipeDismissableNavHostState
etModifier.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
pourSwipeToDismiss
. 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 lesCurvedModifiers
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 ajoutantPageIndicator
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ètreonDismissed
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 deTimeText
. (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éthodePickerDefaults.flingBehaviour()
pour permettre la configuration du comportement de déplacement, comme l'ajout de la compatibilité avec RSB.PickerState
implémente maintenant l'interfaceScrollableState
. (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éscurvedRow
etcurvedColumn
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) etcurvedText
(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 deSwipeDismissTarget
.Original parSwipeToDismissValue.Default
et deSwipeDismissTarget.Dismissal
parSwipeToDismissValue.Dismissed
. Nous avons également déplacéSwipeToDismissBoxDefaults.BackgroundKey
etSwipeToDismissBoxDefaults.ContentKey
versSwipeToDismissKeys.Background
etSwipeToDismissKeys.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 deExperimentalWearMaterialApi
àModifier.swipeable
etSwipeableState
, qui sont maintenant utilisés en interne.SwipeToDismissBoxState
compte désormais des membres decurrentValue
,targetValue
,isAnimationRunning
etsnapTo
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 deSwipeableState
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 nouveauToggleDefaults.splitToggleChipColors()
pour prendre en charge le nouveau jeu de couleurs. Nous avons également simplifié les méthodes detoggleChipColors()
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 queDatePicker
, 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
etVignette
. Nous utilisons maintenantScalingLazyColumn
au lieu deColumn
, ce qui signifie que le contenu de la "Dialog" se trouve désormais dansScalingLazyListScope
(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
etSplitToggleChip
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 deScalingLazyListState.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'uneScalingLazyColumn
de "autoCentering" au-dessus deinitialCenterItemIndex/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éfinissezflingBehavior = 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 dereverseLayout
, deviewportSize
et de propriétés d'orientation correspondant à celles deLazyListLayoutInfo
. (I4f258, b/217917020)ScalingLazyColumn
dispose maintenant d'une propriétéuserScrollEnabled
qui correspond à celle deLazyList
. (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 deLazyColumn
. Si vous souhaitez rétablir l'ancien comportement, transmettezModifier.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 parScalingLazyListState.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 deScalingLazyColumn
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 deviewportVerticalOffsetResolver
. (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 deLazyColumn
. Si vous souhaitez rétablir l'ancien comportement, transmettezModifier.fillMaxSize()
à laScalingLazyColumn
. 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
à laScalingLazyColumn
. 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 êtreAlert
ouConfirmation
(renommé à partir des composants précédentsAlertDialog
etConfirmationDialog
).Alert
,Confirmation
etDialog
se trouvent tous dans le packageandroidx.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 paronSurfaceVariant
. (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'unPickerState
. (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èqueWear.Compose.Navigation
. (If9028, b/212739653) - Ajout de
Modifier.onRotaryScrollEvent()
etModifier.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 à laScalingLazyList
pour vérifier si le centre (ScalingLazyListAnchorType.ItemCenter
) ouEdge
(ScalingLazyListAnchorType.ItemStart
) doit être aligné sur la ligne centrale de la fenêtre d'affichage.Par conséquent,
ScalingLazyListItemInfo.offset
etScalingLazyListItemInfo.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 auanchorType
de la liste. Par exemple, pour uneScalingLazyColumn
avec unanchorType
deItemCenter
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
etcenterItemOffset
. (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 parInlineSlider
etStepper
). (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 vieCREATED
, provoquant uneIllegalStateException
. Ce correctif était une condition préalable à la mise à jour de la dépendance denavigation-compose
vers2.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
oushrinkResources=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
de23
. (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" parcontent
. 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 debodyColor
parcontentColor
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 deNavigator
qui seront ajoutées auNavController
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.
- Un composable
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 chargerememberSaveable
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
etGestureScope
sont obsolètes et ont été remplacés parperformTouchInput
etTouchInjectionScope
. (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)
- Réduction de l'espace de "TitleCard" entre le titre et le corps de 8 à 2 dp.
- Modification de la police de l'en-tête de "TitleCard" de "body" à "title3".
- 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érationSwipeDismissTarget
, qui fait partie de l'APISwipeToDismissBox
. (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()
parCardDefaults.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é.