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
8 février 2023 1.0.1 - - 1.1.0-alpha06

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 éléments de base 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.0.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.0.1"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material3:material3:1.0.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.0.1")
}

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.

Version 1.1

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.

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

  • Changement 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.