Compose Material 3
androidx.compose.material3
(Voir la documentation de référence de l'API pour tous les packages Compose)
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
12 décembre 2024 | 1.3.1 | - | - | 1.4.0-alpha05 |
Structure
Compose est une combinaison de sept identifiants de groupe Maven dans androidx
. chacun contenant un sous-ensemble ciblé de fonctionnalités. Chaque sous-ensemble est associé à son propre ensemble de notes de version.
Ce tableau décrit les différents groupes et renvoie à chaque ensemble de notes de version.
Groupe | Description |
---|---|
compose.animation | Créer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur. |
compose.compiler | Transformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin. |
compose.foundation | Conception d'applications Jetpack Compose avec des composants prêts à l'emploi et extension de la base pour créer vos propres éléments de système de conception. |
compose.material | Création d'UI Jetpack Compose avec des composants Material Design prêts à l'emploi. Il s'agit du point d'entrée de niveau supérieur de Compose, conçu pour fournir des composants qui correspondent à ceux décrits sur www.material.io. |
compose.material3 | Création d'UI Jetpack Compose grâce aux composants Material Design 3, la nouvelle évolution de Material Design. Material 3 inclut des thématisations et des composants mis à jour ainsi que des fonctionnalités de personnalisation Material You telles que les couleurs dynamiques. Material 3 est conçu pour correspondre au nouveau style visuel et à l'UI du système Android 12. |
compose.runtime | Composants fondamentaux du modèle de programmation et de la gestion d'état de Compose, et environnement d'exécution principal du plug-in Compose Compiler à cibler. |
compose.ui | Composants fondamentaux de l'interface utilisateur de Compose nécessaires pour interagir avec l'appareil, y compris la mise en page, le dessin et la saisie. |
Déclarer des dépendances
Pour ajouter une dépendance sur Compose, 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.compose.material3:material3:1.3.1" implementation "androidx.compose.material3:material3-window-size-class:1.3.1" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Kotlin
dependencies { implementation("androidx.compose.material3:material3:1.3.1") implementation("androidx.compose.material3:material3-window-size-class:1.3.1") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha04") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
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.
Compose Material3 version commune 1.0
Version 1.0.0-alpha01
17 avril 2024
Publication d'androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
et androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
. La version 1.0.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
Composants sans thème pouvant être utilisés pour créer des composants Material Design:
- Palette tonale
- Icône
- Taille des cibles tactiles
Compose Material3 Adaptive Navigation Suite version 1.0
Version 1.0.0-alpha07
1er mai 2024
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
. La version 1.0.0-alpha07 contient ces commits.
Modifications apportées à l'API
- Rendre les API de la suite de navigation non expérimentales (If62af)
Correction de bugs
- Utiliser des marges intérieures pour le contenu par défaut (50266df)
Version 1.0.0-alpha06
17 avril 2024
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
. La version 1.0.0-alpha06 contient ces commits.
Modifications apportées à l'API
- Ajoutez
containerColor
etcontentColor
àNavigationSuiteScaffoldDefaults
. (I64e3a, b/331993720) - Ajout de la fonction
itemColors
àNavigationSuiteDefaults
. (Idf719, b/328480012) - Rend
NavigationSuiteScope
scellé. (Iefa57)
Version 1.0.0-alpha05
6 mars 2024
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
. La version 1.0.0-alpha05 contient ces commits.
Modifications apportées à l'API
- Rendre le constructeur
NavigationSuiteItemColors
public. (Ica83a, b/324886877)
Version 1.0.0-alpha04
21 février 2024
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
. Liste des commits de la version 1.0.0-alpha04
Mises à jour des dépendances
- Mettez à jour les dépendances adaptatives Material3 avec les nouveaux chemins de module. (Ibc421)
- Passez à la version du gestionnaire de fenêtres des classes de taille de fenêtre. (I3794d)
Version 1.0.0-alpha03
7 février 2024
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
. Liste des commits de la version 1.0.0-alpha03
Modifications apportées à l'API
- Modification du nom de package en navigationsuite à partir de navigation-suite (I7eff7)
- Les composants Material3 qui exposent un
MutableInteractionSource
dans leur API ont été mis à jour pour exposer désormais unMutableInteractionSource
nullable qui est défini par défaut sur "null". Aucune modification sémantique n'est apportée ici: transmettre la valeur null signifie que vous ne souhaitez pas hisser l'MutableInteractionSource
, et qu'elle sera créée dans le composant si nécessaire. La valeur nulle permet à certains composants de n'allouer jamais deMutableInteractionSource
et à d'autres de ne créer une instance que de manière paresseuse lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas leMutableInteractionSource
que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans vos propres composants. (I41abb, b/298048146)
Version 1.0.0-alpha02
13 décembre 2023
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02
Nouvelles fonctionnalités
- Ajout d'un
NavigationSuiteType
"None" (If8cb1, b/313688598)
Correction de bugs
- Correction du composant de navigation qui remplit tout l'écran lorsque la surface racine contient
modifier.fillMaxSize
. (c9cf250, b/312664933)
Version 1.0.0-alpha01
15 novembre 2023
Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
Compose Material3 Adaptive version 1.0
Version 1.0.0-alpha06
7 février 2024
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
et androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
. Liste des commits de la version 1.0.0-alpha06.
Nouvelles fonctionnalités
- Ajout d'options de comportement supplémentaires pour la navigation vers l'arrière
ThreePaneScaffoldNavigator
. (I858aa) - Ajout de contenu facultatif sur les destinations à l'historique de navigation. (Ibd7e6)
Version 1.0.0-alpha05
24 janvier 2024
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
et androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
. Liste des commits de la version 1.0.0-alpha05
Nouvelles fonctionnalités
- Prise en charge de la prise en compte de l'historique dans la navigation et le calcul des valeurs dans l'échafaudage (I71d46)
Version 1.0.0-alpha04
10 janvier 2024
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
et androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
. Liste des commits de la version 1.0.0-alpha04
Nouvelles fonctionnalités
- Ajout de la prise en charge de l'affichage bord à bord dans les échafaudages de volets (I1b462)
Modifications apportées à l'API
- Déplacement des propriétés de limites de charnière dans Posture vers une liste d'informations sur la charnière (I24f90)
Correction de bugs
- Correction :
AnimatedPane
n'est pas recomposée (c3f573d)
Version 1.0.0-alpha03
13 décembre 2023
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
et androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
. Liste des commits de la version 1.0.0-alpha03
Modifications apportées à l'API
- Remplacez les rôles de l'échafaudage par des alias de
ThreePaneScaffoldRole
. (I65bd1) - Créer une classe de base pour les rôles d'échafaudage (I4784d)
- Suppression du paramètre inutile du contenu de
AnimatedPane
(Ibc73b) - Renomme
collectWindowSizeAsState
et renvoie à la place des valeurs brutes (I480f4)
Version 1.0.0-alpha02
29 novembre 2023
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
et androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02
Modifications apportées à l'API
- Divisez les API de navigation des API d'échafaudage adaptatif. (Ic4045)
- Suppression de la classe
GutterSize
. (I785b3)
Correction de bugs
- Correction des volets qui ne sont pas activés lorsque
AnimatedPane
n'est pas utilisé (d88f181)
Version 1.0.0-alpha01
15 novembre 2023
Publication d'androidx.compose.material3:material3-adaptive:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
API de condition adaptative Material3:
API de directive d'échafaudage de volet adaptatif Material3:
API Material3 pour l'échafaudage de volets adaptatifs:
- API de base de l'échafaudage de volet
Compose Material3 version 1.4
Version 1.4.0-alpha05
12 décembre 2024
Publication d'androidx.compose.material3:material3-*:1.4.0-alpha05
. La version 1.4.0-alpha05 contient ces commits.
Modifications apportées à l'API
- Remplacement du type dans la valeur
WideNavigationRailState.current/target
pour une meilleure lisibilité (I2d6ab) SplitButton
passe de la classe de données à la classe de l'API Shape pour la compatibilité binaire. (I53812)- Ajout d'une API d'info-bulle avec un paramètre
onDismissRequest
afin que les créateurs puissent décider de ce qui se passe lorsqu'un utilisateur clique en dehors de l'info-bulle. Abandon de l'ancienne API qui ne contient pas ce nouveau paramètre. (I99aef) - Remplacement du nom
opticalCentering
parhorizontalCenterOptically
. Rendre le modificateur interne. Remplacez le paramètre de marge intérieure par le décalage de début et de fin maximal. (I0b904) - Modifier
WideNavigationRailState
pour qu'il ait une valeur actuelle/cible, supprimer les énumérations au profit d'un booléen. (Idfa29, b/356039090) - Ajout de
NavigationBarItemComponentOverride
. (I3a06a)
Correction de bugs
- Correction des comportements des barres d'application supérieure et inférieure pour modifier de manière fiable la couleur lorsque le contenu est entièrement défilé. (Idc4e8, b/293665988)
- Les fonctions de comportement de défilement pour les barres d'application supérieure et inférieure renvoient désormais un comportement mémorisé pour améliorer les performances lors des recompositions. (I0fdbe, b/207957336)
- Le paramètre de modificateur est désormais appliqué après les modificateurs internes tels que le comportement de glisser-déposer et la sémantique, au lieu de l'être avant. Cela affecte l'ordre dans lequel les modificateurs sont appliqués. (I8d83f)
- La bottom sheet développée reste développée en cas de changement de taille. (I2870b, b/324934884)
- Correction de l'état de la route et des indicateurs de la barre de navigation pour les propriétés des fenêtres. (Ie674d, b/362539765)
- Déplacez le paramètre de modificateur vers la racine des échafaudages, comme indiqué dans la documentation. Cela permet d'aligner l'implémentation sur M2. (I0235e, b/372311595)
Contribution externe
- Fonction
DatePickerDialog
communisée. (I7dced)
Version 1.4.0-alpha04
13 novembre 2024
Publication d'androidx.compose.material3:material3-*:1.4.0-alpha04
. La version 1.4.0-alpha04 contient ces commits.
Nouveaux comportements
- Modification des couleurs introduites dans aosp/3212478 pour
iconButtonColors
,iconToggleButtonColors
,outlinedIconButtonColors
,outlinedIconToggleButtonColors
etoutlinedIconToggleButtonBorder
. Le comportement maintenant rétabli a été déplacé vers un nouvel ensemble de fonctions appeléesiconButtonVibrantColors
, etc., afin de mettre en avant les couleurs à contraste élevé renvoyées. (Iffd8d)
Nouvelles fonctionnalités
- Introduction du composant
VerticalDragHandle
(I6c770)
Modifications apportées à l'API
DismissibleModalWideNavigationRailDefaults
a été renomméModalWideNavigationRailDefaults
. (I8e877)- Ajout de
NavigationBarComponentOverrides
. (I8a3f3) - Ajout de
NavigationRailComponentOverride
. (I83e13) - Introduction de
WideNavigationRailState
pour gérer le repli/développement du rail, permettre àModalWideNavigationRail
d'être ignoré et supprimerDismissibleModalWideNavigationRail
. (I88568) - Ajoutez les tailles par défaut (xSmall, moyen, grand et xLarge) aux valeurs par défaut du bouton d'activation/de désactivation. (Ie95d1)
- Ajoutez les tailles par défaut (xSmall, moyen, grand et xLarge) aux valeurs par défaut des boutons. (If8b6d)
Correction de bugs
- La couleur de l'icône de suivi du chip de filtre est passée de "Primary" (Principal) à
OnSurfaceContainer
, conformément aux spécifications. Toutes les couleurs de contour du chip sont passées de "Outline" (Contour) à "Outline Variant" (Variante de contour), conformément aux spécifications. (I68bd4)
Version 1.4.0-alpha03
30 octobre 2024
Publication d'androidx.compose.material3:material3-*:1.4.0-alpha03
. La version 1.4.0-alpha03 contient ces commits.
Modifications apportées à l'API
- Le constructeur
SheetState
avec densité a été abandonné au profit des seuils de position et de vitesse. (Ifd16e) - Ajout de
rememberTooltipPositionProvider
contenant une logique de positionnement mise à jour.rememberPlainTooltipPositionProvider
etrememberRichTooltipPositionProvider
sont obsolètes. (Ie66e2) - Les
ModalBottomSheetProperties
supplémentaires permettent de personnaliser les couleurs de la barre d'état et de la barre de navigation. Par défaut, ces éléments sont mis à jour en fonction de la couleur du contenu plutôt que de l'état du thème sombre du système. (Ib874e, b/362539765) - Amélioration de l'expérience de saisie pour les sélecteurs de date: en mode de saisie, le champ de texte de la date est sélectionné pour permettre une saisie de texte immédiate. Cette modification ajoute un paramètre
requestFocus
àDatePicker
etDateRangePicker
. Vous pouvez empêcher la sélection en transmettantfalse
. (I12d09, b/286399710, b/340102743) - Mise en cache des valeurs par défaut de la forme dans l'objet Shape. Définir la forme par défaut sur
@Composable
pour le bouton d'activation/de désactivation. Réduction des formes en une forme par défaut, car les variantes pointent vers le même fichier de jetons. (Iaa014)
Correction de bugs
- Optimisez le comportement de
contentPadding
de l'échafaudage pour éviter de toujours recomposer le contenu du corps lorsquecontentPadding
change. (I8c8e2, b/373904168) TextFieldLabelScope
progress
renommélabelMinimizedProgress
TextFieldLabelPosition
Default
a été renomméAttached
. Les membres de l'interface ont été supprimés. (If75c6)- Correction d'un problème avec
DatePicker
en mode entrée, où des erreurs de validation pouvaient entraîner la modification de la hauteur du composant. (I2e229, b/280462363) - Faire en sorte que le curseur de matériau change de valeur lorsque des touches de commande sont enfoncées. (I1c442)
Version 1.4.0-alpha02
16 octobre 2024
Publication d'androidx.compose.material3:material3-*:1.4.0-alpha02
. La version 1.4.0-alpha02 contient ces commits.
Modifications apportées à l'API
- Mises à jour des sélecteurs de date pour garantir une utilisation cohérente des paramètres régionaux dans
DatePicker
etDateRangePicker
lors de la définition d'un paramètre régional directement via unDatePickerState
ou unDateRangePickerState
. Notez que lorsque vous définissez les paramètres régionaux directement sur l'état, il vous incombe de vous assurer que le titre et le titre principal sont localisés en conséquence, car leur texte par défaut sera toujours appliqué en fonction des paramètres régionaux par défaut de la plate-forme. (I37073, b/326490763, b/321657276) SheetState.isAnimationRunning
est désormais exposé. (I9a3d7)DatePickerColors
a désormais la priorité sur les couleurs en conflit définies dans les styles de texte de la typographie du thème. Notez également que cette mise à jour ajuste la position du paramètrecolor
dans les fonctions du sélecteur de date et introduit un paramètrecontentColor
pour personnaliser les couleurs du texte de l'en-tête et du titre. (I30d03, b/347031394)- Renommez
SplitButton
enSplitButtonLayout
et supprimez les API de variantes de couleurSplitButton
. Les variantes seront obtenues en réutilisant les variantes de boutons fournies parSplitButtonDefaults
. (I44c36) ModalBottomSheet
dispose désormais du paramètresheetGestureEnabled
. (I856cb, b/288211587)- Renommage de
standardMotionScheme
etexpressiveMotionScheme
en "standard" et "expressif". Les deux fonctions sont désormais accessibles via l'objet compagnonMotionScheme
en appelantMotionScheme.standard()
etMotionScheme.expressive()
. (Iceccf) - Ajout du paramètre
maxWidth
aux info-bulles simples et enrichies. La valeur par défaut est de 200 dp pour les info-bulles simples et de 320 dp pour les info-bulles enrichies. (I30ce9)
Correction de bugs
DatePicker
etDateRangePicker
mettent désormais correctement à jour le mois affiché lorsqu'ils sont définis via ledisplayedMonthMillis
de leur état. (If9e47, b/333414302)- Le contenu
ModalBottomSheet
est désormais déplacé hors de la barre d'état. (I5114c, b/321877275, b/336962418, b/342093067) - [Bottom Sheet] Rétablir la priorité du rappel sur
PRIORITY_DEFAULT
pour permettre au clavier IME de se fermer en premier. (I447fb) - Correction des plantages dans
DatePicker
etDateRangePicker
lorsque l'année minimale sélectionnable est définie sur une année future. (I78656, b/319395747) - Correction d'un problème de sélecteur de date pour mettre à jour l'UI lorsqu'une instance
SelectableDates
mise à jour est appliquée. (Iad59a, b/290135807, b/339898760)
Version 1.4.0-alpha01
2 octobre 2024
Publication d'androidx.compose.material3:material3-*:1.4.0-alpha01
. La version 1.4.0-alpha01 contient ces commits.
Nouveaux comportements
- La bibliothèque n'ajoute plus de dépendance à
material-icons-core
. Si votre projet s'y appuyait, vous devrez ajouter cette dépendance explicitement dans vos fichiersbuild.gradle[.kts]
. (I735ff, b/349894318) - La couleur du libellé actif de
NavigationBarItem
etNavigationRailItem
est passée deonSurface
àsecondary
afin d'améliorer l'usabilité, le contraste des couleurs et la cohérence au sein du système (Ibc297). Pour revenir au comportement précédent, copiez les couleurs par défaut et remplacezselectedTextColor
parMaterialTheme.colorScheme.onSurface
. - Les composants Material 3 utilisent désormais le nouveau
MotionScheme
pour définir leur mouvement. (Ie0f93) - Modifications de mouvement de l'indicateur de progression circulaire indéterminé (I3c07e)
- Modifiez
OutlinedIconButtonColors
etOutlinedIconToggleButtonColors
pour améliorer le contraste des couleurs. (I2743d) - Mise à jour de la couleur du conteneur et du contenu pour
FilledIconToggleButtonColors
etFilledTonalIconToggleButtonColors
. (Ic5d0f) - La couleur de bordure de
OutlinedButton
a été remplacée deoutline
paroutlineVariant
. (057f00)
Modifications apportées à l'API
- Ajout d'un paramètre
reverseLayout
facultatif à la fonctionenterAlwaysScrollBehavior
deTopAppBar
pour mieux prendre en charge le contenu défini avec unreverseLayout
. (I4e0e5) SegmentedButton
est désormais compatible avec l'argumentcontentPadding
. (I5ad91, b/358414376)PullToRefreshState
n'a plus d'implémentation par défaut pourisAnimating
. (I6a593)- Ajout de nouvelles surcharges pour
TextField
etOutlinedTextField
Material qui utilisentTextFieldState
. Ajout d'API de boîte de décoration compatibles avecTextFieldDecorator
. (If13a1) - Ajout d'un paramètre pour contrôler le
labelPosition
du champ de texte. L'utilisation dealwaysMinimize
permet au modèle d'UI d'afficher simultanément un libellé et un espace réservé dans un champ de texte, même lorsque le champ n'est pas sélectionné. (I1ef2c) - Ajout de Material
SecureTextField
etOutlinedSecureTextField
pour les champs de saisie de mot de passe. (I7e22d) - Ajout d'un champ d'application aux libellés des champs de texte pour interroger la progression de l'animation. (If5ec8)
- Ajout de la prise en charge de
MotionEvent.CLASSIFICATION_DEEP_PRESS
aux info-bulles. (I62e6a) isAfternoon
deTimePickerState
est désormais une valeur d'extension au lieu d'une variable dans l'interface, et a été renomméisPm
. (I89a97)- Mise à jour de la classe de typographie pour prendre en charge les échelles de type en gras. (Ifa13c)
- Ajout de l'API
ModalWideNavigationRail
et renommage des APIModalExpandedNavigationRail
enDismissibleModalWideNavigationRail
. (Ic9118) - Mise à jour de
FloatingAppBarScrollBehavior
pour calculer automatiquement lescreenOffset
et ne pas nécessiter de@Composable
. (Idf349) - Mise à jour de l'API
LoadingIndicator
pour corriger le nom de son objet par défaut. Ajout d'une constanteLoadingIndicatorElevation
auPullToRefresh
. (I1d72b) - Mise à jour de l'API
LoadingIndicator
pour corriger le nom de son objet par défaut. Ajout d'une constanteLoadingIndicatorElevation
auPullToRefresh
. (I1d72b) - Ajout de paramètres
amplitude
etwaveSpeed
aux variations indéterminées deLinearWavyProgressIndicator
etCircularWavyProgressIndicator
. (I2a0c5) - Prise en charge de la modification de la forme d'un bouton d'activation/de désactivation d'icône en fonction de son état (activé ou désactivé). (Ibc781)
- Mise à jour de la classe de typographie pour prendre en charge les échelles de type en gras. (Ifa13c)
- La forme
SplitButton
se transforme en fonction de l'état par défaut / appuyer. Suppression de l'APIAnimatedTrailingButton
, car l'APITrailingButton
peut offrir les mêmes personnalisations. (I95066) - Ajout d'un modificateur pour animer l'affichage et le masquage du bouton d'action flottant, par exemple lorsque le contenu défile. (I8338d)
- Ajout de formes et d'espacement de groupe de boutons connectés à
ButtonGroupDefaults
à utiliser dans un exemple. (I68e30) - Le bouton fractionné ajoute un remplissage horizontal pour le bouton de fin et active le centrage optique calculé à partir des différences de coin de début et de fin (I122e2).
- Introduction d'une nouvelle
MotionScheme
Material pour permettre de définir un schéma pour le mouvement du composant. Le schéma est défini viaMaterialTheme
. (Id50c2)
Correction de bugs
- Appliquez l'index de balayage de focus approprié aux composables enfants
Scaffold
. L'ordre esttopBar
,bottomBar
, bouton d'action flottant, contenu, barre de notification. (I5936b) - Correction d'un problème au niveau de
DatePicker
etDateRangePicker
, où dans certaines langues et certains formats de skeleton, certains éléments de date (par exemple, les noms de mois) ne commençaient pas par une lettre majuscule. (I1430f) - Intégration des jetons de composants du bouton d'action flottant et du menu du bouton d'action flottant (mises à jour visuelles mineures des marges intérieures et du texte) (Ib57f3)
ModalBottomSheet
est désormais le premier élément dans l'ordre de balayage sémantique, suivi du scrim. (I436f9, b/358594665)- Correction du fait que la barre d'application inférieure ne disparaît pas complètement lorsque vous faites défiler l'écran sous la pilule de navigation en mode bord à bord (I3ee21)
Compose Material3 version 1.3
Version 1.3.1
30 octobre 2024
Publication d'androidx.compose.material3:material3-*:1.3.1
. La version 1.3.1 contient ces commits.
Correction de bugs
DatePicker
etDateRangePicker
mettent désormais correctement à jour le mois affiché lorsqu'ils sont définis via ledisplayedMonthMillis
de leur état. (If9e47, b/333414302)- Correction des plantages dans
DatePicker
etDateRangePicker
lorsque l'année minimale sélectionnable est définie sur une année future. (I78656, b/319395747) - Correction d'un problème de sélecteur de date pour mettre à jour l'UI lorsqu'une instance
SelectableDates
mise à jour est appliquée. (Iad59a, b/290135807, b/339898760) - Remplacez la priorité de rappel utilisée par les bottom sheets par
PRIORITY_DEFAULT
pour permettre au clavier IME de se fermer en premier. (I447fb)
Version 1.3.0
4 septembre 2024
Publication d'androidx.compose.material3:material3-*:1.3.0
. La version 1.3.0 contient ces commits.
Changements importants depuis la version 1.2.0
Principales fonctionnalités de la version 1.3.0
Nouveaux composants Material Design 3
- Carrousel
HorizontalMultiBrowseCarousel
etHorizontalUncontainedCarousel
Améliorations apportées aux composants Material Design 3 existants.
- [
ModalBottomSheet
] est désormais compatible avec la prévisualisation du Retour sur U+ (Iccf32, b/281967264, b/304850357) - [
SearchBar
] La prévisualisation du Retour est désormais compatible avec U+ (I657f8) - Le panneau de navigation (
ModalDrawerSheet
etDismissibleDrawerSheet
) est désormais compatible avec la prévisualisation du Retour sur U+ (Ie5b0b) DropdownMenu
accepte désormais la couleur, la forme, l'élévation et la bordure personnalisées. (I8e981,b/289554448, b/301887035, b/283654243)- Mise à jour du curseur pour améliorer l'accessibilité en ajoutant un indicateur de pause et d'espace. (I3058e)
- Mise à jour de
ProgressIndicator
pour améliorer l'accessibilité en ajoutant un indicateur d'espace et d'arrêt. (I21451) - Ajout d'un curseur par défaut pour l'info-bulle enrichie, prise en charge du curseur personnalisé à dessiner avec l'ancre
LayoutCoordinates
. (Ifd42c) Modifications importantes - Nouvelles API de rafraîchissement par balayage :
PullToRefreshState
simplifié pour utiliser des valeurs fractionnaires au lieu d'unités dp.- L'état
isRefreshing
est contrôlé par l'utilisateur, et non parPullToRefreshState
. - Séparation de la connexion de défilement imbriquée de
PullToRefreshState
. Il est géré par le nouveauPullToRefreshBox
ouModifier.pullToRefresh
. - Cette mise à jour est une modification destructive des API expérimentales précédentes. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifications visuelles importantes
- Mettez à jour la superposition de l'état de focus sur 0,1 f pour garantir un contraste des couleurs suffisant. (I7ea77)
- Petits ajustements des couleurs par défaut de la surface et de l'arrière-plan dans
lightColorScheme
etdarkColorScheme
. (I9db52) - Mise à jour des couleurs du curseur et de
ProgressIndicator
pour respecter les nouvelles spécifications de contraste non textuel. (I26807) - Les variantes
SurfaceContainer
sont désormais utilisées par les composants. Les composants qui calculaient officiellement la couleur avecSurface
etTonalElevation
utilisent désormais des rôlesSurfaceContainer
par défaut, qui ne sont pas affectés par l'élévation tonale. (b/304584161) - Les rôles de référence de la surface et du conteneur de surface ont été légèrement ajustés, ce qui offre une teinte plus prononcée dans les thèmes clair et sombre. (I677a5)
- Passage des API expérimentales en version stable.
- Amélioration des performances
Version 1.3.0-rc01
21 août 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-rc01
. La version 1.3.0-rc01 contient ces commits.
Correction de bugs
ModalBottomSheet
est désormais le premier élément dans l'ordre de balayage sémantique, suivi du scrim. (I436f9, b/358594665)
Version 1.3.0-beta05
24 juillet 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-beta05
. La version 1.3.0-beta05 contient ces commits.
- Correction d'un problème où le contenu
BottomSheet
était manquant ou coupé sur Android N et O (a10a2d) - Augmentation des limites sémantiques du curseur afin que
TalkBack
affiche correctement les indicateurs de focus autour des curseurs. (0b5a1d)
Version 1.3.0-beta04
26 juin 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-beta04
. La version 1.3.0-beta04 contient ces commits.
Version 1.3.0-beta03
12 juin 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-beta03
. La version 1.3.0-beta03 contient ces commits.
Contribution externe
- Rendre
androidx.compose.material3.DropdownMenu
disponible à partir d'un ensemble de sources commun. (If62c0)
Version 1.3.0-beta02
29 mai 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-beta02
. La version 1.3.0-beta02 contient ces commits.
Modifications apportées à l'API
Modifier.pullToRefreshIndicator
est compatible avec l'élévation. Mettez à jour les API Pull To Refresh pour que l'activation soit un booléen, au lieu d'un lambda. Prise en charge de l'alignement du contenu dansPullToRefreshBox
(I75679)- Faire de
TooltipScope
une interface scellée et créer une implémentation interne à utiliser dansTooltipBox
et Label. (I3833e) - Ajout de deux nouveaux modificateurs à
CarouselItemScope
,maskClip
etmaskBorder
, pour ajouter facilement une forme et une bordure à n'importe quel élément de carrousel (Id67a1) TimePickerState
est désormais une interface et permet de régler l'heure. (I88546)- Mise à jour de l'API pour styliser les liens: déplacement de
TextLinkStyles
versTextStyle
et suppression deTextDefaults
de Material. (I5477b)
Correction de bugs
- Les icônes de barre d'état et de navigation
ModalBottomSheet
répondent désormais à l'état du thème sombre. (Ie1fe7, b/338342149) - Ajout de sémantique de fermeture de la feuille au scrim
ModalBottomSheet
. (0e61cb,b/328801864)
Contribution externe
- Rendre
androidx.compose.material3.AlertDialog
disponible à partir de l'ensemble de sources commun (Ia33f5) - Rendre
ModalBottomSheet
disponible à partir de l'ensemble de sources commun (Id7cc7)
Version 1.3.0-beta01
14 mai 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-beta01
. La version 1.3.0-beta01 contient ces commits.
Modifications apportées à l'API
- Utilisation de
DpSize
au lieu deCaretProperties
. Suppression deCaretProperties
. Remplacement du nomCaretScope
parTooltipScope
. (Id9a76) - Mise à jour de l'API pour obtenir des liens de style Material dans le texte. Plus précisément, les méthodes de
TextDefaults
ont été supprimées pour la création deLinkAnnotations
thématiques et l'analyse du code HTML avec des liens thématiques. Au lieu de cela, une classeTextLinkStyles
a été ajoutée pour styliser les liens en tant que paramètre du composable Text. (I31b93)
Version 1.3.0-alpha06
1er mai 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha06
. La version 1.3.0-alpha06 contient ces commits.
Modifications destructives
Nouvelles API de rafraîchissement par balayage:
PullToRefreshState
simplifié pour utiliser des valeurs fractionnaires au lieu d'unités dp.- L'état
isRefreshing
est contrôlé par l'utilisateur, et non parPullToRefreshState
. - Séparation de la connexion de défilement imbriquée de
PullToRefreshState
. Il est géré par le nouveauPullToRefreshBox
ouModifier.pullToRefresh
. - Cette mise à jour est une modification destructive des API expérimentales précédentes. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683)
Modifications apportées à l'API
RippleConfiguration#isEnabled
a été supprimé, etLocalRippleConfiguration
a été rendu nullable. Pour désactiver un ondulation, au lieu de fournir unRippleConfiguration
avecisEnabled = false
, fournisseznull
àLocalRippleConfiguration
. (I22725)ModalBottomSheet
dessine plus précisément le masquage sur la barre d'état lorsque l'affichage bord à bord est activé. Le contenu de la bottom sheet modale peut désormais utiliser les marges intérieures de la fenêtre, ce qui permet d'afficher du contenu au-dessus de la barre de navigation. Le paramètreModalBottomSheet
windowInsets
a été renommé encontentWindowInsets
pour spécifier où les encarts seront appliqués. Ils ne sont plus liés à la logique de la fenêtre. Le typecontentWindowInsets
a été remplacé par une fonction qui renvoieWindowInsets
, afin qu'il puisse être résolu dans sa nouvelle fenêtre. (I39630, b/274872542, b/300280229, b/290893168)PrimaryScrollableTabRow
etSecondaryScrollableTabRow
utilisent désormais une mise en page personnalisée au lieu d'une sous-composition, ce qui devrait améliorer les performances. (I991e0)- Les liens textuels ont reçu une option de style pour l'état de pression en plus du style normal, du style en survol et du style en surbrillance. Les méthodes
TextDefaults
disposent chacune d'un argumentpressedStyle
pour cela. (Ic473f, b/139312671)
Correction de bugs
- Les ancrages de glissement du panneau de navigation correspondent désormais à la largeur de
drawerContent
. (Ibc72f, b/245355396) - La marge intérieure supérieure
OutlinedTextField
du libellé tient désormais compte de la taille de police du système. (Idc781) - Emplacement du package
CalendarLocale
corrigé. (Ifa235) - [Prévisualisation du Retour] Mise à jour des animations de prévisualisation du Retour pour utiliser la courbe d'interpolation (0,1, 0,1, 0,1) (I2591a)
Version 1.3.0-alpha05
17 avril 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha05
. La version 1.3.0-alpha05 contient ces commits.
Nouvelles fonctionnalités
SearchBar
etDockedSearchBar
disposent de nouvelles surcharges qui acceptent un paramètre de champ de texte. Cela vous permet de styliser le champ de texte séparément du reste de la barre de recherche, ainsi que de transmettre des champs de texte personnalisés. Le champ de texte de l'implémentation actuelle est disponible en tant queSearchBarDefaults.InputField
. (I50c73, b/275074248, b/278773336, b/326627700)- Le lambda
drawTick
a été ajouté à l'API publique afin de personnaliser les "tic" si nécessaire (I0c048)
Modifications apportées à l'API
- Les liens textuels ont reçu une option de style pour l'état de pression en plus du style normal, du style en survol et du style en surbrillance. (I5f864, b/139312671)
- Mise à jour de
CarouselItemInfo
pour exposer un rectangle de masque par lequel l'élément est rogné (I785d8) - Suppression de
BasicTooltipState
de l'API publique Material 3. Ses fonctionnalités sont combinées àTooltipState
jusqu'à ce que leBasicTooltip
de Foundation soit stabilisé. (Icda29) - Ajout d'un objet
TextDefaults
contenant des méthodes permettant de créer unLinkAnnotation
et d'analyser une chaîne taguée en HTML qui appliqueMaterialTheme
aux liens. (I98532, b/139312671) ExposedDropdownMenuBoxScope
n'autorise plus les sous-classes. Les menus déroulants exposés comportent désormais unMenuAnchorType
qui doit être transmis àmenuAnchor
pour améliorer l'accessibilité. Utilisez cette méthode au lieu de transmettrefocusable
àExposedDropdownMenu
, qui est désormais obsolète.menuAnchor
dispose d'un nouveau paramètre pour contrôler l'état deenabled
. (I55ee6, b/257209915, b/308840226)- Correction de la couleur de la bordure de
OutlinedButton
lorsqu'elle est désactivée. Ajout d'une surchargeButtonDefaults.outlinedButtonBorder("enabled")
qui prend l'état activé. (Ie650b, b/318461363) - Ajout d'une nouvelle classe
CarouselItemInfo
pour aider les clients à obtenir des informations sur les tailles des articles. (I9070c) - Le constructeur
ColorScheme
sans conteneurs de surface est désormais obsolète. Veuillez migrer vers le constructeur qui inclut les conteneurs de surface. (I35c11) - [En surbrillance]
TextFieldDefaults
ContainerBox
a été renomméContainer
. (Ie8d3b)
Correction de bugs
BottomSheetScaffold
ne défilera plus à partir du défilement imbriqué sisheetSwipeEnabled
est défini sur "false". (I5e1c1, b/306464779)- Suppression de certaines annotations
ExperimentalMaterial3Api
OptIn dansIconButtonSamples.kt
. (I111d1)
Version 1.3.0-alpha04
3 avril 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha04
. La version 1.3.0-alpha04 contient ces commits.
Nouvelles fonctionnalités
- Ajout de deux versions expérimentales du carrousel Material 3 :
HorizontalMultiBrowseCarousel
etHorizontalUncontainedCarousel
(I88d64) - Mise à jour du panneau de navigation Compose M3 (
ModalDrawerSheet
etDismissibleDrawerSheet
) pour prendre en charge la prévisualisation du Retour sur U+ en tant que fonctionnalité activable (Ie5b0b) - Ajout d'une nouvelle API dans Icon pour permettre de transmettre la teinte de couleur en tant que lambda afin d'éviter la recomposition. (I5b5a2)
- Les API de la barre d'application supérieure sont désormais compatibles avec les hauteurs personnalisées pour les sections fixes et réductibles. (Ib8b0c, b/323403446)
Modifications apportées à l'API
- Les API de la barre d'application supérieure sont désormais compatibles avec les hauteurs personnalisées pour les sections fixes et réductibles. Correction d'un problème qui entraînait la recomposition trop fréquente des barres d'application supérieures en une ligne lors du défilement du contenu. Correction d'un problème qui entraînait le troncage des titres par
MediumTopAppBar
sur les appareils avec des paramètres de police/d'affichage de grande taille. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676) SegmentedButton
et les API associées sont désormais stables (I8a158)SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
etSwipeToDismissBoxValue
sont désormais marqués comme stables. (I5f000)- Suppression des énumérations et API
DismissDirection
etDismissValue
obsolètes. (I89ccd) - Ajout d'une balise expérimentale à l'objet compagnon
CarouselState
du carrousel. (I94154) - Abandon de
LocalMinimumInteractiveComponentEnforcement
et introduction deLocalMinimumInteractiveComponentSize
pour le remplacer. (I7a7ac) - Le constructeur
SearchBarColors
est désormais public. (I769ca) - Ajout d'un paramètre
gesturesEnabled
àSwipeToDismissBox
. (Idc59f, b/324170119) - Suppression des API de champ de texte marquées comme obsolètes et expérimentales. (I1305f)
Version 1.3.0-alpha03
20 mars 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha03
. La version 1.3.0-alpha03 contient ces commits.
Modifications visuelles destructives
- Mettez à jour la superposition de l'état de focus sur 0,1f pour garantir un contraste des couleurs suffisant. (I7ea77)
- Petits ajustements des couleurs par défaut de la surface et de l'arrière-plan dans
lightColorScheme
etdarkColorScheme
. (I9db52)
Nouvelles fonctionnalités
- Ajout de paramètres pour personnaliser
ExposedDropdownMenu
. En particulier, les menus comportent désormais un paramètrefocusable
(true
par défaut) qui doit être défini surfalse
lorsque vous travaillez avec des champs de texte modifiables. (I4184c, b/323694447, b/278609042)
Modifications apportées à l'API
- L'option
ScaffoldSubcomposeInMeasureFix
a été supprimée. (Ie2a4b) NavigationRailItemColors
est désormais marqué comme@Immutable
. (If6112, b/327660613)NavigationBarItemColors
est désormais marqué comme@Immutable
. (I42a30, b/298064514)- Réorganiser les paramètres dans le composable de rail de curseur. (I9f315)
ExposedDropdownMenu
est désormais implémenté à l'aide dePopup
. Le comportement devrait être le même, sauf que les menus sélectionnables avec des champs de texte modifiables peuvent être fermés lorsque vous saisissez du texte au clavier.
Correction de bugs
- Les rôles de référence de la surface et du conteneur de surface ont été légèrement ajustés, ce qui offre une teinte plus prononcée dans les thèmes clair et sombre. (I677a5)
- Mise à jour des couleurs du curseur et de
ProgressIndicator
pour respecter les nouvelles spécifications de contraste non textuel. (I26807) - Mettez à jour la superposition de l'état de focus sur 0,1f pour garantir un contraste des couleurs suffisant. (I7ea77)
- Petits ajustements des couleurs de surface et d'arrière-plan par défaut dans
lightColorScheme
etdarkColorScheme
. (I9db52)
Version 1.3.0-alpha02
6 mars 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha02
. La version 1.3.0-alpha02 contient ces commits.
Modifications apportées à l'API
- Rendre les états des curseurs stables à nouveau. Réactivation de
State.onValueChangeFinished
en tant que valeur. Encapsulation deonValueChangeFinished
dans unrememberUpdatedState
. (I82ab2, b/322269951) - Les composants de navigation utilisent désormais les nouveaux rôles
SurfaceContainer
.DrawerDefaults
fournit désormais des attributsstandardContainerColor
etmodalContainerColor
distincts.DrawerDefaults.ModalDrawerElevation
est désormais0.dp
. (I7fbac) - Suppression de
@Stable
des états deSlider
, car nous remplaçonsstate.onValueChangeFinished
parvar
. (Ied34a, b/322269951) - La spécification d'animation
ModalBottomSheet
etStandardBottomSheet
est désormais unTweenSpec
, mis à jour à partir d'une animation de rétroaction. Cela résout un problème de dépassement visible. Les constructeursSheetState
obsolètes sans densité ont été supprimés. (I7babc, b/285847707)
Correction de bugs
- Les variantes
SurfaceContainer
sont désormais utilisées par les composants. Les composants qui calculaient officiellement la couleur avec Surface etTonalElevation
utilisent désormais des rôlesSurfaceContainer
par défaut, qui ne sont pas affectés par l'élévation tonale. (b/304584161) - Correction d'un bug qui faisait que la couleur du conteneur désactivé et non sélectionné de
ElevatedFilterChip
était noire. (I400e6, b/322407043) - Correction de l'indicateur de progression indéterminée lorsque la progression est de 0 (ID 6582)
- Correction d'un problème lié à
Slider
etRangeSlider
dans la mise en page de droite à gauche (Iab0e1) - Ajout de
SliderRangeTolerance
pour le calcul de la plage du curseur, car l'arrondi de Float peut être inexact. (Ic918a, b/324934900) - Assurez-vous que
DatePickerDialog
affiche ses boutons lorsque vous imbriquez unDateRangePicker
ou que vous affichez un type de sélecteur de date sur de petits écrans avec des polices plus grandes. (Ie4758, b/325107799, b/277768544) Menu
utilise désormais le rôleSurfaceContainer
pour la couleur du conteneur.MenuDefaults.TonalElevation
est désormais0.dp
. (I135b7)TextField
utilise désormais le rôleSurfaceContainerHighest
pour la couleur du conteneur. (I4dced)- Les chips élevés utilisent désormais le rôle
SurfaceContainerLow
(I7cd2f) - La couleur du conteneur
DatePicker
est désormaisSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
est désormais0.dp
. (Ida753) - Met à jour la couleur du conteneur et de la poignée de glissement des Bottom Sheets. (I72a0a)
- La couleur du conteneur
RichTooltip
est désormaisSurfaceContainer
. (Ia8b45) - La couleur du conteneur
SearchBar
est désormaisSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
est désormais0.dp
. (I88604) - Les mises à jour activent le commutateur pour les pistes/icônes désactivées et non sélectionnées afin d'exploiter le rôle de couleur
SurfaceContainerHighest
. (I7687a) - La couleur du conteneur
AlertDialog
est désormaisSurfaceContainerHigh
. (Ie0433) - La couleur du conteneur
BottomAppBar
est désormaisSurfaceContainer
. La couleuronScroll
deTopAppBar
est désormaisSurfaceContainer
. (I41630) - La couleur du conteneur
ElevatedCard
est désormaisSurfaceContainerLow
. Couleur du conteneurFilledCard
deSurfaceContainerHighest
. (I35141) - La couleur du conteneur
ElevatedButton
est désormaisSurfaceContainerLow
. LesFilledIconButton
non sélectionnés ont désormais une couleur de conteneurSurfaceContainerHighest
. (I792c9) - Remplace la couleur du conteneur
TimePicker
et le rôle de couleur du cadran de l'horloge parSurfaceContainerHighest
. (I43b93)
Version 1.3.0-alpha01
21 février 2024
Publication d'androidx.compose.material3:material3-*:1.3.0-alpha01
. Liste des commits de la version 1.3.0-alpha01
Nouvelles fonctionnalités
- Mise à jour de
ModalBottomSheet
Compose M3 pour prendre en charge la prévisualisation du Retour sur U+ (Iccf32, b/281967264, b/304850357) - Mise à jour de
SearchBar
Compose M3 pour prendre en charge la prévisualisation du Retour sur U+ (I657f8) - Mise à jour du curseur pour améliorer l'accessibilité en ajoutant un indicateur de pause et d'espace. (I3058e)
- Mise à jour de
ProgressIndicator
pour améliorer l'accessibilité en ajoutant un indicateur d'espace et d'arrêt. (I21451) - Ajout d'un curseur par défaut pour les info-bulles enrichies. La nouvelle API d'info-bulles enrichies permet désormais de dessiner un curseur personnalisé à l'aide de l'ancre
LayoutCoordinates
. (Ifd42c)
Nouveaux comportements
- Les composants Material ont été migrés pour utiliser les nouvelles API Ripple et ne interrogent plus
RippleTheme
.
Modifications apportées à l'API
drawStopIndicator
est désormais public. (I3f59f)- Marquage de la fonction
formatWithSkeleton
deDatePicker
comme interne (Ic65dc) DropdownMenu
est désormais compatible avec la couleur, la forme, l'élévation et la bordure personnalisées. (I8e981, b/289554448, b/301887035, b/283654243)- Les composants Material3 qui exposent un
MutableInteractionSource
dans leur API ont été mis à jour pour exposer désormais unMutableInteractionSource
nullable dont la valeur par défaut estnull
. Aucune modification sémantique n'est apportée ici: transmettre la valeur null signifie que vous ne souhaitez pas hisser l'MutableInteractionSource
, et elle sera créée dans le composant si nécessaire. La valeur nulle permet à certains composants de n'allouer jamais deMutableInteractionSource
et à d'autres de ne créer une instance que de manière paresseuse lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas leMutableInteractionSource
que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans vos propres composants. (I41abb, b/298048146) - Ajoute
RippleConfiguration
etLocalRippleConfiguration
pour permettre la personnalisation des ondulations par composant / sous-arborescence à l'aide de valeurs fixes. Par exemple, pour modifier la couleur d'un composant que vous ne contrôlez pas ou pour désactiver un effet d'ondulation pour un composant. Dans la plupart des cas, les valeurs par défaut doivent être utilisées: ces API sont une échappatoire pour personnaliser des composants individuels ou des sous-arbres limités. Pour des modifications plus importantes et des systèmes de conception personnalisés, vous devez plutôt créer votre propre ondulation à l'aide decreateRippleModifierNode
. (I7b5d6, b/298048146) - Ajout d'une nouvelle API ripple dans material3, qui remplace
rememberRipple
, désormais obsolète. Ajoute également unCompositionLocal
temporaire,LocalUseFallbackRippleImplementation
, pour rétablir l'utilisation des APIrememberRipple
/RippleTheme
obsolètes pour les composants material3. Cette option sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à faciliter la migration temporaire dans les cas où vous fournissez unRippleTheme
personnalisé. (I34cbc, b/298048146)
Correction de bugs
- Suppression de la sous-composition dans
ModalBottomSheet
pour améliorer les performances. Correction d'un problème de plantage potentiel deModalBottomSheet
dans des scénarios spécifiques en combinaison avecLookaheadScope
. (I2a198) - Suppression de la sous-composition dans
BottomSheetScaffold
pour améliorer les performances. Correction d'un problème qui provoquait le plantage deBottomSheetScaffold
dans des scénarios spécifiques en association avecLookaheadScope
. (Ie6401) - L'alignement du badge est ajusté pour être plus proche du centre du contenu de l'ancrage par rapport à l'angle supérieur droit. (I18a28)
- Correction d'un problème d'accessibilité avec
DateRangePicker
, où le titre du texte "Mois-Année" était transmis comme une action possible au lecteur d'écran, à Switch Access et aux utilisateurs d'Access Voice. (I2ac55) - Correction du bug lié à l'ordre des paramètres
mediumTopAppBarColors
. (Ibe64a)
Version 1.2
Version 1.2.1
6 mars 2024
Publication d'androidx.compose.material3:material3-*:1.2.1
. La version 1.2.1 contient ces commits.
Correction de bugs
- Rendre les états du curseur stables à nouveau. Réactivation de
State.onValueChangeFinished
en tant que valeur. Encapsulation deonValueChangeFinished
dans unrememberUpdatedState
. (Ie8fd0, b/322269951) - Suppression de
@Stable
des états deSlider
, car nous remplaçonsstate.onValueChangeFinished
parvar
. (I82ba1, b/322269951) - Correction des couleurs personnalisées
NavigationBar
à copier à partir des valeurs par défaut. (80a779, b/326894020) - Correction de la régression dans
ExposedDropdownMenu
pour qu'il soit à nouveau possible de mettre en surbrillance (3fcec1, b/323694447) - Correction du problème de mise en cache de la couleur des boutons (3e5bbcb/327371655)
Version 1.2.0
7 février 2024
Publication d'androidx.compose.material3:material3-*:1.2.0
. Liste des commits de la version 1.2.0
Problème connu
- Un bug de rendu d'interopérabilité View-Compose a été introduit dans
PrimaryTabRow
dans le cadre d'une modification visant à améliorer les performances. La solution consiste à utiliserTabRow
avecTabRowDefaults.PrimaryIndicator
.
Changements importants depuis la version 1.1.0
Nouveaux composants Material Design 3
- Balayer pour actualiser
- Bouton segmenté
Améliorations apportées aux composants Material Design 3 existants.
- Barre d'application inférieure (alignement RTL, masquage automatique lors du défilement)
- Mise à jour visuelle des onglets
- Badge (mise à jour de l'alignement)
Passage des API expérimentales en version stable
Améliorations des performances
- Pour en savoir plus, consultez cet article de blog.
Version 1.2.0-rc01
24 janvier 2024
Publication d'androidx.compose.material3:material3-*:1.2.0-rc01
. Liste des commits de la version 1.2.0-rc01
Correction de bugs
- Correction du bug lié à l'ordre des paramètres
mediumTopAppBarColors
. (Ibe64a) - Correction d'un bug introduit dans
1.2.0-beta02
dansCardDefaults.cardColors
qui ne mettait pas à jourcontentColor
en fonction de la valeur du paramètrecontainerColor
. (Iee041, b/319671246) - Correction d'un bug dans
disabledContentColor
introduit dans1.2.0-beta02
et ajout d'une petite optimisation. (I6dda1, b/318428829)
Version 1.2.0-beta02
10 janvier 2024
Publication d'androidx.compose.material3:material3-*:1.2.0-beta02
. Liste des commits de la version 1.2.0-beta02
Bug connu
- Un bug dans
IconButtonColors
attribue par défautdisabledContentColor
à un alpha (0,38f) deLocalContentColor
au lieu de l'contentColor
spécifié par l'utilisateur. Pour contourner ce problème, définissez explicitementdisabledContentColor
. Ce problème sera résolu dans la prochaine version.
Modifications apportées à l'API
- Possibilité d'activer les crochets d'info-bulle pour les API
Tooltip
simples. (Ibf767) SwipeToDismissState
,rememberSwipeToDismiss
etSwipeToDismissValue
sont tous renommés avec_SwipeToDismissBox_
. (I68d6d)
Correction de bugs
- Correction de la valeur de marge intérieure de fin de
ListItem
pour qu'elle corresponde aux spécifications. (Ibd68b, b/305342674) - La couleur du contour de la fiche avec contour est désormais correctement mappée sur
OutlineVariant
. (I75480, b/310979715) - La couleur dynamique est désormais extraite des rôles de couleur définis par le système. Cela améliore le contraste pour le contenu accessible et rapproche davantage la couleur dynamique de la spécification Material. (I1de96)
- Correction de la gestion du Retour
ModalBottomSheet
sur Android T/13 ou version ultérieure lorsqueandroid:enableOnBackInvokedCallback="true"
. (I728dc, b/306196110)
Version 1.2.0-beta01
13 décembre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-beta01
. Liste des commits de la version 1.2.0-beta01
Modifications apportées à l'API
- Marquer
TabIndicatorScope
comme expérimental (I45c88) - Suppression des API expérimentales obsolètes pour l'info-bulle. (I438cb)
- Modifier les nouvelles surcharges
TabRow
pour qu'elles n'utilisent pas de sous-compositions. Cela permet de créer les indicateursTabRow
différemment avec les modificateurs personnalisés fournis. (Ife741) - Abandon des API
DismissDirection
etDismissValue
. Ils ont été fusionnés avecSwipeToDismissValue
, dont les valeurs indiquent à la fois la position et la direction deSwipeToDismissBox
.DismissState.progress
est désormais marqué commeFloatRange
entre0.0
et1.0
. L'économiseur et le constructeur obsolètesDismissState
ont été supprimés. Le composantSwipeToDismiss
, l'état et l'objet par défaut ont été marqués comme expérimentaux. (Ib54f2)
Correction de bugs
- L'indicateur par défaut de
PullToRefresh
est désormais une flèche ouverte au lieu d'un triangle plein. (I67be3)
Version 1.2.0-alpha12
29 novembre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha12
. Liste des commits de la version 1.2.0-alpha12
Modifications apportées à l'API
RangeSlider
utilise désormais une plage Kotlin (par exemple,0f..1f
) au lieu d'une classe de valeursFloatRange
personnalisée.SnapFlingBehavior.kt
utilise désormais également une plage Kotlin. (I025cb)- Marquez les fonctions de fabrique de modificateur comme
@Stable
. (Ib109f)
Version 1.2.0-alpha11
15 novembre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha11
. Liste des commits de la version 1.2.0-alpha11
Nouvelles fonctionnalités
- Implémente
PullToRefreshContainer
etPullToRefreshState
, qui, ensemble, fournissent une implémentation de la fonctionnalité de balayage pour actualiser dans Material3. (I16456, b/261760718)
Modifications apportées à l'API
- Identification de
SwipeToDismissBox
,DismissDirection
etDismissValue
comme étant expérimental. (I517b0) SwipeToDismiss
a été renomméSwipeToDismissBox
. Renommezbackground
enbackgroundContent
etdismissContent
en lambdacontent
de fin. (I7f4d3)- Rendez le constructeur de
ChipElevation
etSelectableChipElevation
public. (Ie0c48, b/308432421) - Ajout de
ModalBottomSheetProperties
. Déplacement desecurePolicy
versModalBottomSheetProperties
. Ajout deisFocusable
etshouldDismissOnBackPress
àModalBottomSheetProperties
. Ces nouveaux booléens permettent de déterminer comment la bottom sheet modale doit gérer les événements IME. (Iea56f, b/278216859) - Mise à jour des états
RangeSlider
etSlider
pour supprimerinitialOnValueChange
, les préfixes initiaux et les kdocs appropriés. (I57d30) - Abandon de la classe
ChipBorder
et de ses appels de fonction associés. Nous vous recommandons d'utiliser directementBorderStroke
à la place. (I89cc2) - Les API d'info-bulle Foundation sont désormais
@ExperimentalFoundationApi
. (I30b0b) TabRow
etScrollableTabRow
ne sont plus obsolètes. Les nouvelles variantes principale et secondaire sont marquées comme expérimentales. (I0def6)- Les chips de filtre et de saisie utilisent désormais directement
BorderStroke
. (I07a8d) SegmentedButton
utilise désormaisBorderStroke
directement. (I89b9b)- La fonction générique
AlertDialog
a été renomméeBasicAlertDialog
, et la fonction précédente est obsolète. (Idbe52) - Renommez les API
SwipeToDismiss
enSwipeDismiss
et définissez les nouvelles APISwipeDismiss
comme stables. (I14cbe) - Ajout de
tonalElevation
etshadowElevation
aux API d'info-bulles. Nous avons également replacé les APITooltipBox
,PlainTooltip
etRichTooltip
en phase expérimentale, car elles ont été publiées par erreur en version stable. (If0f66, b/293939035) - Passage des API expérimentales pour les chips en version stable. (Iea2c3)
- Suppression de l'annotation
@ExperimentalMaterial3Api
dans les fiches cliquables Material3. (I88dbf)
Correction de bugs
- Correction d'un problème qui provoquait le plantage de
SwipeToDismiss
dans certains scénarios avec des mises en page Lookahead et Lazy imbriquées. (Ica8d1, b/297226562)
Version 1.2.0-alpha10
18 octobre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha10
. Liste des commits de la version 1.2.0-alpha10
Modifications apportées à l'API
- Promotion de
Badge
etBadgedBox
en version stable. (I67f16, b/261565132) - Ajout de
securePolicy
en tant que paramètre àModalBottomSheet
afin que les utilisateurs puissent définir le comportement deWindowManager.LayoutParams.FLAG_SECURE
. (Icdac8, b/296250262) - Ajout de nouvelles surcharges pour
LinearProgressIndicator
etCircularProgressIndicator
qui acceptentprogress
comme lambda. Elles devraient être plus performantes que les versions précédentes. (I824e6, b/295616656) - Remplacement du nom
StandardSizeClasses
parAllSizeClasses
. (I8cb07) - Combinez les fonctions de calcul des classes de taille de fenêtre. (Iad935)
Correction de bugs
- Correction d'un plantage
DatePicker
lorsque vous cliquez rapidement sur les boutons de flèche de navigation lorsque le mois affiché se trouve à la limite de la plage d'années autorisée. (I46f36, b/290954897, b/297002119) - [Barre de navigation] Prise en charge de la couleur transparente pour l'indicateur. (Ie0a9b, b/267289987)
Version 1.2.0-alpha09
4 octobre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha09
. Liste des commits de la version 1.2.0-alpha09
Modifications apportées à l'API
- Migration de
ModalNavigationDrawer
etDismissibleNavigationDrawer
pour utiliser les nouvelles APIAnchoredDraggable
.animateTo
deDrawerState
a été remplacé par les méthodes open et close, et le décalage est désormais exposé en tant que float au lieu d'un objet d'état. Vous pouvez accéder au décalage directement viacurrentOffset
. (I0a72c) - Des fonctions non modulables ont été ajoutées pour créer directement un
DatePickerState
et unDateRangePickerState
. Ces fonctions peuvent être utilisées à la place des fonctions composablesrememberDatePickerState
etrememberDateRangePickerState
si nécessaire. (I70326, b/291524052) - Les
TabRows
fixes et à défilement sont désormais disponibles en variantes principale et secondaire. Ils correspondent correctement à la couleur et au comportement de l'indicateur tels que définis dans Material3. PrimaryScrollableTabRow
etSecondaryScrollableTabRow
exposent désormais l'état de défilement. (Iec8f5, b/260572337)- Ajout d'un paramètre
sheetMaxWidth
que les développeurs peuvent définir pour spécifier la largeur maximale de la feuille. Vous pouvez transmettre Dp.Unspecified comme paramètre si vous souhaitez une feuille couvrant toute la largeur de l'écran. (Ifb7c9, b/266697696) - Réajout des API
PlainTooltipBox
etRichTooltipBox
en tant que méthodes obsolètes. (I246fa)
Correction de bugs
- Correction d'un plantage lorsque le
DatePicker
est initialisé avec unDatePickerFormatter
dont certains squelettes de date restent identiques lors de la conversion en formats de date (par exemple, YY). (I01f29)
Version 1.2.0-alpha08
20 septembre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha08
. Liste des commits de la version 1.2.0-alpha08.
Modification destructive affectant le comportement
ColorScheme
est désormais immuable, ce qui rend les mises à jour de couleur individuelles moins efficaces, mais améliore l'utilisation plus courante des couleurs. Cette modification est justifiée par le fait que la majorité des applications n'ont pas pour cas d'utilisation principal la modification de couleurs individuelles. Cela reste possible, mais la recomposition sera plus importante qu'auparavant. Nous réduisons ainsi considérablement le nombre d'abonnements d'état dans l'ensemble du code Material, ce qui aura un impact sur les coûts d'initialisation et d'exécution des cas d'utilisation plus standards. (Ic447d, b/297212873)- L'élévation tonale ne s'anime plus dans différents états d'interaction pour correspondre aux spécifications. (Icdd12)
Modifications apportées à l'API
- Ajout d'un nouveau
BottomAppBar
qui utilise unBottomAppBarScrollBehavior
comme paramètre pour l'afficher automatiquement lorsque le contenu défile. Ajout également deFabPosition.EndOverlay
, qui permet au bouton d'action flottant de recouvrir la barre d'application inférieure dans l'échafaudage au lieu d'être ancré au-dessus. (Iecb47) - Ajout d'un composant Label simple qui s'appuie sur
BasicTooltipBox
et qui ne se ferme pas lorsque vous appuyez en dehors des limites de l'étiquette. (I821f9)
Correction de bugs
- Suppression de l'utilisation de
rememberSaveable
pour les info-bulles. (Icc131, b/299500338) - Ajout d'un indicateur temporaire pour contrôler si Scaffold doit mesurer ses enfants lors de la mesure ou lors du placement. Par défaut, cette mesure est effectuée en mesures. Si vous rencontrez des problèmes avec le nouveau comportement, veuillez signaler un problème. (I0b354)
- Correction de la largeur horizontale de l'écran dans
BottomSheet
en utilisant la mesure correcte pour la largeur de l'écran de l'appareil. (I1df0c, b/299058752) - Correction d'un bug qui empêchait
ModalBottomSheet
d'appeleronDismissedRequest
lors de la fermeture de la feuille en balayant l'écran vers le bas. (Idfdd8)
Version 1.2.0-alpha07
6 septembre 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha07
. Liste des commits de la version 1.2.0-alpha07
Nouvelles fonctionnalités
- La compatibilité avec les icônes miroir automatiques a été ajoutée dans
compose material 1.6.0-alpha05
. Pour en savoir plus, consultez les notes de version.
Modifications apportées à l'API
SliderState
implémenteDraggableState
(I9b116)- Rendre la forme un paramètre obligatoire. Renommez
position
enindex
dans la fonction d'assistance de forme. (I34941) - Met à jour le
formatWithSkeleton
DatePicker
pour inclure une carte utilisée comme cache pour améliorer les performances. (I3195f) - Ajout de
BasicTooltipBox
àcompose.foundation
et mise à jour dePlainTooltipBox
etRichTooltipBox
pour utiliserTooltipBox
avec les nouveaux composablesPlainTooltip
etRichTooltip
. (I79e1d)
Correction de bugs
dynamicLightColorScheme
etdynamicDarkColorScheme
renvoient désormais des couleurs à chroma plus élevé pour les rôles de surface etsurfaceContainer
. (I5e901)- Correction d'un problème qui empêchait certains composants utilisant une sous-composition (par exemple,
BottomSheetScaffold
) dans un Scaffold dans unLookaheadScope
de lire leur taille trop tôt. (I297b4, I871f1, b/295536718)
Version 1.2.0-alpha06
23 août 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha06
. Liste des commits de la version 1.2.0-alpha06
Correction de bugs
- Correction du calcul
offset
deDropdownMenu
afin que les décalages X dépendent uniquement de l'orientation de la mise en page locale, et que les décalages Y ne soient plus inversés lorsque le menu se trouve près du bas de l'écran. (Iccc74, b/294103942) - Correction du calcul
offset
deDropdownMenu
afin que les décalages X dépendent uniquement de l'orientation de la mise en page locale, et que les décalages Y ne soient plus inversés lorsque le menu se trouve près du bas de l'écran. (Ib87a2, b/294103942)
Version 1.2.0-alpha05
9 août 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha05
. Liste des commits de la version 1.2.0-alpha05
Modifications apportées à l'API
- Mises à jour des couleurs de la case à cocher et de
TriStateCheckbox
. LadisabledUncheckedColor
CheckboxDefaults.colors()
ne concerne désormais plus que la bordure de la case à cocher. Les cas particuliers qui vous obligent à définir la couleur de la zone interne lorsqu'elle est désactivée et non cochée nécessitent une instance créée sur mesure d'unCheckboxColors
avec les valeurs de couleur souhaitées. (I77d17, b/291943198)
Version 1.2.0-alpha04
26 juillet 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha04
. Liste des commits de la version 1.2.0-alpha04
Nouvelles fonctionnalités
- API expérimentale pour les boutons segmentés (Ifc8fb)
- Les séparateurs disposent désormais d'un paramètre permettant de contrôler l'orientation pour prendre en charge les séparateurs verticaux. (I4c899, b/288438593)
Modifications apportées à l'API
- Nous transférons la dépendance de densité au niveau du composant. Cela s'applique aux composants suivants:
SwipeToDismiss
et les composants basés sur Sheets. Veuillez utiliser la nouvelle surcharge fournie où la densité est un paramètre. (I1846e) - Annotations supplémentaires pour spécifier les entrées autorisées dans les composables (Ief234)
- Ajoutez un paramètre d'icône au bouton segmenté, puis divisez les sémantiques afin que les boutons segmentés puissent être sélectionnables pour implémenter la sélection unique et activables/désactivables pour implémenter la sélection multiple, avec
SelectableSegmentedButtonRow
etToggelableSegmentedButtonRow
respectivement. (I38740) - Le séparateur a été renommé
HorizontalDivider
. Ajout de la fonctionnalitéVerticalDivider
. (I5975c) - Remplacez l'utilisation de
ClosedFloatingPointRange
parFloatRange
, plus léger, dans les API Material3 expérimentales pour réduire l'auto-mise en forme. (I4aab5) - Ajout d'un nouvel alignement de début pour
FabPosition
(Ib7aea, b/170592777)
Correction de bugs
ModalBottomSheet
respecte l'orientation de mise en page locale. (Ib4f44, b/285628622)
Version 1.2.0-alpha03
21 juin 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha03
. Liste des commits de la version 1.2.0-alpha03
Nouveaux comportements
includeFontPadding
est désormaisfalse
par défaut dans la typographie Material 3. Le style de hauteur de ligne par défaut a également été remplacé parTrim.None
etAlignment.Center
, et deslineHeight
explicites (en sp) ont été ajoutés auxTextStyle
deTypography
. Consultez la documentation de l'API si vous souhaitez personnaliser ces valeurs, et consultez l'article de blog pour en savoir plus sur ces modifications. (I6266f, Icabc3)
Nouvelles fonctionnalités
- Ajout d'une surcharge pour
RangeSlider
, qui est une version avec état du composant. Création d'unRangeSliderState
contenant toutes les informations sur le canal actif actuel, les mesures des composants duRangeSlider
et la logique de glisser-déposer et de geste. (I8c270) - La barre de recherche est désormais compatible avec les ombres via le nouveau paramètre
shadowElevation
. (Ia5369, b/271040353) ColorScheme
est désormais compatible avec les nouveaux rôlesSurfaceContainer
.- La superposition d'élévation tonale de la surface peut désormais être désactivée avec la composition locale
LocalTonalElevationEnabled
. (Ic203c, b/277774590)
Modifications apportées à l'API
- Ouvrez les constructeurs de couleurs des composants. (I8c4a6)
- Ajout d'un paramètre de mise au point aux deux API d'info-bulle afin que les développeurs puissent choisir si l'info-bulle doit consommer des événements tactiles ou non. Notez que cela peut interrompre la navigation automatique de la sélection de l'accessibilité. (Ie32d8)
- Accessibilité optimisée pour les performances et les allocations de mémoire. (Iede48)
- Exposer
DefaultSizeClasses
et créerStandardSizeClasses
pourWindowSizeClasses
(I91838) - Remplacement de
WindowWidth/HeightSizeClass
par des classes de valeurs flottantes (Ie686e)
Correction de bugs
- Le paramètre
contentWindowInsets
de Scaffold respecte désormais les marges intérieures de la fenêtre consommées. Notez que le comportement de la marge intérieure du contenu basée surtopBar
etbottomBar
reste inchangé lorsque ces paramètres sont fournis. (I08b73, b/264601542) - Corrigez l'alignement de la barre d'application supérieure centrale pour vous assurer qu'un titre long ne s'affiche pas sur les icônes d'action ou l'icône de navigation. (I4369f, b/236994621)
- Les positions des onglets imposent désormais une largeur de contenu minimale de 24 dp. Cela fournit une cible tactile accessible pour les indicateurs d'onglet. (Id8861)
- Les palettes de couleurs dynamiques de
dynamicLightColorScheme
etdynamicDarkColorScheme
sont désormais compatibles avec les nouveaux rôles de surface. (I1252e) - Modification de l'alignement des notifications du badge pour qu'il ne soit pas tronqué en cas de collision avec l'arrière-grand-parent. (Idf75a)
Version 1.2.0-alpha02
24 mai 2023
Publication d'androidx.compose.material3:material3-*:1.2.0-alpha02
. Liste des commits de la version 1.2.0-alpha02
Modifications apportées à l'API
- Ajout du paramètre "window insets" à
ModalBottomSheet
.- Le masquage pour
ModalBottomSheet
peut désormais être dessiné derrière la barre d'état lorsquewindowInsets
est défini sur zéro. - Mise à jour de la fonctionnalité
ModalBottomSheet
par défaut pour qu'elle reste en dehors des barres système, y compris la navigation - La gestion de l'encart de la barre d'état est assurée par la poignée de glissement en mode bord à bord.
BottomSheetDefaults
inclut des encarts de fenêtre pourBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Le masquage pour
- Abandon de
Indicator
et ajout dePrimary
/SecondaryIndicator
pour correspondre aux spécifications de M3.PrimaryIndicator
correspond à la largeur du contenu de l'onglet, tandis queSecondaryIndicator
s'étend sur toute la largeur disponible.SecondaryIndicator
est équivalent àIndicator
, qui est désormais obsolète, et peut le remplacer directement. (I27604) - Ajout d'une option permettant de transmettre un
ScrollState
lors de la création d'unDropdownMenu
ou d'unExposedDropdownMenu
pour contrôler l'état de défilement vertical des éléments de menu affichés. (Ia0734, b/185304441) - Ajout d'une surcharge pour
Slider
, qui est une version avec état du composant. Création d'unSliderState
contenant toutes les informations sur le canal actif actuel, les mesures des composants duSlider
et la logique de glisser-déposer et de geste. (I124a5) - Modification du nom de la propriété sémantique
isContainer
enisTraversalGroup
(I121f6) - Ajout de
TextStyle.merge(...)
optimisé avec une liste complète des paramètres. (Iad234, b/246961787) - Conversion de
TooltipState
,RichTooltipState
etPlainTooltipState
en interfaces publiques. Ajout deRichTooltipStateImpl
et dePlainTooltipStateImpl
pour les états par défaut. Ajout de fonctionsremember*State
pour obtenir ces états implémentés. Suppression deTooltipSync
au profit d'unTooltipDefault.GlobalMutatorMutex
. (I7813d) - Mise à jour de
DatePickerColors
pour inclure des options de personnalisation supplémentaires pour les couleurs du séparateur du sélecteur de date, de la navigation et des champs de saisie de texte. (I1a685, b/274626815) DatePickerState
etDateRangePickerState
sont désormais des interfaces publiques avec des implémentations par défaut qui peuvent être récupérées parrememberDatePickerState
etrememberDateRangePickerState
. (I71c52)- Suppression de
dateValidator
deDatePicker
etDateRangePicker
, et introduction d'une interfaceSelectableDates
pouvant être définie sur l'état pour contrôler les dates ou années sélectionnables dans l'UI. (Ic2fc6) TimePicker
supprimé de l'API stable. D'autres modifications sont attendues dans l'API d'état. (I3f39a)ModalBottomSheet
est passé à Android uniquement.ModalBottomSheet
n'est pas recommandé pour une utilisation sur ordinateur et cette fonctionnalité n'est pas activement gérée. (Ib3778)
Correction de bugs
- Correction de l'action de rejet
AlertDialog
pour qu'elle s'affiche sous l'action de confirmation lorsque les actions sont empilées les unes sur les autres pour s'adapter à la largeur de la boîte de dialogue. Cette correction aligne l'implémentation sur la spécification Material Design. (I029de, b/235454277) - Correction d'un bug dans
ListItem
qui utilisait une marge incorrecte pour les éléments à trois lignes. (I6e235) ModalBottomSheet
peut désormais afficher le clavier IME (Idc508, b/262140644, b/268380384, b/272483584)
Version 1.2.0-alpha01
10 mai 2023
Publication d'androidx.compose.material3:material3:1.2.0-alpha01
et d'androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
. Liste des commits de la version 1.2.0-alpha01
Version 1.1
Version 1.1.2
20 septembre 2023
Publication d'androidx.compose.material3:material3:1.1.2
et d'androidx.compose.material3:material3-window-size-class:1.1.2
. Liste des commits de la version 1.1.2
Correction de bugs
- Correction du modificateur transmis de manière incorrecte à deux composables. (b/282761472)
- Correction de
TimePickerState
qui renvoyait des heures incorrectes lors de l'initialisation avec 23 heures. (b/278242122) - Correction de l'état initial de la bascule pour la validation de midi et des minutes. (b/269768197, b/282790635)
- Correction du problème qui faisait que
state.hour
renvoyait une valeur incorrecte pour 23h. (b/282761472, b/278242122)
Version 1.1.1
21 juin 2023
Publication d'androidx.compose.material3:material3:1.1.1
et d'androidx.compose.material3:material3-window-size-class:1.1.1
. Liste des commits de la version 1.1.1
Correction de bugs
- Ajoute un appel pour
ModalBottomSheet
sans paramètrewindowInset
pour la compatibilité binaire. (Ib7959) - Ajout du paramètre "window insets" à
ModalBottomSheet
.- Le masquage pour
ModalBottomSheet
peut désormais être dessiné derrière la barre d'état lorsquewindowInsets
est défini sur zéro. - Mise à jour de la fonctionnalité
ModalBottomSheet
par défaut pour qu'elle reste en dehors des barres système, y compris la navigation - La gestion de l'encart de la barre d'état est assurée par la poignée de glissement en mode bord à bord.
BottomSheetDefaults
inclut des encarts de fenêtre pourBottomSheetWindow
. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
- Le masquage pour
Version 1.1.0
10 mai 2023
Publication d'androidx.compose.material3:material3:1.1.0
et d'androidx.compose.material3:material3-window-size-class:1.1.0
. Liste des commits de la version 1.1.0
Principales fonctionnalités de la version 1.1.0
Nouveaux composants Material Design 3
Améliorations apportées aux composants Material Design 3 existants.
Passage des API expérimentales en version stable
Pour en savoir plus, consultez cet article de blog.
Version 1.1.0-rc01
19 avril 2023
Publication d'androidx.compose.material3:material3:1.1.0-rc01
et d'androidx.compose.material3:material3-window-size-class:1.1.0-rc01
. Liste des commits de la version 1.1.0-rc01
Modifications apportées à l'API
TimePicker
supprimé de l'API stable. D'autres modifications sont attendues dans l'API d'état. (I3f39a)ModalBottomSheet
est passé à Android uniquement.ModalBottomSheet
n'est pas recommandé pour une utilisation sur ordinateur et cette fonctionnalité n'est pas activement gérée. (Ib3778)
Version 1.1.0-beta02
5 avril 2023
Publication d'androidx.compose.material3:material3:1.1.0-beta02
et d'androidx.compose.material3:material3-window-size-class:1.1.0-beta02
. Liste des commits de la version 1.1.0-beta02
Modifications apportées à l'API
SheetState
comporte désormais un paramètreskipHiddenState
facultatifrememberStandardBottomSheetState
comporte désormais un paramètreskipHiddenState
facultatifBottomSheetScaffold
dispose désormais d'un ancrage masqué défini, mais il est désactivé par défaut.- La documentation
SheetState.requireOffset
a été mise à jour BottomSheetDefaults.MinimizedShape
a été renomméBottomSheetDefaults.HiddenShape
. (I839f4, b/273870234)
Correction de bugs
- Ne pas passer du cadran des heures à celui des minutes lorsque l'exploration tactile est activée. (I717d0)
- Les sémantiques de poignée de glissement
ModalBottomSheet
etBottomSheetScaffold
sont désormais fusionnées. (I05afb) - Le modificateur
BottomSheetScaffold
, les paramètrescontainerColor
etcontentColor
n'affectent désormais que le contenu. (I992cb) BottomSheetScaffold nestedScroll
pour le contenu de la feuille implémente désormais des flings. (I992cb)
Version 1.1.0-beta01
22 mars 2023
Publication d'androidx.compose.material3:material3:1.1.0-beta01
et d'androidx.compose.material3:material3-window-size-class:1.1.0-beta01
. Liste des commits de la version 1.1.0-beta01
Modifications apportées à l'API
- Ajoutez le paramètre de type de mise en page au composable
TimePicker
. Il permet d'utiliser différentes mises en page en fonction de la configuration de l'écran (Ia0e16). SearchBarDefaults
a été marqué comme expérimental. (I65561)- Ajout de l'élévation de l'ombre à
BottomSheetScaffold
. (I94e0f) - Ajout de la possibilité d'afficher les sélecteurs de date sans la partie de l'en-tête. Modifications apportées à l'API pour permettre de transmettre un titre nul lors de la création d'un sélecteur de date. Vous pouvez désormais transmettre un titre, un titre et un
showToggleMode = false
nuls pour afficher un sélecteur sans tête. (Id3f3a, b/266132421, b/267194809)
Correction de bugs
- Les barres de recherche ne sont plus sélectionnées automatiquement lorsqu'elles sont inactives. (I22a7c, b/261444487)
- Mise à jour de
DateRangePicker
pour permettre de sélectionner une plage avec la même date de début et de fin. (I16529, b/272882497) - Les champs de texte positionnent désormais correctement leurs éléments de texte lorsque la taille de police est inférieure à la taille attendue. Cela peut entraîner un changement de quelques pixels dans vos applications en fonction des paramètres de police et du script. (I8b8d0)
- Les actions sémantiques de la bottom sheet sont désormais associées à des libellés. (I277b0)
Version 1.1.0-alpha08
8 mars 2023
Publication d'androidx.compose.material3:material3:1.1.0-alpha08
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
. Liste des commits de la version 1.1.0-alpha08
Nouvelles fonctionnalités
- Ajout de la prise en charge de
BottomSheetScaffold
et deBottomSheetScaffoldState
. (I063d4)
Modifications apportées à l'API
- Ajout de fonctionnalités à
DatePickerState
etDateRangePickerState
pour permettre de définir des dates après la création initiale de l'état, ainsi que de réinitialiser les sélections en définissant des codes temporels nuls. Le paramétrage manuel des dates doit être effectué avec précaution. La nouvelle fonctionsetSelection
génère une exception si une date fournie ne répond pas à une condition préalable (voir la documentation). (Ifa645, b/268609314, b/270427389) - Renommez
SheetValue
"Réduit" enPartiallyExpanded
pour représenter plus précisément et de manière plus flexible le comportement dans cet état. (Ia1491) - Les noms des paramètres
ListItem
ont été modifiés pour passer de _text à _content. Les getters par défaut sont désormaisReadOnlyComposables
, le cas échéant. (I69a25) - Passage des API Surface interactives de l'état expérimental à un niveau supérieur. (I90d59, b/261561812)
Correction de bugs
- Correction d'un problème à cause duquel l'état
HalfExpanded
deModalBottomSheet
n'était pas calculé correctement et la feuille semblait flotter. (I45e84, b/268411386) - Ajout d'une vérification
confirmValueChange
pour le tapotement du masquage pourModalBottomSheet
. (I2311a, b/270425759) - Déplacer les actions sémantiques
BottomSheet
vers la poignée de glissement. (I158ba) ModalBottomSheet
gère désormais la mise au point sur le lancement et le bouton Retour. (I4d2ab)ModalBottomSheet onDismissRequest
est désormais également géré lors des balayages de défilement imbriqués. (I655c5, b/268433166)
Version 1.1.0-alpha07
22 février 2023
Publication d'androidx.compose.material3:material3:1.1.0-alpha07
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
. Liste des commits de la version 1.1.0-alpha07
Nouvelles fonctionnalités
- Ajout d'un composable de saisie de l'heure compatible avec
rememberTimePickerState()
, qui suit la spécification M3 pour la saisie de l'heure (Ia4fab) - Ajout d'une API
DateRangePicker
Material 3 pour sélectionner une plage de dates. (I7a6c3, b/267194809) - Ajout d'une prise en charge du mode de saisie Material 3 pour la sélection de plages de dates via l'API
DateRangePicker
. (Ifdbc4) - Les couleurs des champs de texte peuvent désormais être personnalisées :
- Couleurs du champ de saisie et du texte d'espace réservé en fonction de l'état de focus et d'erreur. Le paramètre
textColor
a été renomméunfocusedTextColor
, etplaceholderColor
a été renomméunfocusedPlaceholderColor
. - Couleur du conteneur pour les champs de texte remplis en fonction de l'état d'erreur avec le nouveau paramètre
errorContainerColor
.
- Couleurs du champ de saisie et du texte d'espace réservé en fonction de l'état de focus et d'erreur. Le paramètre
- Les couleurs des champs de texte des menus déroulants exposés ont été mises à jour avec des paramètres pour prendre en charge la nouvelle API de préfixe et de suffixe. (I9c8b4, b/254284181, b/264766350)
Modifications apportées à l'API
- Réversion de certaines versions de l'API Slider et suppression des surcharges de curseur redondantes couvertes par le nouveau curseur expérimental avec curseur et piste personnalisés. Promotion de
RangeSlider
en version stable. (Ie8fbd) - Remplacement de
defaultElevation
parelevation
dans les fonctions d'élévation du chip. (I0f872) - Les API de champ de texte Material 3 suivantes ne sont plus expérimentales:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
etoutlinedTextFieldPadding
. (Ieb5c0, b/261561819) TimePickers
is24Hour
utilise le paramètre système (I18856)- Suppression de l'annotation expérimentale des API de l'échafaudage. (Ibb51e, b/261565765, b/261436953)
Correction de bugs
- La forme par défaut de
ModalBottomSheet
est désormais toujoursSheetDefaults.ExpandedShape
. (I0dfca) - Améliorations de l'accessibilité pour
DatePicker
etDateRangePicker
de Material 3. (I5087e) - Correction d'un bug où la contrainte de hauteur maximale est propagée et peut entraîner un plantage. (I30d8c)
- Suppression des rôles sémantiques des surfaces cliquables et sélectionnables, mise à jour des composants qui les utilisaient pour définir des rôles à l'aide de modifier.semantics (I793d9)
Version 1.1.0-alpha06
8 février 2023
Publication d'androidx.compose.material3:material3:1.1.0-alpha06
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
. Liste des commits de la version 1.1.0-alpha06
Nouvelles fonctionnalités
- Les champs de texte sont désormais compatibles avec le texte du préfixe et du suffixe. (Ia8578, b/179884561)
- Ajout d'une fonction
TimePicker
pour afficher un outil de sélection de l'heure conformément à la spécification Material 3, utilisée avecTimePickerState
et la méthode pratiquerememberTimePickerState
. (I71910) - Une date saisie est désormais un mode d'affichage dans
DatePicker
. Il est maintenant possible de passer du sélecteur de date au mode de saisie de date, et vice versa. (Ieeff7) - API ajoutée pour
RichTextTooltips
. (I58ef3) - Implémentation de la bottom sheet modale pour Material 3, y compris
ModalBottomSheet
etModalBottomSheetDefaults
. Ajout également deSheetState
et derememberSheetState
, qui peuvent être utilisés pour les futurs composants de la feuille. (I0853a, b/244189383)
Modifications apportées à l'API
- Stabilisation de l'API
showSnackbar
. (I195c2, b/261424370) - Stabilisation des API pour le chip d'assistance et le chip de suggestion. (Ibb67b, b/261424370)
- Passage de l'API
ListItem
,ListItemDefaults
etListItemColors
en version non expérimentale. (I7e7fa, b/261438882) - Passage de
SliderPositions
,SliderDefaults.Thumb
etSliderDefaults.Track
en version stable, et ajout d'APISlider
etRangeSlider
non expérimentales contenant des pouces et des canaux personnalisés. Abandon des APISlider
etRangeSlider
précédentes. (Ie5ea6, b/261566890) Modifier.tooltipAnchor()
est désormais public, afin que les développeurs puissent le transmettre à l'ancre pour indiquer qu'une info-bulle doit s'afficher lorsque l'utilisateur appuie de manière prolongée. L'APIPlainTooltipBox
a été mise à jour pour ne plus permettre àTooltipState
d'avoir une valeur nulle. Dispose désormais d'une valeur par défaut. (Ie2fb7)ProgressIndicatorDefaults.circularTrackColor
a été marqué@Composable
à des fins de cohérence. (Id29cc)- Le getter
LocalMinimuTouchTargetEnforcement
a été restauré, marqué comme obsolète, puis redirigé versLocalMinimumInteractiveComponentEnforcement
. (I60dd5)
Version 1.1.0-alpha05
26 janvier 2023
Publication d'androidx.compose.material3:material3:1.1.0-alpha05
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
. Liste des commits de la version 1.1.0-alpha05
Nouvelles fonctionnalités
DatePickerDialog
et accessibilité- Pouce et piste personnalisés ajoutés à
RangeSlider
.
Mises à jour des dépendances
Compose UI
etCompose Material
dépendent désormais de Lifecycle 2.6.0.
Version 1.1.0-alpha04
11 janvier 2023
Publication d'androidx.compose.material3:material3:1.1.0-alpha04
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
. Liste des commits de la version 1.1.0-alpha04
Nouvelles fonctionnalités
- API
DatePicker
initiale permettant de choisir une date via une UI d'agenda. Cette API est toujours en cours de modification. (I722b9) - Ajout de la prise en charge des info-bulles en texte brut via
PlainTooltipBox
. (I0cdfb) - Barre de recherche (Iad128)
SwipeToDismiss
(I458a8, b/242889540)
Modifications apportées à l'API
- Ajout à la propriété sémantique
IsContainer
sur les surfaces. Cette propriété sera utilisée lors d'une modification ultérieure qui détermine l'ordre de navigation en fonction de la signification sémantique des éléments tels que les surfaces. (I63379) - Marquage des API associées au panneau de navigation comme stables. (Iab01e, b/261439597)
- Ajout d'un paramètre de couleur de suivi pour les indicateurs de progression circulaires, et d'un paramètre de limite de trait pour les indicateurs de progression circulaires et linéaires. (Ie668c, b/216325962, b/222964817)
- Possibilité de valeur nulle de type renvoyé accrue pour les fonctions obsolètes ou masquées. (Ibf7b0)
- Ajout de
Modifier.minimumInteractiveComponentSize
. Vous pouvez l'utiliser pour réserver une taille d'au moins 48 dp pour résoudre les problèmes d'interaction tactile si l'élément est plus petit. (I33f58, b/258495559) - Ajout d'une API expérimentale pour le composable
AlertDialog
comportant un emplacement de contenu. (Iec4a2)
Correction de bugs
- La progression des indicateurs de progression est désormais correctement limitée à la plage attendue. (I8a7eb, b/262262727)
Problème connu
- Lorsque vous passez de
androidx.compose.foundation:1.4.0-alpha03
àandroidx.compose.foundation:1.4.0-alpha04
, une erreurjava.lang.NoSuchFieldError
peut se produire. Le problème a été initialement signalé ici. Un correctif a été envoyé et sera disponible lors de la prochaine mise à jour de Compose. Pour contourner ce problème, mettez à jour votreandroidx.compose.material
etandroidx.compose.material3
vers la dernière version (1.1.0-alpha04) ou revenez à la version 1.4.0-alpha03 deandroidx.compose.foundation
.
Version 1.1.0-alpha03
7 décembre 2022
Publication d'androidx.compose.material3:material3:1.1.0-alpha03
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
. Liste des commits de la version 1.1.0-alpha03
Modifications apportées à l'API
consumedWindowInsets()
a été renomméconsumeWindowInsets()
, etwithConsumedWindowInsets()
onConsumedWindowInsetsChanged()
, et les modificateurs sont désormais publics. (Ie44e1)- Ajout d'une marge intérieure par défaut pour le bouton de texte avec icône à utiliser. (I8f662)
- Ajout de couleurs désactivées pour la barre de navigation et le rail. (Ia7892, b/258867034)
- Ajout d'une API de modificateur pour interroger les informations de défilement des ancêtres. (I2ba9d, b/203141462)
- Utilisation dans
Clickable
pour retarder correctement les interactions liées à une pression du doigt susceptible de devenir un événement de défilement. - Correction de
Clickables
qui ne retardait pas correctement les ondulations en cas d'utilisation dans unScrollable ViewGroup
. - Mise à jour des panneaux et des feuilles pour retarder les pressions du doigt lorsque les gestes peuvent devenir des événements de défilement.
Mises à jour des dépendances
Compose UI
etCompose Material
dépendent désormais de Lifecycle version 2.5.1. (I05ab0, b/258038814)
Version 1.1.0-alpha02
9 novembre 2022
Publication d'androidx.compose.material3:material3:1.1.0-alpha02
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
. Liste des commits de la version 1.1.0-alpha02
Modifications apportées à l'API
awaitFirstDown
etwaitForUpOrCancellation
acceptent désormaisPointerEventPass
pour plus de flexibilité (et correction deExposedDropdownMenuBox
qui affichait un menu lorsque l'utilisateur faisait défiler la page). (I7579a, b/212091796)- Ajout du paramètre
minLines
dans le texte Material et Material3, ainsi queTextField
etOutlinedTextField
, ce qui permet de définir la hauteur minimale du composant en termes de nombre de lignes. (I4af1d) - Abandon de la fonction
TopAppBarDefaults smallTopAppBarColors
au profit d'une nouvelle fonctiontopAppBarColors
à utiliser lors de la création d'uneTopAppBar
. (Ie6cb9) - Ajout du paramètre
minLines
dansBasicText
etBasicTextField
. Permet de définir la hauteur minimale de ces composables en nombre de lignes. (I24294, b/122476634)
Correction de bugs
- Création d'un extrait à partir du contenu des
IconButton
etIconToggleBotton
Material3 à la forme de la couche d'état du composant (par exemple, forme circulaire). (I9da8f) - Mise à jour des barres d'application supérieures Material3 grandes et moyennes afin d'appliquer la même couleur d'arrière-plan à toute la surface et de pouvoir remplacer les couleurs par défaut par des valeurs de couleur transparentes. (I67659, b/249688556, b/250838918)
Version 1.1.0-alpha01
24 octobre 2022
Publication d'androidx.compose.material3:material3:1.1.0-alpha01
et d'androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
. Liste des commits de la version 1.1.0-alpha01
Correction de bugs
- Corrections apportées à la barre d'application supérieure lorsque le titre est appliqué avec un style de texte et un pinceau. (If667e)
Version 1.0
Version 1.0.1
9 novembre 2022
Publication d'androidx.compose.material3:material3:1.0.1
et d'androidx.compose.material3:material3-window-size-class:1.0.1
. Liste des commits de la version 1.0.1
Correction de bugs
- Mise à jour des barres d'application supérieures Material3 grandes et moyennes afin d'appliquer la même couleur d'arrière-plan à toute la surface et de pouvoir remplacer les couleurs par défaut par des valeurs de couleur transparentes. (I67659, b/249688556, b/250838918)
Version 1.0.0
24 octobre 2022
Publication d'androidx.compose.material3:material3:1.0.0
et d'androidx.compose.material3:material3-window-size-class:1.0.0
. Liste des commits de la version 1.0.0
Principales fonctionnalités de la version 1.0.0
Première version stable de Compose Material 3.
Thématisation Material Design 3 et couleur dynamique Material You
Composants Material Design 3
- Badge
- Barre d'application inférieure
- Boutons
- Bouton d'action flottant et bouton d'action flottant étendu
- Fiches
- Case à cocher
- Chips
- Boîtes de dialogue
- Séparateur
- Menu déroulant
- Liste
- Barre de navigation
- Panneau de navigation
- Rail de navigation
- Indicateur de progression
- Case d'option
- Curseur
- Bouton bascule
- Onglets
- Champs de texte
- Barre d'application supérieure
- Icône
- Texte
- Surface
- Mise en page
- Couleur du contenu
Classe de taille de fenêtre
material3-window-size-class
est une nouvelle bibliothèque qui prend en charge les classes de taille de fenêtre, qui sont un ensemble de points d'arrêt de fenêtre d'affichage définis qui permettent de concevoir, de développer et de tester des mises en page d'application redimensionnables. Vous pouvez utilisercalculateWindowSizeClass
pour récupérer une instance de classe de taille de fenêtre, qui vous permettra de déterminer l'apparence de votre UI (tel que l'affichage d'un rail de navigation au lieu de la barre de navigation inférieure pour les grandes fenêtres, par exemple). Pour en savoir plus et accéder à un exemple d'utilisation, consultez la documentation de référence de l'API pourWindowSizeClass
.Pour en savoir plus, consultez cet article de blog.
Version 1.0.0-rc01
5 octobre 2022
Publication d'androidx.compose.material3:material3:1.0.0-rc01
et d'androidx.compose.material3:material3-window-size-class:1.0.0-rc01
. Liste des commits de la version 1.0.0-rc01
Modifications apportées à l'API
- Ajout d'un paramètre d'emplacement pour prendre en charge le texte dans l'API de champ de texte. (Iaac0d, b/227146125)
Version 1.0.0-beta03
21 septembre 2022
Publication d'androidx.compose.material3:material3:1.0.0-beta03
et d'androidx.compose.material3:material3-window-size-class:1.0.0-beta03
. Liste des commits de la version 1.0.0-beta03
Modifications apportées à l'API
ExposedDropdownMenuDefaults
affiche désormais une valeur de marge intérieure pour les éléments de menu. (I6e1e0)ExposedDropdownMenuBoxScope
comporte désormais un modificateurModifier.menuAnchor()
qui doit être transmis au champ de texte pour un comportement d'accessibilité (a11y) approprié. (I27fa3)- Ajout de deux méthodes surchargées pour l'API Slider actuelle afin que les utilisateurs puissent transmettre un curseur à faire glisser sur une piste pour remplir le curseur. (I21c00)
Correction de bugs
- Remplacement de la carte de couleurs du thème sombre pour le conteneur On Error par le ton 90. (Ic5612)
- Correction visant à permettre la définition d'un arrière-plan transparent pour les petites barres d'application supérieures Material 3. (I645e2, b/245575782)
Version 1.0.0-beta02
7 septembre 2022
Publication d'androidx.compose.material3:material3:1.0.0-beta02
et d'androidx.compose.material3:material3-window-size-class:1.0.0-beta02
. Liste des commits de la version 1.0.0-beta02
Modifications apportées à l'API
- Les encarts de composants par défaut introduits dans les composants m3 dans la version bêta01 ne tiennent plus compte des encarts IME.
- Le composant Material3 Scaffold dispose désormais d'un paramètre
contentWindowInsets
, qui permet de spécifier le nombre d'encarts à gérer pour l'emplacement du contenu. (Icf11a, b/243713323) - Abandon de la fonction expérimentale
SmallTopAppBar
de Material 3 et ajout d'une fonctionTopAppBar
équivalente. Veuillez adopter la nouvelle fonction. (I74404, b/226918634) - Ajout d'un contrôle sur les mouvements de glissement et d'ancrage de la barre d'application supérieure. (I15c81)
- Suppression de "startIndent" dans "Divider", déplacement la couleur vers le dernier paramètre. (If7be2)
Correction de bugs
- Les boîtes de dialogue s'identifient auprès des utilisateurs de TalkBack lorsqu'ils énoncent le mot Dialogue et qu'elles sont affichées. (I857ef)
Version 1.0.0-beta01
24 août 2022
Publication d'androidx.compose.material3:material3:1.0.0-beta01
et d'androidx.compose.material3:material3-window-size-class:1.0.0-beta01
. Liste des commits de la version 1.0.0-beta01
Documentation de référence de l'API
Pour voir les derniers thèmes, composants et autres composables disponibles, consultez la présentation de la documentation de référence de l'API Compose Material 3.
Modifications apportées à l'API
- Mise à jour de la barre d'application supérieure de Material 3 pour passer d'un état entièrement réduit à un état entièrement développé. Mise à jour de la fonction de comportement
TopAppBarDefaults
pour qu'elle soit composable et qu'elle fournisse des valeurs par défaut pour l'état de la barre d'application supérieure et les spécifications d'animation. (I642b3) - Mise à jour des signatures des composants du bouton d'action flottant pour correspondre à l'API Surface. (I3afaa)
- Ajout de la possibilité d'intégrer des encarts dans les barres d'application, les panneaux, les barres de navigation et les rails intégrés. Lorsqu'ils sont utilisés séparément ou avec Scaffold, ces composants gèrent automatiquement les encarts pour les développeurs. Notez que ce changement n'ajoute ni la gestion automatique des icônes de barre d'état ni la transparence de l'état et des barres de navigation. Veuillez continuer à procéder manuellement pour bénéficier d'une expérience bord à bord optimale. (I7e4e6, b/183161866)
- Mise à jour des composants par défaut afin de réduire la surface d'API et d'améliorer la flexibilité et les performances futures. (I31820)
- Réorganisation du chip et des paramètres de la feuille du panneau de navigation pour maintenir la cohérence dans l'API. (I45d0b)
- Suppression de
startIndent
dans "Divider" et déplacement de la couleur pour correspondre au dernier paramètre. (If7be2)
Version 1.0.0-alpha16
10 août 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha16
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
. Liste des commits de la version 1.0.0-alpha16
Nouvelles fonctionnalités
- Prise en charge de la spécification d'une largeur personnalisée dans un panneau de navigation. (Ia7f10)
Modifications apportées à l'API
- Réorganisation des paramètres des onglets et d'icône de début pour assurer la cohérence au sein de l'API. (Ie2637)
- Identification de
BadgeDefaults
comme étant expérimental. (I98ef3) - Suppression de la fonction de panneau de navigation obsolète. (I4f2db)
- Réorganisation des paramètres de curseur dans Material 3 pour assurer la cohérence dans l'API. (I0aee7)
- Réorganisation des paramètres
NavigationBar
etNavigationRail
pour assurer la cohérence dans l'API. (I51cda) - Réorganisation des paramètres dans Material 3 pour assurer la cohérence dans l'API. (If4ae1)
- Réorganisation des paramètres de curseur dans Material 3 pour assurer la cohérence dans l'API. (I62673)
- Remplacement du nom du paramètre des icônes par "actions" afin d'être cohérent avec la barre d'application supérieure. (Id75be)
- Identification de
Badge
etBadgedBox
comme étant expérimental, car l'alignement de l'ancre est toujours utilisé. (I1712e, b/236524516) - Remplacement des annotations
@ExperimentalMaterial3Api
au niveau des variantes de boutons d'icône par@OptIn
. (I070b5) - Séparation du contenu d'un panneau de navigation vers son propre composable afin de permettre la définition d'une largeur personnalisée pour celui-ci. (Ia7f10)
- Suppression de
Divider
dansMenuDefaults
etTabDefaults
. (I4e33c)
Version 1.0.0-alpha15
27 juillet 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha15
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
. Liste des commits de la version 1.0.0-alpha15
Nouvelles fonctionnalités
- Autorisation du glissement de la barre d'application supérieure à partir de la barre elle-même. (I65c00, b/205873416)
Modifications apportées à l'API
- Mises à jour des API
FilterChip
etElevatedFilterChip
afin de supprimer l'emplacementselectedIcon
et d'encourager la réutilisation deleadingIcon
pour afficher un état sélectionné. (Ie5dc2) - Ajout de rôles de couleur de bordure et de contour. (Id6d54)
- Correction des conventions d'attribution de noms pour les composables par défaut. (I62b27)
- Identification de
ListItemDefaults
etListItemColors
comme étant expérimental. (I1f3ec) - Modifications apportées à l'API de la barre d'application supérieure pour mieux refléter la signification de ses propriétés d'état. Identification de la barre d'application supérieure comme étant expérimentale. (Ic0ad8)
- Ajout des couleurs de sélection de texte à
TextFieldColors
pour une meilleure visibilité. (Iba1b8) - Ajout de
ButtonDefault.ButtonWithIconContentPadding
à utiliser avec les boutons contenant une icône. (I2bf9c) - Identification des champs de texte comme expérimentaux pour gagner en flexibilité lors des modifications futures de l'API. (I127b5)
- Suppression de l'annotation
@ExperimentalMaterial3Api
dans la fonctionCheckbox
. (I5eefc) - Suppression de l'annotation
@ExperimentalMaterial3Api
dans la fonctionRadioButton
. (I17e2a) - Suppression de l'annotation
@ExperimentalMaterial3Api
dans les fiches non interactives. (I9bd49) - Mise à jour de divers objets par défaut des composants pour inclure des couleurs, des formes, etc. (I96e11)
Correction de bugs
- Suppression des icônes de fin ne fonctionnant pas dans les exemples de chips d'entrée pour éviter toute confusion auprès des utilisateurs dans l'application de catalogue. (I9846a)
Version 1.0.0-alpha14
29 juin 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha14
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
. Liste des commits de la version 1.0.0-alpha14
Nouvelles fonctionnalités
- Ajout de l'implémentation de la liste M3 ; consultez la documentation pour voir un exemple d'utilisation. (Id7a20)
Modifications apportées à l'API
- Remplacement du nom de paramètre "values" par "value" dans
RangeSlider
. (I3b79a) - Modifications d'API apportées à l'implémentation d'
InputChip
pour permettre la sélection d'un état conformément aux spécifications de Material Design. Prise en charge supplémentaire au niveau des couleursFilterChip
lorsque l'état désactivé est sélectionné. (I55244, b/235792432) - Ajout du bouton d'action flottant par défaut
BottomAppBar
. (Ida4c8) - Ajout de
ColorScheme.surfaceColorAtElevation
. (Id41af) - 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)
- Prise en charge de l'implémentation de la fonction Comparable par
WindowWidthSizeClass
etWindowHeightSizeClass
, qui permet de les comparer en utilisant des opérateurs (<, <=, >=, >) et d'autres API. (I747d0)
Correction de bugs
- Mise à jour de l'exemple de badge pour fournir une description de contenu plus pertinente. (I10b9d)
- Ajout d'une option permettant d'utiliser la taille de police du système dans le sélecteur de thème du catalogue Material 3. (I10605)
- Ajout d'un exemple de code pour le badge et les indicateurs de progression indéterminés. (I8fbe0)
Version 1.0.0-alpha13
1er juin 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha13
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
. Liste des commits de la version 1.0.0-alpha13
Modifications apportées à l'API
- Conservation de la position de la barre d'application supérieure lors d'un changement de configuration. (I10459, b/216160958)
Version 1.0.0-alpha12
18 mai 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha12
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
. Liste des commits de la version 1.0.0-alpha12
Correction de bugs
- Le parent du curseur peut maintenant avoir une largeur correspondant à 0. (b/231707291)
Version 1.0.0-alpha11
11 mai 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha11
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
. Liste des commits de la version 1.0.0-alpha11
Nouvelles fonctionnalités
- Ajout de
RangeSlider
à Material 3. (I18e38) - Ajout de la compatibilité
AssistChip
etInputChip
avec Material 3. (I0d25a) - Ajout de la compatibilité
FilterChip
etSuggestionChip
avec Material 3. (I9fdf3)
Modifications apportées à l'API
- Remplacement du nom du composable
TextFieldDefaults.BorderStroke
permettant de tracer un trait de bordure dansOutlinedTextField
parTextFieldDefaults.BorderBox
. (I5f295) - Changement des modifications visuelles m3. (Iab30e)
- Prise en charge de la transmission des couleurs aux boutons d'icône standards. (Ia2445)
Correction de bugs
- Ajout d'une vérification lint pour Material/Scaffold, afin d'assurer l'utilisation de la marge intérieure. (I72293, b/226951418)
Version 1.0.0-alpha10
20 avril 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha10
et d'androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
. Liste des commits de la version 1.0.0-alpha10
Nouvelles fonctionnalités
material3-window-size-class
est une nouvelle bibliothèque qui prend en charge les classes de taille de fenêtre, qui sont un ensemble de points d'arrêt de fenêtre d'affichage définis qui permettent de concevoir, de développer et de tester des mises en page d'application redimensionnables. Vous pouvez utilisercalculateWindowSizeClass
pour récupérer une instance de classe de taille de fenêtre, qui vous permettra de déterminer l'apparence de votre UI (tel que l'affichage d'un rail de navigation au lieu de la barre de navigation inférieure pour les grandes fenêtres, par exemple). Pour en savoir plus et accéder à un exemple d'utilisation, consultez la documentation de référence de l'API pourWindowSizeClass
. Pour vous familiariser avec les définitions de classe de taille de fenêtre, consultez les conseils publics sur la prise en charge de différentes tailles d'écran.
Modifications apportées à l'API
- Ajout de l'élévation du bouton d'action flottant par défaut pour
BottomAppBar
, suppression du lambda de fin dans le champBottomAppBar
avec le bouton d'action flottant. (I92c47) - Ajout des éléments Material 3
FilledIconButton
,FilledTonalIconButton
etOutlinedIconButton
. (Ib2bda) - Mise à jour de l'API Material 3 Snackbar afin d'accepter les valeurs de couleur pour l'action facultative et l'action "Ignorer". (Ibe4b4)
- Abandon de la consommation partielle (position OR vers le bas) dans
PointerInputChange
. Vous pouvez utiliserconsume()
pour consommer complètement le changement. Vous pouvez utiliserisConsumed
pour déterminer si le changement a déjà été consommé par un tiers. - Mise à jour de
PointerInputChange::copy()
, qui crée désormais toujours une copie superficielle. Autrement dit, les copies dePointerInputChange
seront consommées une fois que l'une des copies aura été consommée. Si vous souhaitez créer unPointerInputChange
non associé, utilisez plutôt le constructeur. (Ie6be4, b/225669674) - Modifications apportées à l'API Cards afin de recevoir les couleurs du conteneur et du contenu via une interface
CardColors
, et de permettre la désactivation des fiches cliquables. (I927df) - Remplacement du nom du paramètre
backgroundColor
parcontainerColor
dans les champs de texte Material 3 afin d'améliorer la cohérence avec les autres composants. (I6fbd9)
Correction de bugs
- Mises à jour de l'élément standard
IconButton
pour qu'il corresponde avec la spécification Material 3. (I09Eab) - Déplacement de la hauteur de la barre supérieure de Material Scaffold vers la marge intérieure qui s'affiche au niveau du contenu, de sorte que le contenu apparaisse sous la barre d'application supérieure. Si les valeurs
PaddingValues
sont ignorées, le contenu risque d'être obscurci par la barre supérieure. (I83cbc, b/217776202)
Version 1.0.0-alpha09
6 avril 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha09
. Liste des commits de la version 1.0.0-alpha09
Nouvelles fonctionnalités
- Ajout de l'API Material 3 Switch. (I2c3ad)
Modifications apportées à l'API
- Ajout de la prise en charge des menus déroulants comportant des champs de texte (également appelés "menus déroulants exposés" ou "boîtes combinées"). (I1b832)
- Ajout du paramètre de forme ajouté au sous-système MaterialTheme et Shape. (I37426)
- Ajout d'un paramètre développé à
ExtendedFloatingActionButton
pour contrôler si le bouton d'action flottant est développé ou réduit, avec des animations entre chaque état. Ajout d'une surcharge pour les boutons d'action flottants étendus, avec un texte de fin sans icône. (Iba7f1)
Version 1.0.0-alpha08
23 mars 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha08
. Liste des commits de la version 1.0.0-alpha08
Nouvelles fonctionnalités
- Ajout de la prise en charge des champs de texte Material 3. (I795cc, b/199377790)
Modifications apportées à l'API
- Ajout d'un séparateur par défaut au menu. (I01374)
- Ajout du paramètre de couleur
surfaceTint
à la classeColorScheme
. (I2f558)
Correction de bugs
- Correction au niveau du bouton Material3 pour lire sa valeur de style de texte par défaut à partir du MaterialTheme. (Ie62fc)
Version 1.0.0-alpha07
9 mars 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha07
. Liste des commits de la version 1.0.0-alpha07
Modifications apportées à l'API
- Mises à jour de l'API Material 3 Surface qui restaure les fonctions surchargées pour les surfaces cliquables, et ajout d'une fonction prenant en charge les surfaces qui peuvent être sélectionnées et activées. (I4bf18)
- Mise à jour de
LazyVerticalGrid
etLazyHorizontalGrid
, désormais considérés comme stables. (I307c0) LazyVerticalGrid/LazyHorizontalGrid
et des API associées ont été déplacées dans le sous-package .grid. Remplacez vos importations d'androidx.compose.foundation.lazy par androidx.compose.foundation.lazy.grid. (I2d446)- Annulation d'une modification précédente qui consistait à ne dépendre que d'une vue pour
WindowInsetsControllerCompat
, et à exiger de nouveau une fenêtre pour gérer certains indicateurs de fenêtre. Abandon deViewCompat.getWindowInsetsController
au profit deWindowCompat.getInsetsController
pour assurer l'utilisation de la fenêtre appropriée (par exemple, si la vue se trouve dans une boîte de dialogue). (I660ae, b/219572936) - Ajout d'une API
LazyVerticalGrid
permettant de définir les tailles de l'axe transversal. (I17723)
Correction de bugs
- Mises à jour de l'API Card pour suivre les modifications apportées à l'API Surface. (I3c8b9)
Version 1.0.0-alpha06
23 février 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha06
. Liste des commits de la version 1.0.0-alpha06
Modifications apportées à l'API
- Ajout de
NavigationDrawerItem
, qui représente une destination unique dans les panneaux. (Ic396f, b/218286829) - Ajout de
PermanentNavigationDrawer
etDismissibleNavigationDrawer
en tant qu'API expérimentales. Ces panneaux conviennent bien aux appareils à grand écran. (I5f8ab, b/218286829) - Ajout de la prise en charge de la barre d'application Material 3. (Ic432a)
- Remplacement du nom de
NavigationDrawer
parModalNavigationDrawer
. (I1807d, b/218286829) - Ajout des jetons et de la classe Material 3 Slider. (I1ccee)
- Ajout de l'implémentation de "Tab" ; consultez la documentation pour voir un exemple d'utilisation. (Ie0146)
Correction de bugs
- Correction d'un problème qui provoquait la sélection d'un titre de barre d'application vide dans la navigation linéaire du lecteur d'écran
TalkBack
. (Id4690) - Ajout de
IconSize
au groupeFloatingActionButtonDefaults
. (Ia71cf) - Correction d'un bug pour les boutons
AlertDialog
masqués lorsqu'un texte long est ajouté avec un élémentLazyColumn
. (Ib2cc9, b/216663029)
Version 1.0.0-alpha05
9 février 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha05
. Liste des commits de la version 1.0.0-alpha05.
Nouvelles fonctionnalités
Ajout de composants Material Design 3
- Menu déroulant
- Fiches
Modifications apportées à l'API
- Abandon de la fonction
Surface
qui accepte un rappel onClick. Les surfaces cliquables doivent être créées avecInteractionSource
etModifier.clickable()
. (I211c6) - Ajout de la prise en charge de l'élévation en cas de pression et de ciblage des boutons d'action flottants. (Ibb584)
- Modification de l'API
Surface
pour recevoir une InteractionSource qui permet de contrôler son apparence dans différents états. (Iafbc8)
Correction de bugs
- Ajout des couleurs tertiaires manquantes dans les combinaisons de couleurs dynamiques. (I456c4, b/214588434)
Version 1.0.0-alpha04
26 janvier 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha04
. Liste des commits de la version 1.0.0-alpha04
Modifications apportées à l'API
- Ajout de
NonRestartableComposable
aux méthodes correspondant à des surcharges de méthodes existantes sans logique complexe. Cela réduit le nombre de vérifications (d'égalité) de la mémorisation générées par le compilateur pour tous les paramètres répétés dans la fonction interne appelée. (I90490) - Ajout du séparateur Material 3. (Ica5fc)
- Identification des éléments "Checkbox" et "RadioButton" avec une annotation d'API expérimentale. (Ie44bb)
- Ajout de la prise en charge des indicateurs de progression de Material 3. (Iff232, b/205023841)
Correction de bugs
- Mise à jour une couleur de conteneur
TextButton's
désactivée pour qu'elle soit transparente. (I6b248, b/213339737)
Version 1.0.0-alpha03
12 janvier 2022
Publication d'androidx.compose.material3:material3:1.0.0-alpha03
. Liste des commits de la version 1.0.0-alpha03
Correction de bugs
- Ajout de
LocalIndication
auMaterialTheme
de Material 3. (I7ce4e) - Correction de l'arrondi d'angle appliqué aux cases à cocher. (I38b03, b/175198975, b/202309440)
Mises à jour de la dépendance
- Elle dépend désormais de Kotlin
1.6.10
.
Version 1.0.0-alpha02
1er décembre 2021
Publication d'androidx.compose.material3:material3:1.0.0-alpha02
. Liste des commits de la version 1.0.0-alpha02
Nouvelles fonctionnalités
- Ajout de la prise en charge des cases à cocher et des cases d'option.
- Mise à jour pour assurer la compatibilité avec Kotlin
1.6.0
.
Modifications apportées à l'API
- Suppression du panneau de Material 3 Scaffold. (I04f51)
- Ajout de la prise en charge de
Checkbox
pour Material 3. (Id5542) - Ajout de la prise en charge de
RadioButton
pour Material 3. (I20334)
Correction de bugs
- Réduction rayon d'onde de l'élément
IconButton
de 40 dp à 20 dp. (I68bbe, b/206674345) - Changement du chemin d'accès rapide de la chaîne du port pour
Text
à partir decompose.material
. (I30b03) - Correction du bouton codé en dur pour qu'il soit toujours activé. (Iea832, b/205335456)
Version 1.0.0-alpha01
27 octobre 2021
Publication d'androidx.compose.material3:material3:1.0.0-alpha01
. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
Thématisation Material Design 3 et couleur dynamique Material You
Composants Material Design 3
- Boutons
- Bouton d'action flottant et bouton d'action flottant étendu
- Boîtes de dialogue
- Barre de navigation
- Panneau de navigation
- Rail de navigation
- Barre d'application supérieure
- Badge
- Icône
- Texte
- Surface
- Mise en page
- Couleur du contenu
Pour en savoir plus, consultez la section Material Design 3 et Material You du guide sur la thématisation Material de Compose.