Compose Material 3 Adaptive

  
Utilisez la bibliothèque adaptative Material 3 pour créer des UI adaptatives qui s'adapteront automatiquement en fonction des configurations de fenêtre actuelles, comme les classes de taille de fenêtre ou les postures de l'appareil. La bibliothèque fournit à la fois des implémentations de scaffold par défaut et les composables de blocs de construction nécessaires pour créer vos propres expériences personnalisées.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
2 juillet 2025 1.1.0 - - 1.2.0-alpha08

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.adaptive:adaptive:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.2.0-alpha08")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.2.0-alpha08"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.2.0-alpha08"
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Compose Material3 Adaptive version 1.2

Version 1.2.0-alpha08

2 juillet 2025

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

Version 1.2.0-alpha07

18 juin 2025

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

Modifications apportées à l'API

  • La fonction currentWindowAdaptiveInfo() est désormais compatible avec les classes de taille de largeur de fenêtre "large" et "très large". Les fonctions calculatePosture() et currentWindowDpSize() sont désormais stables. (I92e97)

Version 1.2.0-alpha06

20 mai 2025

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

Nouvelles fonctionnalités

  • Les fonctions de calcul de la directive de structure de volet par défaut sont désormais compatibles avec les classes de taille de largeur de fenêtre L et XL.

Modifications apportées à l'API

  • Faire en sorte que Modifier.paneExpansionDraggable fournisse une sémantique d'accessibilité par défaut et promouvoir les API pertinentes en tant qu'API stables. (Idb818)
  • Prise en charge du redimensionnement par glisser-déposer avec les volets flottants (Idadd3)
  • Prise en charge des caches pour les volets suspendus (I9b091)

Version 1.2.0-alpha05

7 mai 2025

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

Nouvelles fonctionnalités

  • Les mises en page adaptatives Material3 sont désormais compatibles avec les stratégies d'adaptation Levitated, qui peuvent transformer un volet en pop-up flottant.

Modifications apportées à l'API

  • Rendre les fonctions de taille de fenêtre actuelles compatibles avec plusieurs plates-formes (Ie4172)
  • Ajout de mouvements de volet pour les volets suspendus (Ic9dc3)
  • Introduction de la stratégie de lévitation pour l'adaptation (I1ba7c)

Correction de bugs

  • Corriger l'utilisation du champ d'application de coroutine dans les exemples adaptatifs (7631016)

Version 1.2.0-alpha04

23 avril 2025

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

Nouvelles fonctionnalités

  • Les stratégies de réorganisation sont désormais disponibles avec ListDetailPaneScaffold et SupportingPaneScaffold, qui réorganisent le volet associé sous un paramètre de mise en page à un seul volet.

Modifications apportées à l'API

  • Ajout d'un support de l'état enregistrable à PaneScaffoldScope (Id9299)
  • Ajout d'une stratégie de réorganisation pour l'adaptation (I75c6a)

Correction de bugs

  • Correction du bug qui empêchait l'animation des volets lors de la première transition. (Ib0415)
  • Correction du problème de non-fonctionnement des hauteurs préférées. (I1913b)
  • Correction du bug qui empêchait la mise à jour correcte de la directive de scaffold. (0403ab)

Version 1.2.0-alpha03

9 avril 2025

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha03. La version 1.2.0-alpha03 contient ces commits.

Correction de bugs

  • Correction de l'affichage incorrect de la poignée de déplacement dans la mise en page à un seul volet. (806e443 )

Mises à jour des dépendances

  • Cette bibliothèque cible désormais le langage Kotlin 2.0 et nécessite KGP 2.0.0 ou version ultérieure. (Idb6b5)

Version 1.2.0-alpha02

26 mars 2025

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

Version 1.2.0-alpha01

12 mars 2025

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.2.0-alpha01. La version 1.2.0-alpha01 contient ces commits.

Modifications apportées à l'API

  • Présentation du modificateur PaneScaffoldScope.preferredHeight pour les développeurs afin de fournir les hauteurs préférées des volets qui seront appliquées avec les nouvelles stratégies d'adaptation que nous allons introduire. (I957dd, b/220960090)
  • Renommage des types ComponentOverride en Override et des types ComponentOverrideContext en OverrideScope. (Id973c)
  • Renommage de certaines méthodes de remplacement de composants. (I222b3)

Compose Material3 Adaptive version 1.1

Version 1.1.0

12 mars 2025

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

Modifications importantes depuis la version 1.0.0

  • ListDetailPaneScaffold et SupportingPaneScaffold sont désormais compatibles avec la fonctionnalité d'expansion des volets. Les utilisateurs peuvent faire glisser le séparateur pour modifier la division par défaut des volets d'une mise en page à double volet. Les développeurs peuvent également modifier la division des volets au moment de l'exécution en modifiant le nouvel élément PaneExpansionState.
  • La prévisualisation du Retour par défaut est désormais disponible avec NavigableListDetailPaneScaffold et NavigableSupportingPaneScaffold. Vous pouvez également utiliser ThreePaneScaffoldPredictiveBackHandler pour fournir une assistance pour la prévisualisation du Retour avec vos propres implémentations de canevas à trois volets.
  • Vous pouvez désormais personnaliser les mouvements de vos volets lors du changement de volet en fournissant différents EnterTransition et ExitTransition à AnimatedPane.

Version 1.1.0-rc01

26 février 2025

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.1.0-rc01. La version 1.1.0-rc01 contient ces commits.

Correction de bugs

  • Désactiver la prévisualisation du geste Retour avec mise à l'échelle pour la mise en page à trois volets (ab6fd0b)

Version 1.1.0-beta02

12 février 2025

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta02. La version 1.1.0-beta02 contient ces commits.

Modifications apportées à l'API

  • La façon dont isPredictiveBackInProgress est défini dans les fonctions d'animation MutableThreePaneScaffoldState a été modifiée pour préserver la cohérence de l'état. (Idc97f)

Correction de bugs

  • Le comportement par défaut de retour de NavigableListDetailPaneScaffold et NavigableSupportingPaneScaffold a été remplacé par PopUntilScaffoldValueChange pour assurer la cohérence avec le reste de la bibliothèque. (I873f0)
  • Définissez l'ordre de parcours d'accessibilité correct des échafaudages de volet. (67d030)
  • Correction du problème lié à l'enregistrement des états de contenu des volets. (88b0ff)
  • Prend en charge d'autres actions d'accessibilité à la place du glisser-déposer. (28266d)
  • Annonce la répartition actuelle des volets après sa modification. (0c3a80)

Version 1.1.0-beta01

29 janvier 2025

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.1.0-beta01. La version 1.1.0-beta01 contient ces commits.

Modifications apportées à l'API

  • Ajout de fonctions de fabrique pour créer des ancres d'expansion de volet de type décalage depuis le début et la fin, respectivement. (I2eb21)
  • Scellez l'interface PaneMotion et supprimez ses méthodes de transition par défaut. (Ifc4c7)
  • Présentation des API permettant d'obtenir l'ancrage actuel et d'animer vers un ancrage. (Icf95d)
  • Introduction des API d'accessibilité pour l'expansion des volets (Icc669)
  • Définissez le type de PaneScaffoldParentData.preferredWidth sur "DP". (Id98ee)

Version 1.1.0-alpha09

15 janvier 2025

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

Modifications apportées à l'API

  • Ajoutez et utilisez la nouvelle annotation expérimentale ExperimentalMaterial3AdaptiveComponentOverrideApi. (Id45aa)
  • Masquez ThreePaneScaffoldHorizontalOrder.toLtrOrder. (I6f8d2)
  • ThreePaneScaffoldPredictiveBackHandler a été rendu public. (I1a995, b/370543873)
  • La propriété isPredictiveBackInProgress a été ajoutée à ThreePaneScaffoldState. (I1a995, b/370543873)
  • Créez un mécanisme de remplacement pour AnimatedPane afin de prendre en charge les implémentations de sideloading pour différents facteurs de forme. (Id7622)

Correction de bugs

  • Correction du problème lorsque la direction de stabilisation ne comporte aucun ancrage. (df8257d)

Version 1.1.0-alpha08

12 décembre 2024

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

Modifications apportées à l'API

  • Présentez la fonction currentWindowDpSize. (I99125, b/296300441)
  • Exposition de PaneScaffoldParentData et ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • Supprimez PaneScaffoldMotionScope et transformez-le en champ sous PaneScaffoldTransitionScope. Renommez-le également en PaneScaffoldMotionDataProvider et supprimez l'accès à la structure de données sous-jacente de PaneMotionData. À la place, fournissez des méthodes getter et de boucle pour accéder aux données. (Id8884)
  • Créez un mécanisme de remplacement pour ThreePaneScaffold afin de prendre en charge les implémentations de sideloading pour différents facteurs de forme. (I5280f)
  • Définit l'état d'expansion du volet sur null par défaut (Ia65f8, b/376394520)

Version 1.1.0-alpha07

13 novembre 2024

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

Modifications apportées à l'API

  • Supprimez l'implémentation de la poignée de déplacement dans la bibliothèque adaptative et encouragez les utilisateurs à utiliser la version M3. En même temps, introduisez un modificateur pour permettre le déplacement de l'expansion du volet vers un composable de poignée de déplacement fourni. Masquez également DraggableState en tant que détail d'implémentation afin de pouvoir le modifier ultérieurement si nécessaire. (Ib50cd)
  • Déplace le point d'entrée de la personnalisation du mouvement du volet des fonctions de scaffold vers AnimatedPane, selon les commentaires de l'UXR. (I10f72)
  • Ajout de la prise en charge du déplacement et d'une spécification d'animation personnalisée pour l'expansion des volets. (Ie207d, b/362584341)

Correction de bugs

  • Correction des problèmes de prévisualisation du retour en cas d'annulation. (36a3e0a), (b/369899645)

Version 1.1.0-alpha06

30 octobre 2024

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

Modifications apportées à l'API

  • Ajout de FloatRange à PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • Définissez le type des paramètres du navigateur sur des types génériques dans les scaffolds navigables. (I1da6e)

Version 1.1.0-alpha05

16 octobre 2024

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

Modifications apportées à l'API

  • Introduction de la classe de spécifications d'animation pour assurer un comportement de mouvement plus cohérent et une évolutivité future. (I2d3cc)
  • Indiquez le type de mouvement et renommez currentXXXXX dans PaneMotionData en originXXXX. (I7c61a)

Version 1.1.0-alpha04

2 octobre 2024

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

Nouvelles fonctionnalités

  • Ajout de la prise en charge de la prévisualisation du Retour à NavigableListDetailPaneScaffold et NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Modifications apportées à l'API

  • Ajout de ThreePaneScaffoldState à ThreePaneScaffoldNavigator. Les méthodes de navigation ont été rendues suspend pour prendre en charge la navigation avec animation. Ajout de seekBack pour prendre en charge les états de navigation partiels (par exemple, la prévisualisation du Retour). (I5a651, b/359616816)
  • Ajout de MutableThreePaneScaffoldState pour contrôler la transition entre les valeurs de canevas. L'ThreePaneScaffoldState existant est désormais en lecture seule. (Idb3c6)
  • Exposer les implémentations de mouvement de volet par défaut (I95a7b)
  • Activer la définition de l'ancrage initial de l'état d'expansion du volet (Ie41b3, b/362350560)

Correction de bugs

  • Appliquer une taille minimale de 48 x 48 dp pour la zone tactile de la poignée de déplacement (7ce6635, b/366018217)
  • Restauration de la position ancrée après des modifications de configuration (3c9fc6b, b/362353672)

Version 1.1.0-alpha03

18 septembre 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03. La version 1.1.0-alpha03 contient ces commits.

Version 1.1.0-alpha02

4 septembre 2024

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

Nouvelles fonctionnalités

  • La personnalisation du mouvement (I0bf9c, I80e66) permet aux développeurs de modifier les mouvements par défaut lors des changements d'état du canevas adaptatif. Les créateurs peuvent choisir parmi un ensemble de transitions d'entrée et de sortie par défaut, ou implémenter des transitions entièrement personnalisées avec les informations fournies par les nouvelles étendues de mouvement.
  • Implémenter l'animation de fondu des poignées de déplacement pour développer les volets (46e3c69)
  • Rendre PaneExpansionState mémorisable (61ff76f)

Modifications apportées à l'API

  • Ajouter les API d'expansion de volet manquantes aux scaffolds (Ic5bc0)
  • Remplacement du nom ThreePaneScaffoldDestinationItem.content par contentKey. Le type d'argument par défaut de rememberListDetailPaneScaffoldNavigator et rememberSupportingPaneScaffoldNavigator est passé de Nothing à Any. (I58749)
  • Marquer ThreePaneScaffoldState comme stable (I64aec)
  • Définir des paramètres de poignée de déplacement (Ic0aa2)

Version 1.1.0-alpha01

21 août 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01. La version 1.1.0-alpha01 contient ces commits.

Nouvelles fonctionnalités

  • Ajout de la prise en charge de l'expansion des volets pour les scaffolds adaptatifs.

Modifications apportées à l'API

  • Présentation au public des API d'expansion des volets (I301d6)
  • Ajout de ThreePaneScaffoldState pour contrôler les transitions de valeurs dans le panneau. Ajout de surcharges de ListDetailPaneScaffold et SupportingPaneScaffold qui acceptent cet état. (I5db3b)
  • Ajout de la clé d'expansion du volet et de l'interface du fournisseur de clés (Id621f)

Correction de bugs

  • Correction du calcul incorrect de la partition lorsqu'une charnière exclue est présente. (9dfd483)

Compose Material3 Adaptive version 1.0

Version 1.0.0

4 septembre 2024

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

Principales fonctionnalités de la version 1.0.0

Version 1.0.0-rc01

21 août 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01. La version 1.0.0-rc01 contient ces commits.

Correction de bugs

  • Correction du calcul incorrect de la partition lorsqu'une charnière exclue est présente. (9dfd483)

Version 1.0.0-beta04

26 juin 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04. La version 1.0.0-beta04 contient ces commits.

Correction de bugs

  • Correction du problème qui empêchait la mise à jour de la mise en page lorsque les limites de la charnière étaient modifiées. (71e9cf1)

Version 1.0.0-beta03

12 juin 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03. La version 1.0.0-beta03 contient ces commits.

Correction de bugs

  • Correction des plantages causés par une résolution de dépendances incorrecte dans la version bêta 02.

Version 1.0.0-beta02

29 mai 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02. La version 1.0.0-beta02 contient ces commits.

Version 1.0.0-beta01

14 mai 2024

Publication d'androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01. La version 1.0.0-beta01 contient ces commits.

Version 1.0.0-alpha12

1er mai 2024

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

Modifications apportées à l'API

  • Ajout d'informations isFlat à HingeInfo (Ie0516, b/333784198)
  • Rendre les API adaptatives non expérimentales (I1d038)
  • Rendre les API de mise en page adaptative non expérimentales (Id23df)
  • Conversion de l'énumération BackNavigationBehavior en classe de valeur (Id8757)

Correction de bugs

  • Transformer la fraction de transition en lambda (I6f5a9)
  • Correction du problème d'état initial de SizeTracker (18326a9)
  • Inclure la liste des charnières dans la vérification de l'égalité Posture (6687137)

Version 1.0.0-alpha11

17 avril 2024

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

Modifications apportées à l'API

  • Rendez les interfaces de portée scellées. (Iefa57)
  • Présentez AnimatedPaneScope. (I62d73, b/332750742)
  • Rendez AdaptStrategy scellé et stable. (Ia28b2)
  • Ajout d'une méthode de copie pour PaneScaffoldDirective. (I9291f)
  • Identification de ThreePaneScaffoldScope comme étant expérimental. (I9d527)
  • Fournissez des API de structure faciles à utiliser qui prennent en charge la navigation. (I263f0, b/321010778)

Version 1.0.0-alpha10

3 avril 2024

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

Modifications apportées à l'API

  • Rendre la largeur préférée par défaut adaptative et personnalisable. (Ic3abc)
  • Renommez les fonctions de calcul des directives de structure. (I10855)
  • Suppression des marges intérieures et des encarts des API Scaffold. (I786f8)
  • Ajout de méthodes de mémorisation du navigateur sans types génériques. (I607c3)

Version 1.0.0-alpha09

20 mars 2024

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

Modifications apportées à l'API

  • Ajoutez des champs de transition d'état à ThreePaneScaffoldScope. (I3d917)
  • Réorganisez les paramètres du scaffold. (I4dff5)
  • Fournissez la valeur par défaut du paramètre du modificateur AnimatedPane. (I77dd7)

Correction de bugs

  • Incluez la taille de l'espace dans les mouvements du volet. (a3174ca)

Version 1.0.0-alpha08

6 mars 2024

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

Nouvelles fonctionnalités

  • Implémentez un volet coulissant différé lors du changement de volet. (I1a38e)

Modifications apportées à l'API

  • Suppression de l'interface ThreePaneScaffoldState. (I63f23)

Version 1.0.0-alpha07

21 février 2024