Compose Material 3 Adaptive
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.
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 fonctionscalculatePosture()
etcurrentWindowDpSize()
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
etSupportingPaneScaffold
, 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
enOverride
et des typesComponentOverrideContext
enOverrideScope
. (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
etSupportingPaneScaffold
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émentPaneExpansionState
.- La prévisualisation du Retour par défaut est désormais disponible avec
NavigableListDetailPaneScaffold
etNavigableSupportingPaneScaffold
. Vous pouvez également utiliserThreePaneScaffoldPredictiveBackHandler
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
etExitTransition
à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'animationMutableThreePaneScaffoldState
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
etNavigableSupportingPaneScaffold
a été remplacé parPopUntilScaffoldValueChange
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
etThreePaneScaffoldHorizontalOrder.toLtrOrder()
(I2d6b7) - Supprimez
PaneScaffoldMotionScope
et transformez-le en champ sousPaneScaffoldTransitionScope
. Renommez-le également enPaneScaffoldMotionDataProvider
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
etNavigableSupportingPaneScaffold
. (I4dc21, b/359616816)
Modifications apportées à l'API
- Ajout de
ThreePaneScaffoldState
àThreePaneScaffoldNavigator
. Les méthodes de navigation ont été renduessuspend
pour prendre en charge la navigation avec animation. Ajout deseekBack
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
parcontentKey
. Le type d'argument par défaut derememberListDetailPaneScaffoldNavigator
etrememberSupportingPaneScaffoldNavigator
est passé deNothing
à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 deListDetailPaneScaffold
etSupportingPaneScaffold
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
- Fonctions composables
currentWindowSize()
,collectFoldingFeaturesAsState()
etcurrentWindowAdaptiveInfo()
pour obtenir les informations de fenêtre requises afin d'adapter les applications, comme la taille des fenêtres et les fonctionnalités de pliage. ListDetailPaneScaffold
etSupportingPaneScaffold
pour fournir deux mises en page canoniques Material3 qui s'adapteront automatiquement en fonction des différentes configurations de fenêtre. Ces deux échafaudages sont également entièrement personnalisables pour répondre aux différents besoins des créateurs.ThreePaneScaffoldNavigator
et ses fonctions de mémorisation associées,rememberListDetailPaneScaffoldNavigator()
etrememberSupportingPaneScaffoldNavigator()
, pour fournir des solutions de navigation dans un scaffold adaptatif, qui peut afficher plusieurs destinations de navigation en même temps, par rapport à la configuration courante d'une destination à la fois dans le monde non adaptatif.- Animations Material 3 intégrées par défaut lors du changement d'état du scaffold adaptatif.
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