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
3 avril 2024 1.2.1 - - 1.3.0-alpha04

Structure

Compose est une combinaison de sept ID 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.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05")
}

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.

Suite de navigation adaptative Material 3 de Compose version 1.0

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

  • Mise à jour des dépendances adaptatives Material3 vers les nouveaux chemins d'accès aux modules. (Ibc421).
  • Effectuez la migration pour utiliser la version du gestionnaire de fenêtres des classes de taille de fenêtre. (I3794d).

Version 1.0.0-alpha03

7 février 2024

Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03 et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03

Modifications apportées à l'API

  • Mise à jour du nom de package de navigation-suite par navigationsuite. (I7eff7)
  • Les composants Material3 exposant un MutableInteractionSource dans leur API ont été mis à jour pour exposer désormais un MutableInteractionSource pouvant avoir une valeur nulle dont la valeur par défaut est nulle. Il n'y a aucun changement sémantique ici: transmettre la valeur "null" signifie que vous ne souhaitez pas hisser MutableInteractionSource, et il sera créé dans le composant si nécessaire. Définir la valeur sur "null" permet à certains composants de ne jamais allouer de MutableInteractionSource et permet à d'autres composants 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". Il est également recommandé d'apporter des modifications similaires dans vos propres composants. (I41abb, b/298048146).

Version 1.0.0-alpha02

13 décembre 2023

Publication d'androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02 et androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02

Nouvelles fonctionnalités

Correction de bugs

  • Correction du composant de navigation qui remplissait tout l'écran lorsque la surface racine avait 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 de ThreePaneScaffoldNavigator. (I858aa).
  • Ajout d'un 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 en échafaudage et le calcul de la valeur. (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 charnière dans la stratégie vers une liste d'informations sur la charnière. (I24f90)

Correction de bugs

  • Correction de la recomposition de AnimatedPane. (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

  • Remplacement des rôles "scaffold" par des alias de ThreePaneScaffoldRole. (I65bd1).
  • Création d'une classe de base pour les rôles "scaffold" (I4784d)
  • Suppression du paramètre inutile du contenu de AnimatedPane. (Ibc73b)
  • Renommage de collectWindowSizeAsState et renvoie 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

  • Diviser les API de navigation à partir des API échafaudages adaptatifs (Ic4045).
  • Supprimez la classe GutterSize. (I785b3).

Correction de bugs

  • Les volets corrigés ne changent pas 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 Material3 pour les conditions adaptatives:

API de directives d'échafaudage de volet adaptatif Material3:

API Material3 d'échafaudage de volet adaptatif:

Compose Material3 version 1.3

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 permettre la prévisualisation du Retour sur U+. (Ie5b0b)
  • Ajout d'une API dans Icon permettant de transmettre la teinte de couleur en tant que lambda afin d'éviter toute recomposition. (I5b5a2).
  • Les API de la barre d'application supérieure sont désormais compatibles avec les hauteurs personnalisées pour les sections fixes et réductibles. (Ib8b0c, b/323403446).

Modifications apportées à l'API

  • Les API de la barre d'application supérieure sont désormais compatibles avec les hauteurs personnalisées pour les sections fixes et réductibles. Les barres d'application supérieures sur une seule ligne se recomposaient trop de fois lors du défilement du contenu. Ce problème a été résolu. Correction d'un problème qui entraînait la taille tronquée des titres MediumTopAppBar sur les appareils avec des paramètres de police et d'affichage volumineux. (Ib8b0c, b/323403446, b/300953236, b/286296147, b/330410290, b/308540676).
  • SegmentedButton et les API associées sont désormais stables. (I8a158)
  • Mise à jour de SwipeToDismissBox, SwipeToDismissBoxDefaults, SwipeToDismissBoxState et SwipeToDismissBoxValue, qui sont désormais marqués comme stables. (I5f000).
  • Suppression des API et des énumérations DismissDirection et DismissValue obsolètes. (I89ccd).
  • Ajout d'une balise expérimentale à l'objet associé CarouselState du carrousel. (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 champs 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

  • Réglez la superposition de l'état de mise au point sur 0.1f afin de garantir un contraste des couleurs suffisant. (I7ea77).
  • Légers ajustements apportés aux couleurs par défaut de la surface et de l'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'indicateur ScaffoldSubcomposeInMeasureFix a été supprimé. (Ie2a4b).
  • NavigationRailItemColors est désormais marqué comme @Immutable. (If6112, b/327660613).
  • NavigationBarItemColors est désormais marqué comme @Immutable. (I42a30, b/298064514).
  • Réorganiser les paramètres dans le composable Slider Track. (I9f315).
  • ExposedDropdownMenu est désormais implémenté à l'aide de Popup. Le comportement devrait être le même, si ce n'est que les menus sélectionnables comportant des champs de texte modifiables peuvent être ignorés lors de la saisie sur le clavier.

Correction de bugs

  • Les rôles de base des conteneurs de surface et de surface ont été légèrement ajustés, ce qui a augmenté la teinte des 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).
  • Réglez la superposition de l'état de mise au point sur 0.1f afin de garantir un contraste des couleurs suffisant. (I7ea77).
  • Légers ajustements apportés aux couleurs par défaut de la surface et de l'arrière-plan dans lightColorScheme et darkColorScheme. (I9db52).

Version 1.3.0-alpha02

6 mars 2024

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

Modifications apportées à l'API

  • Vous remettez les états du curseur stables. Nouvelle valeur de State.onValueChangeFinished. Encapsuler onValueChangeFinished dans une 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).
  • Les spécifications d'animation ModalBottomSheet et StandardBottomSheet sont désormais des TweenSpec, mises à jour à partir d'une animation de rétroaction. Cela permet de résoudre un problème de dépassement visible. Suppression des constructeurs SheetState sans densité, devenus obsolètes. (I7babc, b/285847707).

Correction de bugs

  • Les composants utilisent désormais les variantes SurfaceContainer. Les composants qui calculaient officiellement 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 provoquait le noir pour la couleur du conteneur non sélectionnée et désactivée de ElevatedFilterChip. (I400e6, b/322407043).
  • Correction d'un indicateur de progression indéterminé lorsque la progression est égale à 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 les arrondis à virgule flottante peuvent être imprécis. (Ic918a, b/324934900).
  • Assurez-vous que DatePickerDialog affiche ses boutons lorsque vous imbriquez un DateRangePicker ou lorsque vous affichez n'importe quel type de sélecteur de date sur les petits écrans avec des polices de plus grande taille. (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).
  • Mise à jour des chips surélevés, qui exploitent désormais le rôle SurfaceContainerLow. (I7cd2f)
  • La couleur du conteneur DatePicker est désormais SurfaceContainerHigh. DatePickerDefaults.TonalElevation est désormais 0.dp. (Ida753).
  • Mise à jour de la couleur du conteneur de la feuille du bas et de 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 bouton bascule désactivé et des pistes/icônes non sélectionnées pour qu'elles utilisent le rôle de couleur SurfaceContainerHighest. (I7687a).
  • La couleur du conteneur AlertDialog est désormais SurfaceContainerHigh. (Ie0433).
  • La couleur du conteneur BottomAppBar est désormais SurfaceContainer. La couleur onScroll de TopAppBar est désormais SurfaceContainer. (I41630).
  • La couleur du conteneur ElevatedCard est désormais SurfaceContainerLow. Couleur du conteneur de FilledCard, SurfaceContainerHighest. (I35141).
  • La couleur du conteneur ElevatedButton est désormais SurfaceContainerLow. Lorsque les FilledIconButton sont désélectionnés, la couleur du conteneur est désormais SurfaceContainerHighest. (I792c9).
  • Mise à jour de la couleur du conteneur TimePicker et du rôle de couleur 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 Compose M3 ModalBottomSheet pour prendre en charge la prévisualisation du Retour sur U+. (Iccf32, b/281967264, b/304850357)
  • Mise à jour de Compose M3 SearchBar pour prendre en charge la prévisualisation du Retour sur U+. (I657f8)
  • Mise à jour du curseur pour améliorer l'accessibilité en ajoutant un indicateur d'écart et 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 curseur de saisie par défaut pour les info-bulles enrichies. La nouvelle API d'info-bulle enrichie permet désormais de dessiner un curseur de saisie personnalisé pour l'ancre LayoutCoordinates. (Ifd42c).

Nouveaux comportements

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

Modifications apportées à l'API

  • La vidéo 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 avoir une valeur nulle dont la valeur par défaut est null. Il n'y a aucun changement sémantique ici: transmettre la valeur "null" signifie que vous ne souhaitez pas hisser MutableInteractionSource, et il sera créé dans le composant si nécessaire. Définir la valeur sur "null" permet à certains composants de ne jamais allouer de MutableInteractionSource et permet à d'autres composants 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". Il est également recommandé d'apporter des modifications similaires dans vos propres composants. (I41abb, b/298048146).
  • Ajout de 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 constituent un mécanisme de secours pour personnaliser des composants individuels ou des sous-arborescences limitées. Pour les modifications plus larges et les systèmes de conception personnalisés, vous devez créer votre propre ondulation à l'aide de createRippleModifierNode. (I7b5d6, b/298048146).
  • Ajout d'une nouvelle API d'ondulation dans Material3, qui remplace le rememberRipple obsolète. Ajout d'un CompositionLocal temporaire, LocalUseFallbackRippleImplementation, pour rétablir les composants Material3 à l'aide des API rememberRipple / RippleTheme obsolètes. Il sera supprimé dans la prochaine version stable. Il ne s'agit que d'une aide à la migration temporaire dans les cas où vous fournissez un RippleTheme personnalisé. (I34cbc, b/298048146).

Correction de bugs

  • Suppression de la sous-composition dans ModalBottomSheet pour améliorer les performances. Correction d'un problème qui entraînait le plantage de ModalBottomSheet dans des scénarios spécifiques en combinaison avec LookaheadScope. (I2a198).
  • Suppression de la sous-composition dans BottomSheetScaffold pour améliorer les performances. Correction d'un problème qui entraînait le plantage de BottomSheetScaffold dans des scénarios spécifiques en combinaison avec LookaheadScope. (Ie6401).
  • L'alignement du badge est ajusté pour être plus proche du centre du contenu d'ancrage par rapport à l'angle supérieur droit. (I18a28).
  • Correction d'un problème d'accessibilité lié à l'DateRangePicker où le titre textuel "Mois-année" était présenté comme étant exploitable aux utilisateurs du lecteur d'écran, de Switch Access et de Voice Access. (I2ac55).
  • Correction du bug lié à l'ordre des paramètres mediumTopAppBarColors. (Ibe64a).

Version 1.2

Version 1.2.1

6 mars 2024

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

Correction de bugs

  • Rétablissez les états du curseur. Nouvelle valeur de State.onValueChangeFinished. Encapsuler onValueChangeFinished dans une rememberUpdatedState. (Ie8fd0, b/322269951).
  • Suppression de @Stable des états de Slider, car nous remplaçons state.onValueChangeFinished par var. (I82ba1, b/322269951).
  • Correction de NavigationBar couleurs personnalisées pour les copier à partir des valeurs par défaut. (80a779, b/326894020).
  • Correction de la régression dans ExposedDropdownMenu pour la rendre à nouveau sélectionnable. (3fcec1, b/323694447)
  • Correction du problème de mise en cache des couleurs 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 de l'interopérabilité entre View et Compose a été introduit dans PrimaryTabRow dans le cadre d'une modification des performances. La solution consiste à utiliser TabRow avec TabRowDefaults.PrimaryIndicator.

Changements importants depuis la version 1.1.0

Nouveaux composants Material Design 3

Améliorations apportées aux composants Material Design 3 existants.

Passage des API expérimentales en version stable.

Amélioration des performances

Version 1.2.0-rc01

24 janvier 2024

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

Correction de bugs

  • Correction du bug lié à l'ordre des paramètres mediumTopAppBarColors. (Ibe64a).
  • Correction d'un bug introduit dans 1.2.0-beta02 dans CardDefaults.cardColors qui n'a pas mis à 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 attribue disabledContentColor à une version alpha (0.38f) de LocalContentColor au lieu de la contentColor spécifiée 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 capacité permettant d'activer les carets d'info-bulle pour les API Tooltip de base. (Ibf767).
  • SwipeToDismissState, rememberSwipeToDismiss et SwipeToDismissValue sont tous renommés pour _SwipeToDismissBox_. (I68d6d).

Correction de bugs

  • Correction de la valeur de la marge intérieure de fin de ListItem pour l'aligner sur les spécifications. (Ibd68b, b/305342674)
  • La couleur du contour de la carte encadrée est désormais correctement mise en correspondance avec OutlineVariant. (I75480, b/310979715).
  • La couleur dynamique provient désormais des rôles de couleur définis par le système. Cela permet d'améliorer le contraste pour le contenu accessible et d'aligner plus fidèlement la couleur dynamique sur les spécifications de Material. (I1de96)
  • Correction de la gestion du retour de ModalBottomSheet sur Android T/13 et versions ultérieures lorsque android:enableOnBackInvokedCallback="true". (I728dc, b/306196110).

Version 1.2.0-beta01

13 décembre 2023

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

Modifications apportées à l'API

  • Marquer TabIndicatorScope comme expérimental (I45c88).
  • Suppression des API expérimentales obsolètes pour l'info-bulle. (I438cb).
  • Modifiez les nouvelles surcharges TabRow pour qu'elles n'utilisent pas de sous-compositions. Il en résulte une méthode différente pour créer les indicateurs TabRow avec des modificateurs personnalisés fournis. (Ife741).
  • Abandon des API DismissDirection et DismissValue. Elles ont été fusionnées avec SwipeToDismissValue, dont les valeurs indiquent à la fois la position et la direction de SwipeToDismissBox. DismissState.progress est désormais marqué comme FloatRange entre 0.0 et 1.0. Suppression de l'économiseur et le constructeur de DismissState, devenus obsolètes. Le composant SwipeToDismiss, l'état et l'objet par défaut ont été marqués comme expérimental. (Ib54f2).

Correction de bugs

  • L'indicateur par défaut pour PullToRefresh est désormais une flèche ouverte au lieu d'un triangle plein. (I67be3).

Version 1.2.0-alpha12

29 novembre 2023

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

Modifications apportées à l'API

  • RangeSlider 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 de modificateurs 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émentation de PullToRefreshContainer et de PullToRefreshState, qui, ensemble, permettent d'obtenir une implémentation d'actualisation dans Material3. (I16456, b/261760718).

Modifications apportées à l'API

  • Marquez SwipeToDismissBox DismissDirection et DismissValue comme étant expérimental. (I517b0).
  • Remplacement du nom SwipeToDismiss par SwipeToDismissBox. background a été renommé backgroundContent et dismissContent a été renommé lambda content à la fin. (I7f4d3).
  • Rendez le constructeur de ChipElevation et SelectableChipElevation public. (Ie0c48, b/308432421).
  • Ajout de ModalBottomSheetProperties... Déplacement de securePolicy dans ModalBottomSheetProperties... Ajout de isFocusable et shouldDismissOnBackPress à ModalBottomSheetProperties... Ces nouvelles valeurs booléennes permettent de déterminer la façon dont la bottom sheet modale doit gérer les événements IME. (Iea56f, b/278216859).
  • Mise à jour des états RangeSlider et Slider pour supprimer initialOnValueChange, les préfixes initiaux et les kdocs appropriés. (I57d30).
  • Abandon de la classe ChipBorder et des appels de fonction associés. Nous vous recommandons d'utiliser directement BorderStroke à la place. (I89cc2).
  • Les API Foundation Info sont désormais disponibles sur @ExperimentalFoundationApi. (I30b0b).
  • TabRow et ScrollableTabRow ne sont plus obsolètes. Les nouvelles variantes principales et secondaires sont marquées comme étant expérimentales. (I0def6).
  • Les chips de filtre et d'entrée utilisent désormais BorderStroke directement. (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).
  • Les API SwipeToDismiss ont été renommées SwipeDismiss, et les nouvelles API SwipeDismiss deviennent stables. (I14cbe).
  • Ajout de tonalElevation et shadowElevation aux API d'info-bulles. De plus, nous avons redéployé les API TooltipBox, PlainTooltip et RichTooltip à la version expérimentale, car elles ont été accidentellement publiées en tant que versions stables. (If0f66, b/293939035).
  • Passage des API de puce expérimentales en version stable. (Iea2c3).
  • Suppression de l'annotation @ExperimentalMaterial3Api des cartes cliquables Material3. (I88dbf).

Correction de bugs

  • Correction d'un problème qui provoquait le plantage de SwipeToDismiss dans certains scénarios avec les 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

  • Passage de Badge et BadgedBox en version stable. (I67f16, b/261565132).
  • Ajout de securePolicy en tant que paramètre à ModalBottomSheet afin que les utilisateurs puissent définir le comportement de WindowManager.LayoutParams.FLAG_SECURE. (Icdac8, b/296250262).
  • Ajout de nouvelles surcharges pour LinearProgressIndicator et CircularProgressIndicator, qui utilisent progress comme lambda. Elles devraient être plus performantes que les versions précédentes. (I824e6, b/295616656).
  • Changement de nom : StandardSizeClasses devient AllSizeClasses. (I8cb07).
  • Combine 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 flèches de navigation alors que le mois affiché se situe à la limite de la période autorisée. (I46f36, b/290954897, b/297002119).
  • [Rail/Barre de navigation] Prise en charge de la couleur transparente pour l'indicateur. (Ie0a9b, b/267289987).

Version 1.2.0-alpha09

4 octobre 2023

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

Modifications apportées à l'API

  • Migration de ModalNavigationDrawer et DismissibleNavigationDrawer pour utiliser les nouvelles API AnchoredDraggable. animateTo de DrawerState a été remplacé par les méthodes d'ouverture et de fermeture, et le décalage est désormais exposé en tant qu'objet flottant et non en tant qu'objet d'état. Vous pouvez accéder au décalage directement via currentOffset. (I0a72c).
  • Des fonctions non modulables ont été ajoutées pour créer directement un DatePickerState et un DateRangePickerState. Si nécessaire, vous pouvez utiliser ces fonctions à la place des fonctions composables rememberDatePickerState et rememberDateRangePickerState. (I70326, b/291524052).
  • Mise à jour des TabRows fixes et déroulants, qui disposent désormais de variantes principales et secondaires. Ils correspondent bien à la couleur et au comportement de l'indicateur tels que définis dans Material3.
  • PrimaryScrollableTabRow et SecondaryScrollableTabRow exposent désormais l'état de défilement. (Iec8f5, b/260572337).
  • Ajout d'un paramètre sheetMaxWidth que les développeurs peuvent définir pour spécifier une largeur maximale que la feuille couvrira. Dp.Unspecified peut être transmis pour le paramètre si vous souhaitez utiliser une feuille couvrant toute la largeur de l'écran. (Ifb7c9, b/266697696).
  • 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 dont certains squelettes de date restent identiques lorsqu'ils sont convertis en modèles de date (tels que YY). (I01f29).

Version 1.2.0-alpha08

20 septembre 2023

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

Modification destructive affectant le comportement

  • ColorScheme est désormais immuable, ce qui rend les mises à jour de couleurs individuelles moins efficaces, mais rend l'utilisation plus courante des couleurs plus efficace. Ce changement s'explique par le fait que, pour la majorité des applications, le principal cas d'utilisation ne serait pas la mise à jour des couleurs individuelles. Cela est toujours possible, mais il se recomposera davantage qu'auparavant, ce qui entraînera une réduction significative du nombre d'abonnements à l'état dans tout le code Material, ce qui aura un impact sur l'initialisation et le coût d'exécution de cas d'utilisation standards. (Ic447d, b/297212873).
  • Tonal Elevation ne s'anime plus dans différents états d'interaction conformément aux spécifications. (Icdd12)

Modifications apportées à l'API

  • Ajout d'un nouveau BottomAppBar qui utilise comme paramètre un BottomAppBarScrollBehavior afin de le masquer automatiquement lorsque l'utilisateur fait défiler le contenu. Ajout de FabPosition.EndOverlay, qui permet au bouton d'action flottant de se superposer à la barre d'application inférieure de l'échafaudage au lieu d'être ancré au-dessus. (Iecb47).
  • Ajout d'un composant "Label" simple, basé sur BasicTooltipBox, qui ne se ferme pas lorsqu'un utilisateur appuie en dehors des limites du libellé. (I821f9).

Correction de bugs

  • Suppression de l'utilisation de rememberSaveable pour les info-bulles. (Icc131, b/299500338).
  • Introduction d'un indicateur temporaire pour contrôler si Scaffold doit mesurer ses enfants pendant la mesure ou pendant le placement. Par défaut, il s'agit d'une mesure. Si vous rencontrez des problèmes avec le nouveau comportement, veuillez signaler le problème. (I0b354).
  • Correction du bord horizontal au bord 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 sa fermeture en balayant la feuille 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 mise en miroir automatique des icônes a été ajoutée dans compose material 1.6.0-alpha05. Veuillez consulter les notes de version pour en savoir plus sur la mise en miroir automatique des icônes.

Modifications apportées à l'API

  • SliderState implémente DraggableState. (I9b116)
  • Modifier la forme pour en faire un paramètre obligatoire. position a été renommé index dans la fonction d'assistance de forme. (I34941).
  • Met à jour le formatWithSkeleton DatePicker pour inclure une carte servant de cache pour améliorer les performances. (I3195f).
  • Ajout de BasicTooltipBox à compose.foundation, et mise à jour de PlainTooltipBox et RichTooltipBox pour utiliser TooltipBox avec les nouveaux composables PlainTooltip et RichTooltip. (I79e1d).

Correction de bugs

  • dynamicLightColorScheme et dynamicDarkColorScheme renvoient désormais des couleurs de chrominance plus élevées pour les rôles de surface et surfaceContainer. (I5e901).
  • Correction d'un problème où certains composants utilisant une sous-composition (par exemple, BottomSheetScaffold) à l'intérieur d'un échafaudage dans un LookaheadScope tentaient de lire leur taille trop tôt. (I297b4, I871f1, b/295536718).

Version 1.2.0-alpha06

23 août 2023

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

Correction de bugs

  • Correction du calcul offset de DropdownMenu afin que les décalages x ne dépendent que de l'orientation de la mise en page locale, et que les décalages y ne soient plus inversés lorsque le menu se trouve vers le bas de l'écran. (Iccc74, b/294103942).
  • Correction du calcul offset de DropdownMenu afin que les décalages x ne dépendent que de l'orientation de la mise en page locale, et que les décalages y ne soient plus inversés lorsque le menu se trouve vers le 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

  • Modifications apportées à la case à cocher et aux couleurs TriStateCheckbox. Le disabledUncheckedColor CheckboxDefaults.colors() n'affecte désormais que la bordure de la case à cocher. Les cas particuliers où vous devez définir la couleur de la zone interne lorsqu'elle est désactivée ou décochée nécessitent une instance personnalisée de CheckboxColors avec les valeurs de couleur souhaitées. (I77d17, b/291943198).

Version 1.2.0-alpha04

26 juillet 2023

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

Nouvelles fonctionnalités

  • API Segmented Button expérimentale (Ifc8fb)
  • Les séparateurs disposent désormais d'un paramètre permettant de contrôler l'orientation afin de prendre en charge les séparateurs verticaux. (I4c899, b/288438593).

Modifications apportées à l'API

  • Nous déplaçons la dépendance de la densité au niveau du composant. Cela s'applique aux composants suivants: SwipeToDismiss et composants basés sur Sheets. Veuillez utiliser la nouvelle surcharge fournie lorsque la densité est un paramètre. (I1846e).
  • Des annotations supplémentaires pour spécifier des entrées autorisées pour les composables. (Ief234)
  • Ajout d'un paramètre d'icône à la sémantique du bouton segmenté et de la division afin que les boutons segmentés puissent être sélectionnés pour implémenter la sélection unique, et activables 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).
  • Modification de l'utilisation de ClosedFloatingPointRange pour l'élément FloatRange, plus léger, dans les API Material3 expérimentales afin de réduire l'autoboxing. (I4aab5).
  • Ajout d'un alignement Start 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 false par défaut dans la typographie Material 3. Le style de hauteur de ligne par défaut a également été remplacé par Trim.None et Alignment.Center, et des lineHeight explicites (en sp) ont été ajoutés aux TextStyle de Typography. Si vous souhaitez personnaliser ces valeurs, consultez la documentation de l'API. Pour une présentation détaillée de ces modifications, consultez cet 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, ainsi que la logique de déplacement et de geste. (I8c270).
  • La barre de recherche prend désormais en charge les ombres via le nouveau paramètre shadowElevation. (Ia5369, b/271040353).
  • ColorScheme est désormais compatible avec de nouveaux rôles SurfaceContainer.
  • Vous pouvez désormais désactiver la superposition d'élévation tonale de la surface avec la composition LocalTonalElevationEnabled locale. (Ic203c, b/277774590).

Modifications apportées à l'API

  • Ouvrez les constructeurs de couleurs du composant. (I8c4a6).
  • Ajout d'un paramètre sélectionnable aux deux API d'info-bulle afin que les développeurs puissent demander ou non à l'info-bulle de consommer les événements tactiles. Cela pourrait rompre le balayage automatique du ciblage par accessibilité. (Ie32d8).
  • Accessibilité optimisée pour les performances et les allocations de mémoire. (Iede48).
  • Exposition de DefaultSizeClasses et création de StandardSizeClasses pour WindowSizeClasses. (I91838)
  • Conversion de WindowWidth/HeightSizeClass en 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 de la marge intérieure du contenu basée sur topBar et bottomBar reste inchangé lorsque ces paramètres sont fournis. (I08b73, b/264601542).
  • Correction de l'alignement de la barre d'application supérieure centrale pour qu'un titre long ne s'affiche pas sur les icônes d'action ou de navigation. (I4369f, b/236994621).
  • Mise à jour de la position des onglets, la largeur de contenu minimale est désormais de 24 dp. Vous disposez ainsi d'une zone cible 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 qu'elles ne soient pas tronquées en cas de collision avec un arrière-grand-parent. (Idf75a).

Version 1.2.0-alpha02

24 mai 2023

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

Modifications apportées à l'API

  • Ajout d'un paramètre d'encarts de fenêtre à ModalBottomSheet.
    • Le fond de ModalBottomSheet peut désormais être affiché derrière la barre d'état avec la valeur windowInsets définie sur zéro.
    • Mise à jour de la fonctionnalité ModalBottomSheet par défaut pour rester en dehors des barres système, y compris la 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 des encarts de fenêtre pour BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275483){1414.
  • Abandon de Indicator et ajout de Primary/SecondaryIndicator pour respecter les spécifications de M3. PrimaryIndicator correspond à la largeur du contenu de l'onglet, tandis que SecondaryIndicator s'étend sur toute la largeur disponible. SecondaryIndicator équivaut à Indicator, désormais obsolète, et peut être remplacé 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, ainsi que la logique de déplacement et de geste. (I124a5).
  • Remplacement du nom de la propriété sémantique isContainer par isTraversalGroup. (I121f6)
  • Ajout d'une TextStyle.merge(...) optimisée avec la liste complète des paramètres. (Iad234, b/246961787).
  • Mise à jour des interfaces publiques 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. Suppression de TooltipSync 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 pouvant être récupérées par rememberDatePickerState et rememberDateRangePickerState. (I71c52).
  • Suppression de dateValidator de DatePicker et DateRangePicker, et introduction d'une interface SelectableDates pouvant être définie sur l'état pour contrôler les dates ou les années sélectionnables dans l'UI. (Ic2fc6).
  • Suppression de TimePicker de l'API stable. D'autres modifications sont prévues dans l'API d'état. (I3f39a)
  • ModalBottomSheet transférée vers Android uniquement. ModalBottomSheet n'est pas recommandé pour une utilisation sur ordinateur, et ses fonctionnalités ne font pas l'objet d'une maintenance active. (Ib3778).

Correction de bugs

  • Correction de l'action de fermeture de AlertDialog qui s'affichait sous l'action de confirmation lorsque les actions étaient empilées les unes sur les autres pour tenir dans la largeur de la boîte de dialogue. Ce correctif permet d'aligner l'implémentation sur la spécification Material Design. (I029de, b/235454277)
  • Correction d'un bug dans ListItem utilisant une marge intérieure incorrecte pour les éléments à trois lignes. (I6e235).
  • ModalBottomSheet peut désormais afficher le clavier IME. (Idc508, b/262140644, b/268380384, b/272483584)

Version 1.2.0-alpha01

10 mai 2023

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

Version 1.1

Version 1.1.2

20 septembre 2023

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

Correction de bugs

  • Correction d'un problème de transmission incorrecte du modificateur à 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 d'activation initial pour la validation à midi et à la minute. (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

  • Ajout d'un appel pour ModalBottomSheet sans le paramètre windowInset pour la compatibilité binaire. (Ib7959).
  • Ajout d'un paramètre d'encarts de fenêtre à ModalBottomSheet.
    • Le fond de ModalBottomSheet peut désormais être affiché derrière la barre d'état avec la valeur windowInsets définie sur zéro.
    • Mise à jour de la fonctionnalité ModalBottomSheet par défaut pour rester en dehors des barres système, y compris la 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 des encarts de fenêtre pour BottomSheetWindow. (I31200, b/274872542, b/272973615, b/272334475, b/268432129, b/275849044, b/275483){1414.

Version 1.1.0

10 mai 2023

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

Principales fonctionnalités de la version 1.1.0

Nouveaux composants Material Design 3

Améliorations apportées aux composants Material Design 3 existants.

Passage des API expérimentales en version stable.

Pour en savoir plus, consultez cet article de blog.

Version 1.1.0-rc01

19 avril 2023

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

Modifications apportées à l'API

  • Suppression de TimePicker de l'API stable. D'autres modifications sont prévues dans l'API d'état. (I3f39a)
  • ModalBottomSheet transférée vers Android uniquement. ModalBottomSheet n'est pas recommandé pour une utilisation sur ordinateur, et ses fonctionnalités ne font pas l'objet d'une maintenance active. (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
  • Changement de nom : BottomSheetDefaults.MinimizedShape devient BottomSheetDefaults.HiddenShape. (I839f4, b/273870234)

Correction de bugs

  • Ne changez pas l'affichage du cadran d'une heure à l'autre lorsque l'exploration tactile est activée. (I717d0).
  • Fusion des sémantiques ModalBottomSheet et BottomSheetScaffold pour la poignée de déplacement (I05afb).
  • Le modificateur BottomSheetScaffold, ainsi que les paramètres containerColor et contentColor n'affectent désormais que le contenu. (I992cb).
  • Mise à jour de BottomSheetScaffold nestedScroll pour le contenu des feuilles, qui implémente désormais les glissements d'un geste vif. (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

  • Ajout d'un paramètre de type de mise en page au composable TimePicker. 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 d'une élévation des ombres à BottomSheetScaffold. (I94e0f)
  • Ajout de la possibilité d'afficher les sélecteurs de date sans la partie en-tête. Modifications apportées à l'API pour permettre la transmission d'un titre nul lors de la création d'un sélecteur de date. Vous pouvez désormais transmettre un titre nul, un titre et showToggleMode = false pour afficher un sélecteur sans interface graphique. (Id3f3a, b/266132421, b/267194809).

Correction de bugs

  • Désormais, les barres de recherche effacent automatiquement le curseur lorsqu'elles sont désactivées. (I22a7c, b/261444487).
  • Mise à jour de DateRangePicker afin de permettre la sélection d'une plage ayant 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 la 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).
  • Mise à jour des actions sémantiques de la bottom sheet, désormais associées à des libellés. (I277b0).

Version 1.1.0-alpha08

8 mars 2023

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

Nouvelles fonctionnalités

  • Ajout de la prise en charge de BottomSheetScaffold et BottomSheetScaffoldState. (I063d4).

Modifications apportées à l'API

  • Ajout d'une fonctionnalité à 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 prudence. La nouvelle fonction setSelection génère une exception si une date fournie ne remplit pas une condition préalable (voir la documentation). (Ifa645, b/268609314, b/270427389).
  • Remplacement du nom de SheetValue réduit par PartiallyExpanded pour représenter plus précisément et plus flexible le comportement dans cet état. (Ia1491).
  • Noms des paramètres ListItem remplacés par _content au lieu de _text. Les getters par défaut sont désormais ReadOnlyComposables, le cas échéant. (I69a25).
  • Mise à jour des API Surface interactives de la version expérimentale. (I90d59, b/261561812).

Correction de bugs

  • Correction d'un problème pour lequel l'état HalfExpanded de ModalBottomSheet n'était pas calculé correctement et la feuille semblait flotter (I45e84, b/268411386).
  • Ajout de la vérification confirmValueChange afin de tapoter sur ModalBottomSheet. (I2311a, b/270425759).
  • Déplacement des actions sémantiques BottomSheet vers la poignée de déplacement. (I158ba).
  • Mise à jour de ModalBottomSheet, qui permet désormais de se concentrer sur le lancement et gère le bouton "Retour". (I4d2ab).
  • Mise à jour de ModalBottomSheet onDismissRequest, désormais géré lors des glissements d'un geste vif 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 d'entrée de l'heure qui fonctionne avec rememberTimePickerState(), qui respecte 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 d'entrée Material 3 pour la sélection de plages de dates via l'API DateRangePicker. (Ifdbc4).
  • Les couleurs des champs de texte permettent désormais de personnaliser les éléments suivants :
    • 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 des champs de texte remplis en fonction de l'état d'erreur avec le nouveau paramètre errorContainerColor.
  • Les couleurs exposées des champs de texte des menus déroulants ont été mises à jour avec des paramètres afin d'assurer leur compatibilité avec les nouvelles 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 redondantes de Slider, couvertes par le nouveau curseur expérimental avec curseur et curseur personnalisés. Promotion de RangeSlider pour qu'elle soit stable. (Ie8fbd).
  • Changement de nom : defaultElevation devient elevation dans les fonctions d'élévation du chip. (I0f872).
  • Les API de champs de texte Material 3 suivantes ne sont plus expérimentales: TextField, OutlinedTextField, textFieldWithLabelPadding, textFieldWithoutLabelPadding et outlinedTextFieldPadding. (Ieb5c0, b/261561819).
  • TimePickers is24Hour utilise le paramètre système. (I18856)
  • Suppression de l'annotation expérimentale des API scaffold. (Ibb51e, b/261565765, b/261436953).

Correction de bugs

  • La forme par défaut de ModalBottomSheet est désormais toujours SheetDefaults.ExpandedShape. (I0dfca).
  • Amélioration de l'accessibilité pour les DatePicker et DateRangePicker de Material 3. (I5087e).
  • Correction d'un bug provoquant la propagation de la contrainte de hauteur maximale et pouvant entraîner le 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 des rôles à l'aide de modificateur.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.