Compose Material 3 Adaptive

  
Utilisez la bibliothèque adaptative Material 3 pour créer des UI adaptatives qui s'adaptent automatiquement en fonction des configurations de fenêtre actuelles, telles que les classes de taille de fenêtre ou les positions de l'appareil. La bibliothèque fournit à la fois des implémentations d'échafaudage par défaut et les composables de blocs de base nécessaires pour créer vos propres expériences personnalisées.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
12 décembre 2024 1.0.0 - - 1.1.0-alpha08

Déclarer des dépendances

Pour ajouter une dépendance à 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.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

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

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.1

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

  • Introduction de la fonction currentWindowDpSize. (I99125, b/296300441)
  • Exposition de PaneScaffoldParentData et de 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. Fournissez plutôt des méthodes de getter et de boucle pour accéder aux données. (Id8884)
  • Créez un mécanisme de forçage pour ThreePaneScaffold afin de prendre en charge les implémentations de téléchargement latéral pour différents facteurs de forme. (I5280f)
  • Rend l'état d'expansion du volet nul 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

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

Correction de bugs

  • Correction des problèmes liés à la 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)
  • Remplacez le type des paramètres du navigateur par des types génériques dans les échafaudages 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 remplacez currentXXXXX dans PaneMotionData par 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 dans NavigableListDetailPaneScaffold et NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Modifications apportées à l'API

  • Ajout de ThreePaneScaffoldState à ThreePaneScaffoldNavigator. Les méthodes de navigation ont été définies sur 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 l'échafaudage. L'ThreePaneScaffoldState existante a été définie en lecture seule. (Idb3c6)
  • Exposer les implémentations de mouvement de volet par défaut (I95a7b)
  • Activation de la définition de l'ancrage initial de l'état d'expansion du volet (Ie41b3, b/362350560)

Correction de bugs

  • Application d'une taille minimale de cible tactile de 48 x 48 dp pour la poignée de glissement (7ce6635, b/366018217)
  • Restauration de la position d'ancrage après une modification de la 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 des mouvements (I0bf9c), (I80e66) permet aux créateurs de modifier les mouvements par défaut lors des changements d'état de l'échafaudage adaptatif. Les créateurs peuvent choisir parmi un ensemble de transitions de début et de fin par défaut, ou implémenter des transitions entièrement personnalisées avec les informations fournies via de nouveaux champs d'application de mouvement.
  • Implémentation d'une animation de fondu des poignées de glissement d'expansion des volets (46e3c69)
  • Possibilité d'enregistrer les PaneExpansionState mémorisées (61ff76f)

Modifications apportées à l'API

  • Ajout des API d'expansion de volet manquantes aux échafaudages (Ic5bc0)
  • Remplacement du nom ThreePaneScaffoldDestinationItem.content par contentKey. L'argument de type par défaut de rememberListDetailPaneScaffoldNavigator et rememberSupportingPaneScaffoldNavigator est passé de Nothing à Any. (I58749)
  • Marquage de ThreePaneScaffoldState comme stable (I64aec)
  • Définir le champ d'application des paramètres de poignée de glissement (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

  • Prise en charge de l'expansion des volets dans les échafaudages adaptatifs.

Modifications apportées à l'API

  • Introduction des API d'expansion des volets au public (I301d6)
  • Ajout de ThreePaneScaffoldState pour contrôler les transitions de valeur des volets. Ajout de surcharges de ListDetailPaneScaffold et SupportingPaneScaffold qui acceptent cet état. (I5db3b)
  • Ajout d'une clé d'expansion de volet et d'une interface de fournisseur de clés (Id621f)

Correction de bugs

  • Correction d'un calcul incorrect de la partition en cas de présence d'une charnière exclue. (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 d'un calcul incorrect de la partition en cas de présence d'une charnière exclue. (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

  • Corrige les plantages causés par une résolution incorrecte des dépendances 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)
  • Reclassement des API adaptatives en API non expérimentales (I1d038)
  • Passage des API de mise en page adaptative en version non expérimentale (Id23df)
  • Modification de BackNavigationBehavior d'une énumération en classe de valeurs (Id8757)

Correction de bugs

  • Modification de 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 d'é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

  • Sceller les interfaces de portée (Iefa57)
  • Introduction de AnimatedPaneScope. (I62d73, b/332750742)
  • Assurez-vous que AdaptStrategy est étanche et stable. (Ia28b2)
  • Introduction d'une méthode de copie de PaneScaffoldDirective. (I9291f)
  • Marquer ThreePaneScaffoldScope comme expérimental (I9d527)
  • Fournissez des API d'échafaudage 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 marges extérieures des API d'échafaudage. (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éorganiser les paramètres de l'échafaudage (I4dff5)
  • Fournissez la valeur par défaut du paramètre de modificateur AnimatedPane. (I77dd7)

Correction de bugs

  • Inclure la taille de l'espacement dans les mouvements de 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 le glissement 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