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
2 juillet 2025 1.3.2 - - 1.4.0-alpha17

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.2"
    implementation "androidx.compose.material3:material3-window-size-class:1.3.2"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.3.2")
    implementation("androidx.compose.material3:material3-window-size-class:1.3.2")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha17")
}

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 Common version 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

  • Consommer les encarts 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)
  • Rendez 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 vers les nouveaux chemins de module. (Ibc421)
  • Migrez pour utiliser la version Window Manager 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

  • Mise à jour du nom du package de navigation-suite à navigationsuite (I7eff7)
  • Les composants Material3 exposant un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource pouvant être nul, qui est nul par défaut. Il n'y a pas de changement sémantique ici : transmettre une valeur nulle signifie que vous ne souhaitez pas hisser le MutableInteractionSource, et il sera créé à l'intérieur du composant si nécessaire. Le passage à la valeur nulle permet à certains composants de ne jamais allouer de MutableInteractionSource et à d'autres de ne créer une instance que lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas le MutableInteractionSource que vous transmettez à ces composants, nous vous recommandons de transmettre plutôt la valeur "null". Nous vous recommandons également d'apporter des modifications similaires à vos propres composants. (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 comporte 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 de destination facultatif à 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 du scaffold (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 bord à bord dans les échafaudages de volets (I1b462)

Modifications apportées à l'API

  • Déplacement des propriétés des limites de la charnière dans Posture vers une liste d'informations sur la charnière (I24f90)

Correction de bugs

  • Correction de AnimatedPane qui 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 structure par des alias de ThreePaneScaffoldRole. (I65bd1)
  • Créer une classe de base pour les rôles de scaffold (I4784d)
  • Supprimer le paramètre inutile du contenu de AnimatedPane (Ibc73b)
  • Renommage de collectWindowSizeAsState et renvoi des valeurs brutes à la place (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

  • Séparation des API de navigation des API de canevas adaptatif. (Ic4045)
  • Supprimer le cours GutterSize. (I785b3)

Correction de bugs

  • Correction du problème de non-bascule des volets 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 directives pour le scaffold de volet adaptatif Material3 :

API de structure de volet adaptatif Material3 :

Compose Material3 version 1.4

Version 1.4.0-alpha17

2 juillet 2025

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

Nouvelles fonctionnalités

  • Mise à jour de l'animation du groupe de boutons pour qu'elle atteigne 75 % de l'animation lorsqu'un utilisateur clique dessus au lieu d'appuyer dessus. (593942a, b/423596967)

Correction de bugs

  • Correction d'un problème qui pouvait entraîner, dans certains cas, le dépassement de la taille des grands éléments par un élément de carrousel lors des calculs de mise en page, ce qui coupait l'intégralité du widget. (I1c3d7, b/397489534)
  • Correction du saut au-delà de beforeContentPadding lors du défilement de carrousels avec des décalages de début et de fin qui se chevauchaient. (c3d5f3a, b/420618979)
  • Mettez à jour le comportement activé de SwipeToDismiss pour observer l'état défini au lieu de l'état actuel. Restaure le comportement existant où le comportement d'ancrage n'est désactivé que lorsque le composant est dans un état fermé. (3844e07, b/425006844)
  • Le menu pop-up de ExposedDropdownMenu peut désormais être ouvert à l'aide du clavier. Correction : le menu est désormais accessible au clavier pour la variante modifiable. (46ead03)

Version 1.4.0-alpha16

18 juin 2025

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

Nouvelles fonctionnalités

  • Ajout d'un composant de carrousel principal centré (I6f6d3)

Modifications apportées à l'API

  • Implémenter la barre d'outils verticale des remplacements XR (Ia1604)
  • Ajout de fonctions de défilement programmatique à CarouselState (I12f8e)
  • Ajout de ComponentOverride pour ModalWideNavigationRail (I4f440)
  • Ajout de ComponentOverride pour WideNavigationRail (I6354f)
  • Créer ComponentOverride pour HorizontalFloatingToolbar (I51116)
  • Créer ComponentOverride pour ShortNavigationBar (I30e24)
  • Les références SwipeToDismissBoxState à confirmValueChange ont été marquées comme obsolètes. Les utilisateurs doivent plutôt utiliser le rappel onDismissed de l'API SwipeToDismissBox. (Iee780)
  • Ajout du paramètre userScrollEnabled aux composables Carousel. (I1d4d2)
  • Les currentItem du carrousel peuvent désormais être observés depuis CarouselState. (Ie87e9)

Correction de bugs

  • Correction d'un problème qui empêchait l'application correcte de l'ombre d'une forme arbitraire sur un FAB transmis à un FloatingToolbar. (Icdcc9, b/423336922)
  • Tous les carrousels utilisent désormais le rôle sémantique "Carrousel" par défaut. (I7af12)
  • Correction du mouvement incorrect du pouce lorsque l'état du curseur était mis à jour via LaunchedEffect (Id9f31, b/302774166)

Version 1.4.0-alpha15

20 mai 2025

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

Modifications apportées à l'API

  • Ajout de MotionTheme.LocalMotionScheme, composition locale. Cela permet d'accéder au schéma de mouvement du thème à partir de CompositionLocalConsumerModifierNodes, avec currentValueOf(MotionTheme.LocalMotionScheme). (I014b1)
  • Abandon du constructeur ColorScheme sans rôles de couleur fixe. Veuillez migrer vers le constructeur qui inclut des rôles fixes. (Iad0ee)
  • Le composant de texte M3 est désormais compatible avec TextAutoSize. (I7f524)
  • Ajoutez une API pour créer des variantes de taille de bouton fractionné et ajoutez des exemples. (Ice30b)

Correction de bugs

  • Correction d'un problème qui entraînait un positionnement incorrect de Snackbar et FloatingActionButton lorsque le mode bord à bord était activé. Scaffold applique désormais correctement les encarts horizontaux à ces composants. (Ib7c30, b/244400727)
  • Corrigez le mouvement BottomSheet de l'état entièrement développé à l'état partiellement développé. BottomSheet utilise désormais l'effet rapide de MotionScheme lors de l'opération de masquage ou de réduction, et l'effet spatial par défaut lors de l'opération de développement. (Ifa46f, b/416063171)
  • Le constructeur ColorScheme sans rôles de conteneur de surface a été marqué comme masqué et n'est plus recommandé. (Ia7237)
  • Suppression d'une exigence CircularWavyProgressIndicator Size.minDimension > 0, qui générait auparavant une exception, pour plus de flexibilité. (Ic9418, b/377531195)
  • Les liens hypertexte dans Text(AnnotatedString) sont désormais stylisés avec Material par défaut. (I78288, b/339843816)
  • Correction d'un problème où la fonction toShape() dans RoundedPolygon mettait en cache un chemin d'accès et provoquait un problème lorsque plusieurs appels createOutline étaient effectués avec des tailles différentes. (I4026d)

Version 1.4.0-alpha14

7 mai 2025

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

Modifications apportées à l'API

  • Ajout d'un nouveau composable AppBarColumn fonctionnant de la même manière que AppBarRow, mais pour le contenu disposé dans une colonne. (Iaf6bd)
  • Ajout du nombre maximal d'éléments à AppBarRow. Cette opération est nécessaire pour implémenter correctement la spécification Material pour les barres d'application supérieures. (I92ce4)
  • Ajout d'une méthode dans TooltipScope pour obtenir le layoutCoordinates de l'ancrage. La méthode drawCaret est obsolète, car les développeurs peuvent utiliser cette nouvelle méthode pour obtenir les limites d'ancrage layoutCoordinates et créer une forme appropriée contenant un caret. (Ia2e12, b/329470609)
  • Ajout de la prise en charge de java.time pour les sélecteurs de date : ajout de surcharges rememberDatePickerState/rememberDateRangePickerState qui acceptent les objets java.time (par exemple, LocalDate initial, YearMonth). Ajout également de fonctions d'extension sur les objets d'état pour obtenir/définir des valeurs à l'aide de types tels que LocalDate et YearMonth. Nécessite l'API 26 ou une version ultérieure, ou le desugaring. (I70f29, b/266202516, b/281859606)
  • Ajoutez un composable CenteredTrack permettant d'utiliser un curseur avec une piste qui commence au centre. (I5b1d6)

Correction de bugs

  • Amélioration des performances des indicateurs de progression ondulés : les types linéaires se chargent désormais environ 8,5 % plus rapidement avec environ 11 % d'allocations en moins, tandis que les types circulaires bénéficient d'un gain de vitesse considérable d'environ 47 % et d'une réduction des allocations d'environ 39 %. (I595d8)

Version 1.4.0-alpha13

23 avril 2025

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

Modifications apportées à l'API

  • Réintroduction de isAppearanceLightStatusBars et isAppearanceLightNavigationBars dans ModalBottomSheetProperties en tant que paramètres Android uniquement. (Id4bc0)
  • Ajoutez un composable AppBarRow qui gère le débordement des éléments qui dépassent ses limites. (I742bd)
  • Mettez à jour les API DatePicker et DateRangePicker pour demander la sélection lors du passage à un mode de saisie de date. Nous avons remplacé le paramètre booléen requestFocus par un paramètre focusRequester facultatif qui accepte un FocusRequester. (I14b69)
  • Supprimez le modificateur et la source d'interaction des éléments cliquables et activables par défaut. Faites-en plutôt un détail d'implémentation. (I95ed6)
  • Mise à jour de ButtonGroup pour qu'il se déverse dans un menu déroulant lorsqu'il y a trop de boutons pour tenir sur l'écran. (I7b88b)

Correction de bugs

  • La feuille inférieure consomme désormais les encarts supérieurs lorsqu'elle est plus petite que le décalage actuel. Cela permet aux utilisateurs de fournir des encarts supérieurs pour le comportement développé. BottomSheetDefaults.windowInsets inclut désormais WindowInsets.safeDrawing.Top. (I0ab67, b/321877275, b/336962418, b/342093067)
  • Animations d'entrée/sortie (fondu/glissement) activées pour les icônes/avatars de début et de fin des chips lorsqu'ils sont ajoutés ou supprimés. Cela profite principalement aux chips sélectionnables (filtre, saisie), mais s'applique de manière générale. (I9af21)
  • Correction du comportement incorrect du curseur RTL causé par LookaheadScope. (Ieb152, b/408118041)
  • Correction du plantage de Bottom AppBar lié au défilement avec une interface utilisateur système masquée. (Ic6140, b/405996228)

Version 1.4.0-alpha12

9 avril 2025

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

Modifications apportées à l'API

  • Suppression des paramètres spécifiques à Android de ModalBottomSheetProperties (Iab97f, b/362539765)
  • Introduction de fonctions de surcharge pour les valeurs par défaut de la taille de la poignée de déplacement (I0ed0d)
  • Ajoutez de nouvelles fonctions NavigationSuiteScaffold et NavigationSuiteScaffoldLayout pour prendre en charge les nouveaux types de mise en page et ajouter la prise en charge d'un contenu d'action principale facultatif. (Ib262a, b/353144478)
  • Obsolète Modifier.weight avec le paramètre de remplissage dans ButtonGroup. Ajouter une version sans remplissage. (Id32bb)
  • Renommez les valeurs par défaut du composant IconButton xSmall- et xLarge- pour épeler extra. (Ib6e0f)
  • Ajoutez de nouvelles fonctions NavigationSuite, NavigationSuiteItem et NavigationSuiteColors pour prendre en charge de nouveaux types de mise en page. (I203d6)
  • Ajoutez une fonction NavigationSuiteTypes et une fonction navigationSuiteType qui incluent ces choix de mise en page (If68f9).

Correction de bugs

  • ColorScheme.contentColorFor mappe désormais surfaceDim à onSurface. (I8891a)
  • Mise à jour de l'implémentation de DateInputTextField pour résoudre un problème qui empêchait le champ de saisie de refléter la date définie par programmation. (I6c8d1, b/401143451)
  • Correction de l'ordre de sélection TalkBack pour le rail de navigation et le rail de navigation large (I6cf6f, b/407048224).

Version 1.4.0-alpha11

26 mars 2025

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

Modifications apportées à l'API

  • Mise à jour de la typographie des propriétés composables dans les objets par défaut pour le bouton et le bouton bascule. Ajoutez des méthodes dans ToggleButtonDefaults et ButtonDefaults pour le contenu recommandé (marge intérieure, formes, taille des icônes, espacement des icônes et style de texte) en fonction de la hauteur du conteneur. (Iea69e)
  • Suppression des fonctions et constantes expérimentales obsolètes de FloatingToolbar. (I8f339)
  • Les composants d'élévation partagent désormais une interface commune et disposent de constructeurs et de propriétés publics. (Ibb172)
  • Ajout du modificateur animateWidth dans ButtonGroupScope, qui devra être utilisé avec les enfants du groupe de boutons pour animer correctement les enfants. (Ia3bb6)

Correction de bugs

  • Correction de la marge intérieure de la barre d'outils flottante pour assurer un équilibre visuel lors de la réduction et améliorer la flexibilité pour les contenus plus volumineux. (I06c00)

Version 1.4.0-alpha10

12 mars 2025

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

Modifications apportées à l'API

  • TabRowDefaults.tabIndicatorOffset a été abandonné au profit de TabIndicatorScope.tabIndicatorOffset. (Ib36b3)
  • Correction d'une faute de frappe pour la petite marge intérieure du contenu dans les valeurs par défaut des boutons. (I19bfe)
  • TabRow et ScrollableTabRow sont obsolètes et remplacés par les variantes principales et secondaires de chacun. Les lignes des onglets "Principal" et "Secondaire" sont plus performantes et plus conformes aux spécifications. (I918e2)
  • Ajout de rememberSliderState et de rememberRangeSliderState. (I8e384)
  • Ajout de shouldAutoSnap à SliderState pour contrôler le mécanisme d'accrochage automatique. La désactivation peut être utile pour les animations personnalisées. (I07745)
  • La largeur minimale des onglets d'une ligne d'onglets défilable est désormais un paramètre. Les variantes de ligne d'onglets principaux et secondaires ne sont plus expérimentales. (If6f15, b/226665301)
  • La classe ExitAlwaysFloatingToolbarScrollBehavior a été rendue publique, ce qui permet la création sans composition. (Ibf31c)

Version 1.4.0-alpha09

26 février 2025

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

Modifications apportées à l'API

  • Renommer les champs de paramètres de DragHandle dans l'état par défaut ; séparer les états appuyé et déplacé ; rendre les tailles par défaut publiques. (I787b9)
  • Mises à jour de l'API TowRowsTopAppBar. Suppression du paramètre lambda expanded et ajout de paramètres distincts pour les hauteurs développée et réduite. (Idd677, b/306697446, b/229134133, b/268068946)

Correction de bugs

  • Les barres d'application inférieures observent désormais le service d'exploration tactile (par exemple, TalkBack) et les garder visibles chaque fois que le service est activé. (I4b34d)

Version 1.4.0-alpha08

12 février 2025

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

Nouvelles fonctionnalités

  • Ajout d'une API TimePickerDialog pouvant être utilisée pour TimePicker, TimeInput ou pour disposer d'une version commutable. (Id2d83)

  • Nouvelles API de barre de recherche :

    • Les barres de recherche réduites et les "vues" de recherche développées sont désormais des composables distincts.
    • SearchBar représente une barre de recherche à l'état réduit.
    • ExpandedFullScreenSearchBar et ExpandedDockedSearchBar représentent la barre de recherche dans son état développé. Ils s'ouvrent dans une nouvelle fenêtre.
    • SearchBarState pour contrôler l'état de la barre de recherche
    • TopSearchBar pour ajouter la gestion des encarts et le comportement de défilement
    • Nouvelle surcharge de InputField qui utilise SearchBarState (Ie0723, b/261496232, b/283311462, b/350916229, b/352872248)

Modifications apportées à l'API

  • Prise en charge de la morphose de la forme d'angle des boutons d'icône lors de l'appui. (I21843)
  • Les API de boîte de décoration/décorateur de champ de texte ne sont plus expérimentales. (I31d95)
  • Ajout d'exemples et de valeurs par défaut pour la variante connectée de ButtonGroup. (I5c8ce)
  • Faites en sorte que le paramètre d'état soit le dernier dans NavigationSuiteScaffold et NavigationSuiteScaffoldLayout. (I9cc7b)

Correction de bugs

  • Ajout d'actions d'accessibilité personnalisées à FloatingToolbars afin que les services d'accessibilité puissent désormais développer ou réduire toutes les variantes de FloatingToolbar. La version avec bouton d'action flottant l'applique au bouton d'action flottant, tandis que la version sans bouton d'action flottant l'applique au contenu principal. (I26420)
  • Les FloatingToolbars observent désormais le service d'exploration tactile (par exemple, TalkBack) et de laisser la barre d'outils développée et visible chaque fois que le service est activé. (I02172)
  • Correction d'un plantage au niveau des indicateurs de progression et de chargement lorsqu'un Float.NaN est transmis en tant que progression. (I4fa96, b/352364576)

Version 1.4.0-alpha07

29 janvier 2025

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

Nouvelles fonctionnalités

  • Ajout d'une nouvelle API pour personnaliser plus facilement l'apparence des cases à cocher. Cette API fournit des paramètres de trait qui permettent de mieux contrôler la façon dont la coche et le contour de la case à cocher sont affichés. (I65a88)
  • Ajout de l'API TwoRowsTopAppBar, une alternative plus personnalisable aux barres d'application moyennes et grandes pour créer des barres d'application supérieures sur deux lignes. Les développeurs peuvent désormais contrôler le contenu des titres et des sous-titres dans les états réduit et développé, avec des hauteurs personnalisables pour chaque état. (I0be3c, b/306697446, b/229134133, b/268068946)

Modifications apportées à l'API

  • Renommage d'une variante expérimentale BottomAppBar en FlexibleBottomAppBar, offrant plus de contrôle sur la disposition et la hauteur du contenu. (Iaa448)
  • Renommez les propriétés de l'objet par défaut du groupe de boutons en CapitalCase. Mise à jour du nom de animateFraction pour qu'il reflète plus précisément le comportement qu'il représente. (I545cd)
  • Ajout de surcharges pour les boutons courants qui permettent d'animer les formes lors de l'interaction par pression. Ajout de formes de boutons mises en cache. (I5ec20)
  • Vous pouvez désormais contrôler la façon dont un FloatingToolbar avec FAB réagit au défilement en fournissant un FloatingToolbarScrollBehavior. Pour les barres d'outils positionnées le long d'un bord central (comme en haut ou en bas au centre), nous vous recommandons d'utiliser un comportement de défilement pour masquer l'intégralité du composant lors du défilement, afin d'obtenir un aspect plus épuré. Cela empêche également le FAB de se décentrer, ce qui pourrait se produire lors de l'utilisation de l'indicateur expanded pour la réduction. (I33f67)
  • Mise à jour des API expérimentales TopAppBar pour utiliser Alignment.Horizontal au lieu d'un TopAppBarTitleAlignment personnalisé lors de la définition de l'alignement du titre et du sous-titre. (I70ca2)
  • SliderState#onValueChange est désormais public pour donner plus de contrôle à l'utilisateur (I104eb)
  • Ajout de NavigationSuiteScaffoldState pour permettre l'animation du composant de navigation. Ajout de surcharges de NavigationSuiteScaffold et NavigationSuiteScaffoldLayout avec un paramètre d'état. (I6a8c9, b/328674235)

Correction de bugs

  • Déplacez les classes IconButtonColors et IconToggleButtonColors de IconButtonDefaults.kt vers IconButton.kt. (I3c233)

Contribution externe

  • SliderState#isDragging est désormais public. (I8458a)

Version 1.4.0-alpha06

15 janvier 2025

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

Nouveau comportement

  • Ajout de displayCutout au groupe d'encarts que les composants Material prennent en compte par défaut, afin d'éviter que le contenu ne se chevauche avec l'encoche. Il s'agit d'un changement de comportement qui aura une incidence sur la façon dont les composants compatibles avec les encarts se comportent autour d'une encoche. Cela inclut la valeur par défaut du paramètre WindowInsets pour les composants Material 3 compatibles avec les encarts, ainsi que les valeurs WindowInsets fournies dans les objets "Defaults" des composants pour Material 2 et Material 3. Si cette modification entraîne un comportement indésirable, spécifiez manuellement le paramètre WindowInsets pour chaque composant. (I43ee9, b/362508045)

Modifications apportées à l'API

  • Mises à jour de l'API TopAppBar. Renommez les barres d'application supérieures moyennes et grandes avec un sous-titre en *FlexibleTopAppBar. Unification des variations de couleur dans une seule fonction TopAppBarDefault.topAppBarColors() et ajout d'un paramètre de couleur subtitle à appliquer pour un composable de sous-titre fourni (I41b65)
  • Suppression de l'API WideNavigationRailArrangement au profit de Arrangement.Vertical (Id0341)
  • Ajoutez un VerticalSlider @Composable. (I2bfba)
  • Ajoutez une nouvelle piste @Composable qui permet de spécifier des coins et des icônes de piste externes personnalisés. (I436a4)
  • Mettez à jour les API de la barre d'outils flottante pour utiliser l'objet FloatingToolbarColors au lieu d'une seule couleur de conteneur. (I9a054)
  • Ajouter et utiliser la nouvelle annotation expérimentale ExperimentalMaterial3ComponentOverrideApi (Ia1eaf)
  • Modifier.indicatorLine accepte désormais une forme pour que le champ de texte gère le clipping. (I8c5f3, b/380704151)
  • Renommer les fonctions FloatingAppBar expérimentales en FloatingToolbar (I1dbf8)
  • Ajout d'un nouveau floatingToolbarVerticalNestedScroll qui peut être associé à un conteneur à défilement pour mettre à jour l'état d'expansion de la barre d'outils flottante en fonction d'un mouvement de défilement qui dépasse un seuil. (I6d65f)
  • Présentation d'une nouvelle API permettant de créer une barre d'outils flottante avec un bouton d'action flottant (FAB) associé. L'API offre des options de personnalisation flexibles, ce qui vous permet d'organiser la barre d'outils horizontalement ou verticalement, et de placer le FAB au début ou à la fin de la barre d'outils. (I9e350)

Correction de bugs

  • Correction d'un problème d'accessibilité lié à Snackbar qui entraînait l'annonce de sa fermeture lorsque TalkBack était activé. (/I9db53)

Contribution externe

  • BasicTooltip a été commonisé dans foundation et BasicTooltip/Tooltip dans material3. (Ifc2e6)

Version 1.4.0-alpha05

12 décembre 2024

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

Modifications apportées à l'API

  • Remplacer le type dans la valeur WideNavigationRailState.current/target par une énumération pour une meilleure lisibilité (I2d6ab)
  • SplitButton : modification de l'API Shape, qui passe de la classe de données à la classe pour la compatibilité binaire. (I53812)
  • Ajout d'une API d'info-bulle avec un paramètre onDismissRequest pour permettre aux créateurs de décider de ce qui se passe lorsqu'un utilisateur clique en dehors de l'info-bulle. L'ancienne API qui ne contient pas ce nouveau paramètre est désormais obsolète. (I99aef)
  • Remplacez le nom opticalCentering par horizontalCenterOptically. Rendre le modificateur interne. Remplacez le paramètre de marge intérieure par le décalage maximal de début et de fin. (I0b904)
  • Remplacez WideNavigationRailState par la valeur actuelle/cible, supprimez les énumérations au profit des valeurs booléennes. (Idfa29, b/356039090)
  • Ajout de NavigationBarItemComponentOverride. (I3a06a)

Correction de bugs

  • Correction des comportements des barres d'application supérieure et inférieure pour changer de couleur de manière fiable lorsque le contenu est entièrement défilé. (Idc4e8, b/293665988)
  • Les fonctions de comportement de défilement pour les barres d'application supérieures et inférieures renvoient désormais un comportement mémorisé pour de meilleures performances lors des recompositions. (I0fdbe, b/207957336)
  • Le paramètre de modificateur est désormais appliqué après les modificateurs internes tels que le comportement de déplacement et la sémantique, au lieu d'avant. Cela affecte l'ordre dans lequel les modificateurs sont appliqués. (I8d83f)
  • La bottom sheet développée reste développée lorsque la taille change. (I2870b, b/324934884)
  • Route correctement les indicateurs de barre d'état et de navigation pour les propriétés des fenêtres. (Ie674d, b/362539765)
  • Déplacez le paramètre de modificateur vers la racine des scaffolds, comme indiqué dans la documentation. Cela permet d'aligner l'implémentation sur M2. (I0235e, b/372311595)

Contribution externe

  • Fonction DatePickerDialog commonisée. (I7dced)

Version 1.4.0-alpha04

13 novembre 2024

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

Nouveaux comportements

  • Rétablissement des modifications de couleur introduites dans aosp/3212478 pour iconButtonColors, iconToggleButtonColors, outlinedIconButtonColors, outlinedIconToggleButtonColors et outlinedIconToggleButtonBorder. Le comportement qui a été rétabli a été déplacé dans un nouvel ensemble de fonctions appelées iconButtonVibrantColors, etc., pour mettre en évidence les couleurs à contraste élevé renvoyées. (Iffd8d)

Nouvelles fonctionnalités

  • Présenter le composant VerticalDragHandle (I6c770)

Modifications apportées à l'API

  • DismissibleModalWideNavigationRailDefaults a été renommé ModalWideNavigationRailDefaults. (I8e877)
  • Ajout de NavigationBarComponentOverrides. (I8a3f3)
  • Ajout de NavigationRailComponentOverride. (I83e13)
  • Ajout de WideNavigationRailState pour gérer le pliage/dépliage du rail, autoriser la fermeture de ModalWideNavigationRail et supprimer DismissibleModalWideNavigationRail. (I88568)
  • Ajoutez les tailles par défaut xSmall, medium, large et xLarge aux valeurs par défaut du bouton bascule. (Ie95d1)
  • Ajoutez les tailles par défaut xSmall, medium, large et xLarge aux tailles par défaut des boutons. (If8b6d)

Correction de bugs

  • La couleur de l'icône de fin du chip de filtre est passée de "Primaire" à OnSurfaceContainer, conformément aux spécifications. La couleur du contour de tous les chips est passée de "Contour" à "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)
  • Des 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 et non 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 saisie, le champ de texte de la date est sélectionné pour 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 paramètres par défaut de la forme dans l'objet Shape. Définition des valeurs par défaut de la forme @Composable pour le bouton bascule. Les formes sont réduites en une seule forme par défaut, car les variantes pointent vers le même fichier de jetons. (Iaa014)

Correction de bugs

  • Optimisez le comportement de Scaffold contentPadding pour éviter de recomposer systématiquement 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 saisie, où les erreurs de validation pouvaient entraîner une modification de la hauteur du composant. (I2e229, b/280462363)
  • Faites en sorte que le curseur Material modifie sa valeur lorsque des touches de contrôle 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 directement les paramètres régionaux sur l'état, il vous incombe de vous assurer que les textes du titre et de l'en-tête 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 prévaut désormais correctement sur toutes les couleurs conflictuelles définies dans les styles de texte de 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 bouton fournies par SplitButtonDefaults. (I44c36)
  • ModalBottomSheet dispose désormais du paramètre sheetGestureEnabled. (I856cb, b/288211587)
  • Remplacement des noms standardMotionScheme et expressiveMotionScheme par "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 déplace désormais le contenu hors de la barre d'état. (I5114c, b/321877275, b/336962418, b/342093067)
  • [Bottom Sheet] Change back callback priority to PRIORITY_DEFAULT to allow IME keyboard to dismiss first. (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)
  • Corrigez 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'appuyait sur cette dépendance, vous devrez l'ajouter explicitement dans vos fichiers build.gradle[.kts]. (I735ff, b/349894318)
  • La couleur du libellé actif de NavigationBarItem et NavigationRailItem passe de onSurface à secondary afin d'améliorer la facilité d'utilisation, 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 l'animation de l'indicateur de progression circulaire indéterminé (I3c07e)
  • Mettez à jour OutlinedIconButtonColors et OutlinedIconToggleButtonColors pour un meilleur contraste des couleurs. (I2743d)
  • Mise à jour de la couleur du conteneur et du contenu pour FilledIconToggleButtonColors et FilledTonalIconToggleButtonColors. (Ic5d0f)
  • La couleur de bordure OutlinedButton a été remplacée par outlineVariant.outline (057f00)

Modifications apportées à l'API

  • Ajout d'un paramètre reverseLayout facultatif à la fonction enterAlwaysScrollBehavior de TopAppBar pour une meilleure prise en charge du 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 de 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 un libellé et un espace réservé dans un champ de texte en même temps, 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 dans les info-bulles. (I62e6a)
  • isAfternoon de TimePickerState est désormais une valeur d'extension au lieu d'une variable dans l'interface, renommée isPm (I89a97)
  • Mise à jour de la classe de typographie pour prendre en charge les échelles de type mises en avant. (Ifa13c)
  • Ajout de l'API ModalWideNavigationRail et changement de nom des API ModalExpandedNavigationRail en DismissibleModalWideNavigationRail. (Ic9118)
  • Mise à jour de FloatingAppBarScrollBehavior pour calculer automatiquement screenOffset et ne pas nécessiter de @Composable. (Idf349)
  • Mises à jour de l'API LoadingIndicator pour corriger la dénomination au niveau de son objet par défaut. Ajout d'une constante LoadingIndicatorElevation à PullToRefresh. (I1d72b)
  • Mises à jour de l'API LoadingIndicator pour corriger la dénomination au niveau de son objet par défaut. Ajout d'une constante LoadingIndicatorElevation à PullToRefresh. (I1d72b)
  • Ajout des paramètres amplitude et waveSpeed aux variantes indéterminées de LinearWavyProgressIndicator et CircularWavyProgressIndicator. (I2a0c5)
  • Permet de modifier la forme d'un bouton bascule d'icône en fonction de son état (appuyé ou coché). (Ibc781)
  • Mise à jour de la classe de typographie pour prendre en charge les échelles de type mises en avant. (Ifa13c)
  • La forme SplitButton se transforme en fonction de l'état par défaut / appuyé. Suppression de l'API AnimatedTrailingButton, car l'API TrailingButton peut offrir les mêmes personnalisations (I95066)
  • Ajoutez 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'espacements de groupe de boutons connectés à ButtonGroupDefaults à utiliser dans un exemple. (I68e30)
  • Ajouter une marge intérieure horizontale pour le bouton de fin et activer le centrage optique calculé à partir des différences entre les coins de début et de fin (I122e2)
  • Introduction d'un nouveau 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 parcours de mise au point approprié aux composables enfants Scaffold. L'ordre est topBar, bottomBar, fab, content, snackbar. (I5936b)
  • Correction d'un problème au niveau de DatePicker et DateRangePicker où, dans certaines langues et certains squelettes de format, certains éléments de date (par exemple, les noms de mois) ne commençaient pas par une majuscule. (I1430f)
  • Intégration des jetons de composants FAB et FAB Menu (modifications visuelles mineures apportées aux marges intérieures et au texte) (Ib57f3)
  • ModalBottomSheet est désormais en première position dans l'ordre de déplacement sémantique, suivi du cache. (I436f9, b/358594665)
  • Correction du problème de la barre d'application inférieure qui ne disparaissait pas entièrement lors du défilement sous la capsule de navigation en mode bord à bord (I3ee21)

Compose Material3 version 1.3

Version 1.3.2

9 avril 2025

Publication d'androidx.compose.material3:material3-*:1.3.2. La version 1.3.2 contient ces commits.

Correction de bugs

  • ListItem corrige le calcul de sa hauteur intrinsèque et réserve désormais la quantité d'espace appropriée dans la mise en page.
  • Supprimez l'excédent de marge intérieure du libellé NavigationBarItem pour l'aligner correctement sur la spécification.
  • Correction de la mise en page TabRow en mode de droite à gauche.

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)
  • Corrigez 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)
  • Modifiez la priorité du rappel de retour utilisée par les feuilles inférieures sur 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] est désormais compatible avec la prévisualisation du Retour sur U+ (I657f8).
  • Le panneau de navigation (ModalDrawerSheet et DismissibleDrawerSheet) est désormais compatible avec la prévisualisation du geste Retour sur U+ en tant qu'option (Ie5b0b).
  • DropdownMenu accepte désormais les couleurs, les formes, l'élévation et les bordures personnalisées. (I8e981,b/289554448, b/301887035, b/283654243)
  • Mise à jour du curseur pour améliorer l'accessibilité en ajoutant un espace et un indicateur d'arrêt. (I3058e)
  • Mise à jour de ProgressIndicator pour améliorer l'accessibilité en ajoutant un indicateur d'écart et d'arrêt. (I21451)
  • Ajout d'un caret par défaut pour l'info-bulle enrichie. Prise en charge du caret personnalisé à dessiner en fonction de l'ancrage LayoutCoordinates. (Ifd42c) Modifications destructives
  • Nouvelles API Pull-to-Refresh :
    • Simplification de PullToRefreshState pour utiliser des valeurs fractionnaires au lieu des unités Dp.
    • L'état isRefreshing est contrôlé par l'utilisateur au lieu de PullToRefreshState.
    • Séparation de la connexion de défilement imbriquée à partir de PullToRefreshState. Il est géré par le nouveau PullToRefreshBox ou Modifier.pullToRefresh.
    • Cette mise à jour constitue une modification destructive des précédentes API expérimentales. (I0adeb, b/314496282, b/317177684, b/323787138, b/324573502, b/317177683) Modifications visuelles majeures
  • Mettez à jour l'overlay de l'état de sélection sur 0.1f pour garantir un contraste des couleurs suffisant. (I7ea77)
  • Petits ajustements apportés aux valeurs par défaut de la couleur de surface et d'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 formellement la couleur avec Surface et TonalElevation utilisent désormais les 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 des surfaces et des conteneurs de surface ont été légèrement ajustés, ce qui permet d'obtenir plus de nuances dans les thèmes clair et sombre. (I677a5)
  • Passage des API expérimentales à la 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 en première position dans l'ordre de déplacement sémantique, suivi du cache. (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 tronqué sur Android N et O (a10a2d)
  • Augmentation des limites sémantiques du curseur pour que TalkBack affiche correctement les indicateurs de focus autour des pouces. (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

  • Rendez androidx.compose.material3.DropdownMenu disponible à partir de l'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 prend en charge l'élévation. Mettez à jour les API Pull To Refresh pour qu'elles soient activées par 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. Ils permettent d'ajouter facilement une forme et une bordure à n'importe quel élément de carrousel (Id67a1).
  • TimePickerState est désormais une interface et permet de définir 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 la barre d'état et de la barre de navigation ModalBottomSheet répondent désormais à l'état du thème sombre. (Ie1fe7, b/338342149)
  • Ajout de la 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

  • Utiliser DpSize au lieu de CaretProperties. Suppression de CaretProperties. CaretScope a été renommé TooltipScope. (Id9a76)
  • Mise à jour de l'API pour obtenir des liens à thème Material dans le texte. Plus précisément, les méthodes ont été supprimées de TextDefaults pour construire des LinkAnnotations thématiques et analyser le code HTML avec des liens thématiques. À la place, une classe TextLinkStyles a été ajoutée pour permettre de 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 pour l'actualisation par balayage :

    • Simplification de PullToRefreshState pour utiliser des valeurs fractionnaires au lieu des unités Dp.
    • L'état isRefreshing est contrôlé par l'utilisateur au lieu de PullToRefreshState.
    • Séparation de la connexion de défilement imbriquée à partir de PullToRefreshState. Il est géré par le nouveau PullToRefreshBox ou Modifier.pullToRefresh.
    • Cette mise à jour constitue une modification destructive des précédentes API expérimentales. (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 une ondulation, au lieu de fournir un RippleConfiguration avec isEnabled = false, fournissez null à LocalRippleConfiguration. (I22725)
  • ModalBottomSheet dessine plus précisément le voile sur la barre d'état lorsque le mode bord à bord est activé. Le contenu de la bottom sheet modale peut désormais consommer les encarts de fenêtre, ce qui permet d'afficher du contenu au-dessus de la barre de navigation. Le paramètre ModalBottomSheet windowInsets a été renommé 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, pour lui permettre d'ê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)
  • L'option de style d'état enfoncé a été ajoutée aux liens textuels, en plus des styles normal, survolé et sélectionné. Les méthodes TextDefaults ont chacune reçu un argument pressedStyle pour prendre en charge cette fonctionnalité. (Ic473f, b/139312671)

Correction de bugs

  • Les ancres de déplacement du tiroir de navigation correspondent désormais à la largeur de drawerContent. (Ibc72f, b/245355396)
  • La marge intérieure supérieure de OutlinedTextField pour le libellé tient désormais compte de la taille de la police système. (Idc781)
  • Emplacement du package corrigé : CalendarLocale. (Ifa235)
  • [Prévisualisation du Retour] Mettre à jour les 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 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 coches si nécessaire (I0c048).

Modifications apportées à l'API

  • Les liens textuels disposent désormais d'une option de style pour l'état "appuyé", en plus des styles normal, survolé et sélectionné (I5f864, b/139312671).
  • Mise à jour de CarouselItemInfo pour exposer un Rect de masque par lequel l'élément est coupé (I785d8)
  • Suppression de BasicTooltipState de l'API publique Material 3. Sa fonctionnalité est combinée à TooltipState jusqu'à ce que BasicTooltip de Foundation soit stabilisé. (Icda29)
  • Ajout d'un objet TextDefaults contenant des méthodes permettant de construire un LinkAnnotation et d'analyser une chaîne avec des balises HTML qui appliquent MaterialTheme aux liens (I98532, b/139312671).
  • ExposedDropdownMenuBoxScope n'autorise plus les sous-classes. Les menus déroulants exposés disposent désormais d'un MenuAnchorType qui doit être transmis à menuAnchor pour une meilleure accessibilité. Vous devez utiliser cette méthode au lieu de transmettre focusable à ExposedDropdownMenu, qui est désormais obsolète. menuAnchor comporte un nouveau paramètre permettant de contrôler l'état enabled. (I55ee6, b/257209915, b/308840226)
  • Correction de la couleur de la bordure de OutlinedButton lorsqu'il est désactivé. Ajout d'une surcharge ButtonDefaults.outlinedButtonBorder("enabled") qui prend en compte l'état activé. (Ie650b, b/318461363)
  • Ajout d'une 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)
  • [Outlined]TextFieldDefaults ContainerBox a été renommé Container. (Ie8d3b)

Correction de bugs

  • BottomSheetScaffold ne défile plus à partir du défilement imbriqué si sheetSwipeEnabled est défini sur "false". (I5e1c1, b/306464779)
  • Suppression de certaines annotations ExperimentalMaterial3Api OptIn 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 Material3 : HorizontalMultiBrowseCarousel et HorizontalUncontainedCarousel (I88d64)
  • Mise à jour du panneau de navigation Compose M3 (ModalDrawerSheet et DismissibleDrawerSheet) pour prendre en charge la prévisualisation du geste Retour sur U+ en tant que fonctionnalité optionnelle (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 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 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 des barres d'application supérieures sur une seule ligne trop souvent lors du défilement du contenu. Résolution d'un problème qui entraînait la troncature des titres 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 des API DismissDirection et DismissValue obsolètes. (I89ccd)
  • Ajout d'un tag expérimental à l'objet associé CarouselState de Carousel. (I94154)
  • Abandon de LocalMinimumInteractiveComponentEnforcement et ajout 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 destructives visuelles

  • Mettez à jour l'overlay de l'état de sélection sur 0.1f pour garantir un contraste des couleurs suffisant. (I7ea77)
  • Petits ajustements apportés aux valeurs par défaut de la couleur de surface et d'arrière-plan 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 utilisez 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éorganisation des paramètres dans le composable Slider Track. (I9f315)
  • ExposedDropdownMenu est désormais implémenté à l'aide de Popup. Le comportement devrait être le même, sauf que les menus pouvant être sélectionnés avec des champs de texte modifiables peuvent être fermés lors de la saisie au clavier.

Correction de bugs

  • Les rôles de référence des surfaces et des conteneurs de surface ont été légèrement ajustés, ce qui permet d'obtenir plus de nuances 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 l'overlay de l'état de sélection sur 0.1f pour garantir un contraste des couleurs suffisant. (I7ea77)
  • Petits ajustements apportés aux valeurs par défaut de la couleur de surface et d'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

  • Stabilisation des états du curseur. Définition de State.onValueChangeFinished comme valeur à nouveau. Encapsulation de onValueChangeFinished dans un rememberUpdatedState. (I82ab2, b/322269951)
  • Les composants 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, qui a été 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 formellement la couleur avec Surface et TonalElevation utilisent désormais les rôles SurfaceContainer par défaut, qui ne sont pas affectés par l'élévation tonale. (b/304584161)
  • Correction d'un bug qui entraînait l'affichage en noir de la couleur du conteneur désactivé et non sélectionné de ElevatedFilterChip. (I400e6, b/322407043)
  • Correction de l'indicateur de progression indéterminée lorsque la progression est de 0 (Id6582)
  • 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 des valeurs flottantes peut être inexact. (Ic918a, b/324934900)
  • Assurez-vous que DatePickerDialog affiche ses boutons lorsqu'un DateRangePicker est imbriqué ou lorsqu'un sélecteur de date de n'importe quel type s'affiche sur de petits écrans avec de grandes polices. (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 suré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 Bottom Sheets et la couleur de la poignée de déplacement. (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)
  • Mise à jour du commutateur pour désactiver et désélectionner les pistes/icônes afin d'utiliser 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. La couleur du conteneur de FilledCard est 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)
  • Mise à jour du rôle de couleur du conteneur TimePicker et du cadran de l'horloge sur 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 geste Retour sur U+ (I657f8)
  • Mise à jour du curseur pour améliorer l'accessibilité en ajoutant un espace et un indicateur d'arrêt. (I3058e)
  • Mise à jour de ProgressIndicator pour améliorer l'accessibilité en ajoutant un indicateur d'écart et d'arrêt. (I21451)
  • Ajout d'un caret par défaut pour l'info-bulle enrichie. La nouvelle API d'info-bulle enrichie permet désormais de dessiner un caret personnalisé en fonction de l'ancrage LayoutCoordinates. (Ifd42c)

Nouveaux comportements

  • Les composants Material ont été migrés pour utiliser les nouvelles API d'ondulation et n'interrogent plus RippleTheme.

Modifications apportées à l'API

  • La fonctionnalité amusante drawStopIndicator est désormais publique. (I3f59f)
  • Marquage de la fonction formatWithSkeleton de DatePicker comme interne (Ic65dc)
  • DropdownMenu accepte désormais les couleurs, les formes, l'élévation et les bordures personnalisées. (I8e981, b/289554448, b/301887035, b/283654243)
  • Les composants Material3 exposant un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource pouvant être nul et dont la valeur par défaut est null. Il n'y a pas de changement sémantique ici : transmettre une valeur nulle signifie que vous ne souhaitez pas hisser le MutableInteractionSource, et il sera créé à l'intérieur du composant si nécessaire. Le passage à la valeur nulle permet à certains composants de ne jamais allouer de MutableInteractionSource et à d'autres de ne créer une instance que lorsqu'ils en ont besoin, ce qui améliore les performances de ces composants. Si vous n'utilisez pas le MutableInteractionSource que vous transmettez à ces composants, nous vous recommandons de transmettre plutôt la valeur "null". Nous vous recommandons également d'apporter des modifications similaires à vos propres composants. (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 une ondulation pour un composant. Dans la plupart des cas, les valeurs par défaut doivent être utilisées. Ces API sont une échappatoire pour la personnalisation de composants individuels ou de sous-arborescences limitées. Pour des modifications plus importantes et des systèmes de conception personnalisés, vous devez plutôt créer votre propre effet d'onde à 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, LocalUseFallbackRippleImplementation temporaire pour rétablir l'utilisation des API rememberRipple / RippleTheme obsolètes par les composants Material3. Cette fonctionnalité sera supprimée dans la prochaine version stable. Elle n'est destinée qu'à aider temporairement à la migration dans les cas où vous fournissez un RippleTheme personnalisé. (I34cbc, b/298048146)

Correction de bugs

  • Suppression de la sous-composition à l'intérieur de ModalBottomSheet pour améliorer les performances. Correction d'un problème qui pouvait entraîner le plantage de ModalBottomSheet dans des scénarios spécifiques en combinaison avec LookaheadScope. (I2a198)
  • Suppression de la sous-composition à l'intérieur de BottomSheetScaffold pour améliorer les performances. Correction d'un problème de plantage de BottomSheetScaffold dans des scénarios spécifiques en combinaison avec LookaheadScope. (Ie6401)
  • L'alignement des badges a été ajusté pour qu'ils soient plus proches du centre du contenu d'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 considéré comme actionnable par les utilisateurs de lecteurs d'écran, de Switch Access et de Voice Access. (I2ac55)
  • Correction d'un 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

  • Rendez à nouveau les états du curseur stables. Définition de State.onValueChangeFinished comme valeur à nouveau. 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)
  • Corrigez les couleurs personnalisées NavigationBar à copier à partir des valeurs par défaut. (80a779, b/326894020)
  • Correction de la régression dans ExposedDropdownMenu pour le rendre à nouveau sélectionnable (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.

Les API expérimentales sont désormais stables !

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 d'un 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

  • Par défaut, un bug dans IconButtonColors attribuera disabledContentColor à un canal alpha (0,38f) de LocalContentColor au lieu de contentColor spécifié par l'utilisateur. La solution consiste à définir explicitement disabledContentColor. Ce problème sera résolu dans la prochaine version.

Modifications apportées à l'API

  • Ajout de la possibilité d'activer les chevrons d'info-bulle pour les API Tooltip en texte brut. (Ibf767)
  • SwipeToDismissState, rememberSwipeToDismiss et SwipeToDismissValue sont tous renommés pour inclure _SwipeToDismissBox_. (I68d6d)

Correction de bugs

  • Correction de la valeur de marge intérieure de fin de ListItem pour l'aligner sur les spécifications. (Ibd68b, b/305342674)
  • La couleur de la bordure des cartes avec bordure 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 aligne plus étroitement la couleur dynamique sur les spécifications 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

  • Identification de TabIndicatorScope comme étant expérimental. (I45c88)
  • Suppression des API expérimentales obsolètes pour l'info-bulle. (I438cb)
  • Modifiez 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. Elles ont été fusionnées en 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. Les classes Saver et Constructor DismissState obsolètes ont été supprimées. 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 pour PullToRefresh est désormais une pointe de 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 accepte désormais une plage Kotlin (par exemple, 0f..1f) au lieu d'une classe de valeur FloatRange personnalisée. SnapFlingBehavior.kt utilise désormais également une plage Kotlin. (I025cb)
  • Marquez les fonctions de fabrique Modifier 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 fournissent ensemble une implémentation de l'actualisation par balayage dans Material3. (I16456, b/261760718)

Modifications apportées à l'API

  • Marquez SwipeToDismissBox DismissDirection et DismissValue comme expérimentaux. (I517b0)
  • SwipeToDismiss a été renommé SwipeToDismissBox. Renommez background en backgroundContent et dismissContent en lambda content de fin. (I7f4d3)
  • Rendez le constructeur pour 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 feuille inférieure 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)
  • Déprécier la classe ChipBorder et ses appels de fonction associés, et recommander d'utiliser directement BorderStroke. (I89cc2)
  • Les API d'info-bulle de base sont désormais @ExperimentalFoundationApi. (I30b0b)
  • TabRow et ScrollableTabRow ne sont plus obsolètes. Les nouvelles variantes "Principal" 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 directement BorderStroke. (I89b9b)
  • La fonction générique AlertDialog a été renommée BasicAlertDialog, et la fonction précédente a été abandonnée. (Idbe52)
  • Renommez les API SwipeToDismiss en SwipeDismiss et promouvez les nouvelles API SwipeDismiss en version stable. (I14cbe)
  • Ajout de tonalElevation et shadowElevation aux API d'info-bulles. De plus, les API TooltipBox, PlainTooltip et RichTooltip sont de nouveau expérimentales, car elles ont été publiées par erreur en tant que stables. (If0f66, b/293939035)
  • Promotion des API de chip expérimentales en version stable. (Iea2c3)
  • Suppression de l'annotation @ExperimentalMaterial3Api dans les fiches cliquables Material3. (I88dbf)

Correction de bugs

  • Correction d'un problème qui entraînait 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 de LinearProgressIndicator et CircularProgressIndicator qui prennent progress comme lambda. Elles devraient être plus performantes que les versions précédentes. (I824e6, b/295616656)
  • StandardSizeClasses a été renommé AllSizeClasses. (I8cb07)
  • Combiner les fonctions de calcul des classes de taille de fenêtre. (Iad935)

Correction de bugs

  • Correction d'un plantage de DatePicker lors d'un clic rapide sur les boutons en forme 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/Rail 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 composables ont été ajoutées pour créer directement un DatePickerState et un DateRangePickerState. Ces fonctions peuvent être utilisées comme alternative aux fonctions composables rememberDatePickerState et rememberDateRangePickerState, si nécessaire. (I70326, b/291524052)
  • Les TabRows fixes et défilants disposent désormais de variantes principales et secondaires. Elles correspondent correctement au comportement des couleurs et des indicateurs tel que défini 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 une largeur maximale sur laquelle la feuille s'étendra. Dp.Unspecified peut être transmis pour le paramètre si une feuille qui s'étend sur toute la largeur de l'écran est souhaitée. (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 DatePicker est initialisé avec un DatePickerFormatter qui comporte certains squelettes de date qui restent identiques lorsqu'ils sont convertis en formats de date (comme "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 individuelles des couleurs moins efficaces, mais rend l'utilisation plus courante des couleurs plus efficace. La raison de ce changement est que la majorité des applications n'ont pas pour cas d'utilisation principal la mise à jour de couleurs individuelles. Cela reste possible, mais la recomposition sera plus fréquente qu'avant. En contrepartie, nous réduisons considérablement le nombre d'abonnements d'état dans tout le code Material, ce qui aura un impact sur le coût d'initialisation et d'exécution des cas d'utilisation plus standards. (Ic447d, b/297212873)
  • L'élévation tonale n'est plus animée dans différents états d'interaction pour correspondre aux spécifications. (Icdd12)

Modifications apportées à l'API

  • Ajout d'un nouveau BottomAppBar qui prend un BottomAppBarScrollBehavior comme paramètre afin de le masquer automatiquement lorsque le contenu est défilé. Ajout de FabPosition.EndOverlay pour permettre au FAB de se superposer à la barre d'application inférieure dans le scaffold au lieu d'être ancré au-dessus. (Iecb47)
  • Ajout d'un composant Label simple basé sur BasicTooltipBox qui ne se ferme pas lorsque vous appuyez en dehors des limites du libellé. (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 pendant la mesure ou pendant le placement. Par défaut, cette valeur est exprimée en unité de mesure. Si vous rencontrez des problèmes avec le nouveau comportement, veuillez signaler un problème. (I0b354)
  • Bord à bord horizontal fixe dans BottomSheet en utilisant la mesure appropriée 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 en miroir automatique a été ajoutée dans compose material 1.6.0-alpha05. Pour en savoir plus sur les icônes en miroir automatique, consultez les notes de version.

Modifications apportées à l'API

  • SliderState implémente DraggableState (I9b116)
  • Le paramètre de forme est désormais obligatoire. Renommez position en index dans la fonction d'assistance de forme. (I34941)
  • Mise à jour de DatePicker formatWithSkeleton 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 à chroma plus élevé pour les rôles de surface et surfaceContainer. (I5e901)
  • Correction d'un problème qui empêchait certains composants utilisant la sous-composition (par exemple, BottomSheetScaffold) à l'intérieur d'un Scaffold à l'intérieur d'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 de offset pour DropdownMenu afin que les décalages X dépendent uniquement du sens de mise en page local et que les décalages Y ne soient plus inversés lorsque le menu se trouve en bas de l'écran. (Iccc74, b/294103942)
  • Correction du calcul de offset pour DropdownMenu afin que les décalages X dépendent uniquement du sens de mise en page local et que les décalages Y ne soient plus inversés lorsque le menu se trouve en 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. CheckboxDefaults.colors() disabledUncheckedColor ne concerne désormais que la bordure de la case à cocher. Les cas particuliers qui vous obligent à définir la couleur de la boîte interne lorsque la case est désactivée et décochée nécessitent une instance CheckboxColors personnalisée 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 Segmented Button (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 déplaçons la dépendance à la densité au niveau du composant. Cela s'applique aux composants SwipeToDismiss et aux composants basés sur une feuille de calcul. 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 aux composables (Ief234)
  • Ajoutez un paramètre d'icône au bouton segmenté, divisez la sémantique 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)
  • Modifiez l'utilisation de ClosedFloatingPointRange pour le poids plus léger FloatRange dans les API Material3 expérimentales afin de minimiser l'autoboxing. (I4aab5)
  • Ajout d'un nouvel alignement de début pour FabPosition (Ib7aea, b/170592777)

Correction de bugs

  • ModalBottomSheet respecte l'orientation de la 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 défini sur false par défaut dans la typographie Material 3. Le style de hauteur de ligne par défaut a également été modifié pour 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. Pour obtenir une explication détaillée de ces modifications, consultez l'article de blog. (I6266f, Icabc3)

Nouvelles fonctionnalités

  • Ajout d'une surcharge pour RangeSlider qui est une version avec état du composant. Création de RangeSliderState qui contient toutes les informations sur la piste active actuelle, les mesures des composants de RangeSlider et la logique de déplacement et de geste. (I8c270)
  • La barre de recherche est désormais compatible avec les ombres grâce au 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 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 de composants. (I8c4a6)
  • Ajout d'un paramètre de focus aux deux API d'info-bulle, afin que les développeurs puissent choisir si l'info-bulle doit consommer les événements tactiles ou non. Soyez prudent, car cela pourrait interrompre le déplacement automatique de la sélection d'accessibilité. (Ie32d8)
  • Accessibilité optimisée pour les performances et les allocations de mémoire. (Iede48)
  • Exposer DefaultSizeClasses et créer StandardSizeClasses pour WindowSizeClasses (I91838)
  • Remplacer WindowWidth/HeightSizeClass par des classes de valeurs flottantes (Ie686e)

Correction de bugs

  • Le paramètre contentWindowInsets de Scaffold respecte désormais les encarts de fenêtre consommés. Notez que le comportement du remplissage de contenu basé 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 au-dessus des icônes d'action ou de navigation. (I4369f, b/236994621)
  • La largeur minimale du contenu des positions d'onglet est désormais de 24 dp. Cela fournit une zone tactile accessible pour les indicateurs d'onglet. (Id8861)
  • Les palettes de couleurs dynamiques de dynamicLightColorScheme et dynamicDarkColorScheme sont désormais compatibles avec de nouveaux rôles de surface. (I1252e)
  • Mise à jour de l'alignement des notifications de badge pour éviter le chevauchement 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

  • Ajoutez un paramètre d'encarts de fenêtre à ModalBottomSheet.
    • Le scrim pour ModalBottomSheet peut désormais être dessiné derrière la barre d'état lorsque windowInsets est défini sur zéro.
    • Mise à jour de la fonctionnalité ModalBottomSheet par défaut pour rester en dehors des barres système, y compris la barre de navigation
    • La gestion des encarts de la barre d'état est assurée par la poignée de déplacement en mode bord à bord.
    • BottomSheetDefaults inclut les 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 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 construction 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 de SliderState qui contient toutes les informations sur la piste active actuelle, les mesures des composants de Slider et la logique de déplacement et de geste. (I124a5)
  • Renommage 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)
  • Publication des interfaces TooltipState, RichTooltipState et PlainTooltipState. Ajout de RichTooltipStateImpl et 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, de la navigation et des champs de saisie de texte du sélecteur de date. (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 qui peut être définie sur l'état pour contrôler les dates ou les 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 : uniquement sur Android. ModalBottomSheet n'est pas recommandé pour une utilisation sur ordinateur, et la fonctionnalité n'est pas activement gérée. (Ib3778)

Correction de bugs

  • L'action de fermeture AlertDialog s'affiche désormais 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 intérieure incorrecte pour les éléments sur 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 d'un modificateur transmis de manière incorrecte à deux composables. (b/282761472)
  • Correction de TimePickerState qui renvoyait des heures incorrectes lorsqu'il était initialisé avec 23 heures. (b/278242122)
  • Correction de l'état initial du bouton bascule pour la validation de l'heure et des minutes. (b/269768197, b/282790635)
  • Correction de state.hour qui renvoyait une valeur incorrecte pour 23h. (b/282761472, b/278242122)

Version 1.1.1

21 juin 2023

Publication d'androidx.compose.material3:material3:1.1.1 et d'androidx.compose.material3:material3-window-size-class:1.1.1. Liste des commits de la version 1.1.1

Correction de bugs

  • Ajoute un appel pour ModalBottomSheet sans paramètre windowInset pour la compatibilité binaire. (Ib7959)
  • Ajoutez un paramètre d'encarts de fenêtre à ModalBottomSheet.
    • Le scrim pour ModalBottomSheet peut désormais être dessiné derrière la barre d'état lorsque windowInsets est défini sur zéro.
    • Mise à jour de la fonctionnalité ModalBottomSheet par défaut pour rester en dehors des barres système, y compris la barre de navigation
    • La gestion des encarts de la barre d'état est assurée par la poignée de déplacement en mode bord à bord.
    • BottomSheetDefaults inclut les 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.

Les API expérimentales sont désormais stables !

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 : uniquement sur Android. ModalBottomSheet n'est pas recommandé pour une utilisation sur ordinateur, et la 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'une ancre masquée définie, bien qu'elle soit désactivée 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 informations sémantiques des poignées de déplacement ModalBottomSheet et BottomSheetScaffold sont désormais fusionnées. (I05afb)
  • Les paramètres BottomSheetScaffold, containerColor et contentColor n'affectent désormais que le contenu. (I992cb)
  • BottomSheetScaffold nestedScroll pour le contenu de la feuille implémente désormais les balayages. (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 un 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 prise en charge de l'affichage des sélecteurs de date sans la partie d'en-tête. Modifications de l'API pour autoriser la transmission d'un titre nul lors de la création d'un sélecteur de date. Vous pouvez désormais transmettre un titre, un en-tête et un showToggleMode = false nuls pour afficher un sélecteur sans en-tête. (Id3f3a, b/266132421, b/267194809)

Correction de bugs

  • Les barres de recherche ne sont plus sélectionnées automatiquement lorsqu'elles sont rendues inactives. (I22a7c, b/261444487)
  • Mise à jour de DateRangePicker pour permettre la sélection d'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 plus petite que prévu. Cela peut entraîner une modification de quelques pixels dans vos applications en fonction des paramètres de police et du script. (I8b8d0)
  • Les actions sémantiques des bottom sheets ont désormais 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 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. La définition manuelle des dates doit être effectuée avec précaution. La nouvelle fonction setSelection générera une exception si une date fournie ne respecte pas une condition préalable (voir la documentation). (Ifa645, b/268609314, b/270427389)
  • Renommez "Collapsed SheetValue" (SheetValue réduit) en "PartiallyExpanded" pour décrire plus précisément et de manière plus flexible le comportement dans cet état. (Ia1491)
  • Les noms des paramètres ListItem ont été remplacés par "_content" au lieu de "_text". 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)
  • Ajoutez une vérification confirmValueChange à l'appui sur le cache pour ModalBottomSheet. (I2311a, b/270425759)
  • Déplacez les actions sémantiques BottomSheet vers la poignée de déplacement. (I158ba)
  • ModalBottomSheet commande désormais la mise au point au lancement et gère le bouton Retour. (I4d2ab)
  • ModalBottomSheet onDismissRequest est désormais également géré lors des défilements 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 Time Input qui fonctionne avec rememberTimePickerState() et 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 de la prise en charge du mode de saisie Material 3 pour la sélection de plages de dates via l'API DateRangePicker. (Ifdbc4)
  • Les couleurs des champs de texte peuvent désormais être personnalisées :
    • Couleurs du champ de saisie et du texte d'espace réservé en fonction de l'état de sélection et 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établissement de certaines versions de l'API Slider et suppression des surcharges Slider redondantes couvertes par le nouveau Slider expérimental avec curseur et piste personnalisés. Promotion de RangeSlider en version stable. (Ie8fbd)
  • defaultElevation a été renommé 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, outlinedTextFieldPadding. (Ieb5c0, b/261561819)
  • TimePickers is24Hour utilise le paramètre système (I18856)
  • Suppression de l'annotation expérimentale des API de canevas. (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 Material 3 DatePicker et DateRangePicker. (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, et mise à jour des composants qui les utilisaient pour définir les 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.