Compose Material 3

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.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
13 novembre 2024 1.3.1 - - 1.4.0-alpha04

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.

GroupeDescription
compose.animationCréer des animations dans les applications Jetpack Compose afin d'enrichir l'expérience utilisateur.
compose.compilerTransformation de fonctions @Composable et prise en charge des optimisations avec un plug-in de compilation en Kotlin.
compose.foundationConception 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.materialCré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.material3Cré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.runtimeComposants 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.uiComposants 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.

Signaler un nouveau problème

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:

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 et contentColor à 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

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 un MutableInteractionSource nullable qui est défini par défaut sur "null". Aucune modification sémantique n'est apportée ici: transmettre la valeur null signifie que vous ne souhaitez pas hisser l'MutableInteractionSource, et qu'elle sera créée dans le composant si nécessaire. La valeur nulle permet à certains composants de n'allouer jamais de MutableInteractionSource et à d'autres de ne créer une instance que de manière paresseuse lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas le MutableInteractionSource que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans vos propres composants. (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

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é (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 adaptatives. (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 Material 3:

API d'échafaudage de volets adaptatifs Material3:

Compose Material3 version 1.4

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 et outlinedIconToggleButtonBorder. Le comportement maintenant rétabli a été déplacé vers un nouvel ensemble de fonctions appelées iconButtonVibrantColors, 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 supprimer DismissibleModalWideNavigationRail. (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 et rememberRichTooltipPositionProvider 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 et DateRangePicker. Vous pouvez empêcher la sélection en transmettant false. (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 lorsque contentPadding 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 lié à 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 et DateRangePicker lors de la définition d'un paramètre régional directement via un DatePickerState ou un DateRangePickerState. 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ètre color dans les fonctions du sélecteur de date et introduit un paramètre contentColor pour personnaliser les couleurs du texte de l'en-tête et du titre. (I30d03, b/347031394)
  • Renommez SplitButton en SplitButtonLayout et supprimez les API de variantes de couleur SplitButton. Les variantes seront obtenues en réutilisant les variantes de boutons fournies par SplitButtonDefaults. (I44c36)
  • ModalBottomSheet dispose désormais du paramètre sheetGestureEnabled. (I856cb, b/288211587)
  • Renommage de standardMotionScheme et expressiveMotionScheme en "standard" et "expressif". Les deux fonctions sont désormais accessibles via l'objet compagnon MotionScheme en appelant MotionScheme.standard() et MotionScheme.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 et DateRangePicker mettent désormais correctement à jour le mois affiché lorsqu'ils sont définis via le displayedMonthMillis 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 et DateRangePicker 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 fichiers build.gradle[.kts]. (I735ff, b/349894318)
  • La couleur du libellé actif de NavigationBarItem et NavigationRailItem est passée de onSurface à 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 remplacez selectedTextColor par MaterialTheme.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 et OutlinedIconToggleButtonColors pour améliorer le contraste des couleurs. (I2743d)
  • Mise à jour de la couleur du conteneur et du contenu pour FilledIconToggleButtonColors et FilledTonalIconToggleButtonColors. (Ic5d0f)
  • La couleur de bordure de OutlinedButton a été remplacée de outline par outlineVariant. (057f00)

Modifications apportées à l'API

  • Ajout d'un paramètre reverseLayout facultatif à la fonction enterAlwaysScrollBehavior de TopAppBar pour mieux prendre en charge le contenu défini avec un reverseLayout. (I4e0e5)
  • SegmentedButton est désormais compatible avec l'argument contentPadding. (I5ad91, b/358414376)
  • PullToRefreshState n'a plus d'implémentation par défaut pour isAnimating. (I6a593)
  • Ajout de nouvelles surcharges pour TextField et OutlinedTextField Material qui utilisent TextFieldState. Ajout d'API de boîte de décoration compatibles avec TextFieldDecorator. (If13a1)
  • Ajout d'un paramètre pour contrôler le labelPosition du champ de texte. L'utilisation de alwaysMinimize 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 et OutlinedSecureTextField 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 de TimePickerState 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 API ModalExpandedNavigationRail en DismissibleModalWideNavigationRail. (Ic9118)
  • Mise à jour de FloatingAppBarScrollBehavior pour calculer automatiquement screenOffset 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 constante LoadingIndicatorElevation au PullToRefresh. (I1d72b)
  • Mise à jour de l'API LoadingIndicator pour corriger le nom de son objet par défaut. Ajout d'une constante LoadingIndicatorElevation au PullToRefresh. (I1d72b)
  • Ajout de paramètres amplitude et waveSpeed aux variations indéterminées de LinearWavyProgressIndicator et CircularWavyProgressIndicator. (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 / en appuyant dessus. Suppression de l'API AnimatedTrailingButton, car l'API TrailingButton 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 via MaterialTheme. (Id50c2)

Correction de bugs

  • Appliquez l'index de balayage de focus approprié aux composables enfants Scaffold. L'ordre est topBar, bottomBar, bouton d'action flottant, contenu, barre de notification. (I5936b)
  • Correction d'un problème au niveau de DatePicker et DateRangePicker, 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 d'un problème qui empêchait la barre d'application inférieure de disparaître 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 et DateRangePicker mettent désormais correctement à jour le mois affiché lorsqu'ils sont définis via le displayedMonthMillis de leur état. (If9e47, b/333414302)
  • Correction des plantages dans DatePicker et DateRangePicker 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
  • [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 et DismissibleDrawerSheet) est désormais compatible avec la prévisualisation du Retour sur U+ (Ie5b0b)
  • 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)
  • 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 de pause 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 par PullToRefreshState.
    • Séparation de la connexion de défilement imbriquée de PullToRefreshState. Il est géré par le nouveau PullToRefreshBox ou Modifier.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 et darkColorScheme. (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 avec Surface et TonalElevation utilisent désormais des rôles SurfaceContainer 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 dans PullToRefreshBox (I75679)
  • Faire de TooltipScope une interface scellée et créer une implémentation interne à utiliser dans TooltipBox et Label. (I3833e)
  • Ajout de deux nouveaux modificateurs à CarouselItemScope, maskClip et maskBorder, 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 vers TextStyle et suppression de TextDefaults 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 de CaretProperties. Suppression de CaretProperties. Remplacement du nom CaretScope par TooltipScope. (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 de LinkAnnotations thématiques et l'analyse du code HTML avec des liens thématiques. Au lieu de cela, une classe TextLinkStyles 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 par PullToRefreshState.
    • Séparation de la connexion de défilement imbriquée de PullToRefreshState. Il est géré par le nouveau PullToRefreshBox ou Modifier.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é, et LocalRippleConfiguration a été rendu nullable. Pour désactiver un ondulation, au lieu de fournir un RippleConfiguration avec isEnabled = false, fournissez null à 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ètre ModalBottomSheet windowInsets a été renommé en contentWindowInsets pour spécifier où les encarts seront appliqués. Ils ne sont plus liés à la logique de la fenêtre. Le type contentWindowInsets a été remplacé par une fonction qui renvoie WindowInsets, afin qu'il puisse être résolu dans sa nouvelle fenêtre. (I39630, b/274872542, b/300280229, b/290893168)
  • PrimaryScrollableTabRow et SecondaryScrollableTabRow 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 enfoncé en plus du style normal, du style en survol et du style en surbrillance. Les méthodes TextDefaults disposent chacune d'un argument pressedStyle 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 et DockedSearchBar 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 que SearchBarDefaults.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 le BasicTooltip de Foundation soit stabilisé. (Icda29)
  • Ajout d'un objet TextDefaults contenant des méthodes permettant de créer un LinkAnnotation et d'analyser une chaîne taguée en HTML qui applique MaterialTheme aux liens. (I98532, b/139312671)
  • ExposedDropdownMenuBoxScope n'autorise plus les sous-classes. Les menus déroulants exposés comportent désormais un MenuAnchorType qui doit être transmis à menuAnchor pour améliorer l'accessibilité. Utilisez cette méthode au lieu de transmettre focusable à ExposedDropdownMenu, qui est désormais obsolète. menuAnchor dispose d'un nouveau paramètre pour contrôler l'état de enabled. (I55ee6, b/257209915, b/308840226)
  • Correction de la couleur de la bordure de OutlinedButton lorsqu'elle est désactivée. Ajout d'une surcharge ButtonDefaults.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é si sheetSwipeEnabled est défini sur "false". (I5e1c1, b/306464779)
  • Suppression de certaines annotations OptIn ExperimentalMaterial3Api dans IconButtonSamples.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 et HorizontalUncontainedCarousel (I88d64)
  • Mise à jour du panneau de navigation Compose M3 (ModalDrawerSheet et DismissibleDrawerSheet) 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 et SwipeToDismissBoxValue sont désormais marqués comme stables. (I5f000)
  • Suppression des énumérations et API DismissDirection et DismissValue obsolètes. (I89ccd)
  • Ajout d'une balise expérimentale à l'objet compagnon CarouselState du carrousel. (I94154)
  • Abandon de LocalMinimumInteractiveComponentEnforcement et introduction de LocalMinimumInteractiveComponentSize 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 de surface et d'arrière-plan par défaut dans lightColorScheme et darkColorScheme. (I9db52)

Nouvelles fonctionnalités

  • Ajout de paramètres pour personnaliser ExposedDropdownMenu. En particulier, les menus comportent désormais un paramètre focusable (true par défaut) qui doit être défini sur false 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 de Popup. 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,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 et darkColorScheme. (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 de onValueChangeFinished dans un rememberUpdatedState. (I82ab2, b/322269951)
  • Les composants de navigation utilisent désormais les nouveaux rôles SurfaceContainer. DrawerDefaults fournit désormais des attributs standardContainerColor et modalContainerColor distincts. DrawerDefaults.ModalDrawerElevation est désormais 0.dp. (I7fbac)
  • Suppression de @Stable des états de Slider, car nous remplaçons state.onValueChangeFinished par var. (Ied34a, b/322269951)
  • La spécification d'animation ModalBottomSheet et StandardBottomSheet est désormais un TweenSpec, mis à jour à partir d'une animation de rétroaction. Cela résout un problème de dépassement visible. Les constructeurs SheetState 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 et TonalElevation utilisent désormais des rôles SurfaceContainer 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 et RangeSlider 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 un DateRangePicker 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ôle SurfaceContainer pour la couleur du conteneur. MenuDefaults.TonalElevation est désormais 0.dp. (I135b7)
  • TextField utilise désormais le rôle SurfaceContainerHighest 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ésormais SurfaceContainerHigh. DatePickerDefaults.TonalElevation est désormais 0.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ésormais SurfaceContainer. (Ia8b45)
  • La couleur du conteneur SearchBar est désormais SurfaceContainerHighest. SearchBarDefaults.TonalElevation est désormais 0.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ésormais SurfaceContainerHigh. (Ie0433)
  • La couleur du conteneur BottomAppBar est désormais SurfaceContainer. La couleur onScroll de TopAppBar est désormais SurfaceContainer. (I41630)
  • La couleur du conteneur ElevatedCard est désormais SurfaceContainerLow. Couleur du conteneur FilledCard de SurfaceContainerHighest. (I35141)
  • La couleur du conteneur ElevatedButton est désormais SurfaceContainerLow. Les FilledIconButton non sélectionnés ont désormais une couleur de conteneur SurfaceContainerHighest. (I792c9)
  • Remplace la couleur du conteneur TimePicker et le rôle de couleur du cadran de l'horloge par SurfaceContainerHighest. (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 de pause 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 de DatePicker comme interne (Ic65dc)
  • DropdownMenu accepte désormais 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 un MutableInteractionSource nullable dont la valeur par défaut est 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 de MutableInteractionSource et à d'autres de ne créer une instance que de manière paresseuse lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas le MutableInteractionSource que vous transmettez à ces composants, nous vous recommandons de transmettre la valeur nulle à la place. Nous vous recommandons également d'apporter des modifications similaires dans vos propres composants. (I41abb, b/298048146)
  • Ajoute RippleConfiguration et LocalRippleConfiguration 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 de createRippleModifierNode. (I7b5d6, b/298048146)
  • Ajout d'une nouvelle API ripple dans material3, qui remplace rememberRipple, désormais obsolète. Ajoute également un CompositionLocal temporaire, LocalUseFallbackRippleImplementation, pour rétablir l'utilisation des API rememberRipple / 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 un RippleTheme 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 de ModalBottomSheet dans des scénarios spécifiques en combinaison avec LookaheadScope. (I2a198)
  • Suppression de la sous-composition dans BottomSheetScaffold pour améliorer les performances. Correction d'un problème qui provoquait le plantage de BottomSheetScaffold dans des scénarios spécifiques en association avec LookaheadScope. (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 de onValueChangeFinished dans un rememberUpdatedState. (Ie8fd0, b/322269951)
  • Suppression de @Stable des états de Slider, car nous remplaçons state.onValueChangeFinished par var. (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 à utiliser TabRow avec TabRowDefaults.PrimaryIndicator.

Changements importants depuis 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

Améliorations des performances

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 dans CardDefaults.cardColors qui ne mettait pas à jour contentColor en fonction de la valeur du paramètre containerColor. (Iee041, b/319671246)
  • Correction d'un bug dans disabledContentColor introduit dans 1.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éfaut disabledContentColor à un alpha (0,38f) de LocalContentColor au lieu du contentColor spécifié par l'utilisateur. Pour contourner ce problème, définissez explicitement disabledContentColor. 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 et SwipeToDismissValue 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 lorsque android: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 indicateurs TabRow différemment avec les modificateurs personnalisés fournis. (Ife741)
  • Abandon des API DismissDirection et DismissValue. Ils ont été fusionnés avec SwipeToDismissValue, dont les valeurs indiquent à la fois la position et la direction de SwipeToDismissBox. DismissState.progress est désormais marqué comme FloatRange entre 0.0 et 1.0. L'économiseur et le constructeur obsolètes DismissState ont été supprimés. Le composant SwipeToDismiss, 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 valeurs FloatRange 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 et PullToRefreshState, 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 et DismissValue comme étant expérimental. (I517b0)
  • SwipeToDismiss a été renommé SwipeToDismissBox. Renommez background en backgroundContent et dismissContent en lambda content de fin. (I7f4d3)
  • Rendez le constructeur de ChipElevation et SelectableChipElevation public. (Ie0c48, b/308432421)
  • Ajout de ModalBottomSheetProperties. Déplacement de securePolicy vers ModalBottomSheetProperties. Ajout de isFocusable et shouldDismissOnBackPress à 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 et Slider pour supprimer initialOnValueChange, 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 directement BorderStroke à la place. (I89cc2)
  • Les API d'info-bulle Foundation sont désormais @ExperimentalFoundationApi. (I30b0b)
  • TabRow et ScrollableTabRow 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ésormais BorderStroke directement. (I89b9b)
  • La fonction générique AlertDialog a été renommée BasicAlertDialog, et la fonction précédente est obsolète. (Idbe52)
  • Renommez les API SwipeToDismiss en SwipeDismiss et définissez les nouvelles API SwipeDismiss comme stables. (I14cbe)
  • Ajout de tonalElevation et shadowElevation aux API d'info-bulle. Nous avons également replacé les API TooltipBox, PlainTooltip et RichTooltip 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 et BadgedBox en version stable. (I67f16, b/261565132)
  • Ajout de securePolicy en tant que paramètre à ModalBottomSheet afin que les utilisateurs puissent définir le comportement de WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262)
  • Ajout de nouvelles surcharges pour LinearProgressIndicator et CircularProgressIndicator qui acceptent progress comme lambda. Elles devraient être plus performantes que les versions précédentes. (I824e6, b/295616656)
  • Remplacement du nom StandardSizeClasses par AllSizeClasses. (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 et DismissibleNavigationDrawer pour utiliser les nouvelles API AnchoredDraggable. animateTo de DrawerState 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 via currentOffset. (I0a72c)
  • Des fonctions non modulables ont été ajoutées pour créer directement un DatePickerState et un DateRangePickerState. Ces fonctions peuvent être utilisées à la place des fonctions composables rememberDatePickerState et rememberDateRangePickerState 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 et SecondaryScrollableTabRow 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 et RichTooltipBox en tant que méthodes obsolètes. (I246fa)

Correction de bugs

  • Correction d'un plantage lorsque le DatePicker est initialisé avec un DatePickerFormatter 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 un BottomAppBarScrollBehavior comme paramètre pour l'afficher automatiquement lorsque le contenu défile. Ajout également de FabPosition.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 l'affichage horizontal 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'appeler onDismissedRequest 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émente DraggableState (I9b116)
  • Définissez la forme comme paramètre obligatoire. Renommez position en index 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 de PlainTooltipBox et RichTooltipBox pour utiliser TooltipBox avec les nouveaux composables PlainTooltip et RichTooltip. (I79e1d)

Correction de bugs

  • dynamicLightColorScheme et dynamicDarkColorScheme renvoient désormais des couleurs de chroma plus élevées pour les rôles de surface et surfaceContainer. (I5e901)
  • Correction d'un problème qui empêchait certains composants utilisant une sous-composition (par exemple, BottomSheetScaffold) dans un Scaffold dans un LookaheadScope 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 de DropdownMenu 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 de DropdownMenu 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. La disabledUncheckedColor 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'un CheckboxColors 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 et ToggelableSegmentedButtonRow respectivement. (I38740)
  • Le séparateur a été renommé HorizontalDivider. Ajout de la fonctionnalité VerticalDivider. (I5975c)
  • Remplacez l'utilisation de ClosedFloatingPointRange par FloatRange, 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ésormais false par défaut dans la typographie Material 3. Le style de hauteur de ligne par défaut a également été remplacé par Trim.None et Alignment.Center, et des lineHeight explicites (en sp) ont été ajoutés aux TextStyle de Typography. 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'un RangeSliderState contenant toutes les informations sur le canal actif actuel, les mesures des composants du RangeSlider 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ôles SurfaceContainer.
  • 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éer StandardSizeClasses pour WindowSizeClasses (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 sur topBar et bottomBar 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 et dynamicDarkColorScheme 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 avec windowInsets 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 pour BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)
  • Abandon de Indicator et ajout de Primary/SecondaryIndicator pour correspondre aux spécifications de M3. PrimaryIndicator correspond à la largeur du contenu de l'onglet, tandis que SecondaryIndicator 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'un DropdownMenu ou d'un ExposedDropdownMenu 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'un SliderState contenant toutes les informations sur le canal actif actuel, les mesures des composants du Slider et la logique de glisser-déposer et de geste. (I124a5)
  • Modification du nom de la propriété sémantique isContainer en isTraversalGroup (I121f6)
  • Ajout de TextStyle.merge(...) optimisé avec la liste complète des paramètres. (Iad234, b/246961787)
  • Conversion de TooltipState, RichTooltipState et PlainTooltipState en interfaces publiques. Ajout de RichTooltipStateImpl et de PlainTooltipStateImpl pour les états par défaut. Ajout de fonctions remember*State pour obtenir ces états implémentés. TooltipSync a été supprimé au profit d'un TooltipDefault.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 et DateRangePickerState sont désormais des interfaces publiques avec des implémentations par défaut qui peuvent être récupérées par rememberDatePickerState et rememberDateRangePickerState. (I71c52)
  • Suppression de dateValidator de DatePicker et DateRangePicker, et introduction d'une interface SelectableDates 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 de valeur incorrecte renvoyée par state.hour 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 de ModalBottomSheet sans paramètre windowInset 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 avec windowInsets 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 pour BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275486106, b/268433162)

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ètre skipHiddenState facultatif
  • rememberStandardBottomSheetState comporte désormais un paramètre skipHiddenState facultatif
  • BottomSheetScaffold 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 passez pas du cadran des heures à celui des minutes lorsque l'exploration tactile est activée. (I717d0)
  • Les sémantiques de poignée de glissement ModalBottomSheet et BottomSheetScaffold sont désormais fusionnées. (I05afb)
  • Le modificateur BottomSheetScaffold, les paramètres containerColor et contentColor 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 de BottomSheetScaffoldState. (I063d4)

Modifications apportées à l'API

  • Ajout de fonctionnalités à DatePickerState et DateRangePickerState 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 fonction setSelection 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" en PartiallyExpanded 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ésormais ReadOnlyComposables, 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 de ModalBottomSheet n'était pas calculé correctement et la feuille semblait flotter. (I45e84, b/268411386)
  • Ajout d'une vérification confirmValueChange pour le tapotement du masquage pour ModalBottomSheet. (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 la sélection et de l'état d'erreur. Le paramètre textColor a été renommé unfocusedTextColor, et placeholderColor 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.
  • 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 par elevation 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 et outlinedTextFieldPadding. (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 toujours SheetDefaults.ExpandedShape. (I0dfca)
  • Améliorations de l'accessibilité pour DatePicker et DateRangePicker 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 avec TimePickerState et la méthode pratique rememberTimePickerState. (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 et ModalBottomSheetDefaults. Ajout également de SheetState et de rememberSheetState, 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 et ListItemColors en version non expérimentale. (I7e7fa, b/261438882)
  • Passage de SliderPositions, SliderDefaults.Thumb et SliderDefaults.Track en version stable, et ajout d'API Slider et RangeSlider non expérimentales contenant des pouces et des canaux personnalisés. Abandon des API Slider et RangeSlider 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'API PlainTooltipBox 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é vers LocalMinimumInteractiveComponentEnforcement. (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

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 erreur java.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 votre androidx.compose.material et androidx.compose.material3 vers la dernière version (1.1.0-alpha04) ou revenez à la version 1.4.0-alpha03 de androidx.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(), et withConsumedWindowInsets() 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 un Scrollable 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 et Compose 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 et waitForUpOrCancellation acceptent désormais PointerEventPass pour plus de flexibilité (et correction de ExposedDropdownMenuBox 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 que TextField et OutlinedTextField, 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 fonction topAppBarColors à utiliser lors de la création d'une TopAppBar. (Ie6cb9)
  • Ajout du paramètre minLines dans BasicText et BasicTextField. 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 et IconToggleBotton 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

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 utiliser calculateWindowSizeClass 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 pour WindowSizeClass.

  • 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 modificateur Modifier.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 fonction TopAppBar é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 et NavigationRail 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 et BadgedBox 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 dans MenuDefaults et TabDefaults. (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 et ElevatedFilterChip afin de supprimer l'emplacement selectedIcon et d'encourager la réutilisation de leadingIcon 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 et ListItemColors 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 fonction Checkbox. (I5eefc)
  • Suppression de l'annotation @ExperimentalMaterial3Api dans la fonction RadioButton. (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 couleurs FilterChip 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 et WindowHeightSizeClass, 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 et InputChip avec Material 3. (I0d25a)
  • Ajout de la compatibilité FilterChip et SuggestionChip avec Material 3. (I9fdf3)

Modifications apportées à l'API

  • Remplacement du nom du composable TextFieldDefaults.BorderStroke permettant de tracer un trait de bordure dans OutlinedTextField par TextFieldDefaults.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 utiliser calculateWindowSizeClass 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 pour WindowSizeClass. 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 champ BottomAppBar avec le bouton d'action flottant. (I92c47)
  • Ajout des éléments Material 3 FilledIconButton, FilledTonalIconButton et OutlinedIconButton. (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 utiliser consume() pour consommer complètement le changement. Vous pouvez utiliser isConsumed 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 de PointerInputChange seront consommées une fois que l'une des copies aura été consommée. Si vous souhaitez créer un PointerInputChange 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 par containerColor 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

Modifications apportées à l'API

  • Ajout d'un séparateur par défaut au menu. (I01374)
  • Ajout du paramètre de couleur surfaceTint à la classe ColorScheme. (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 et LazyHorizontalGrid, 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 de ViewCompat.getWindowInsetsController au profit de WindowCompat.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 et DismissibleNavigationDrawer 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 par ModalNavigationDrawer. (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 groupe FloatingActionButtonDefaults. (Ia71cf)
  • Correction d'un bug pour les boutons AlertDialog masqués lorsqu'un texte long est ajouté avec un élément LazyColumn. (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

Modifications apportées à l'API

  • Abandon de la fonction Surface qui accepte un rappel onClick. Les surfaces cliquables doivent être créées avec InteractionSource et Modifier.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

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 de compose.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

Pour en savoir plus, consultez la section Material Design 3 et Material You du guide sur la thématisation Material de Compose.