Actualités des produits

La version 1.2.0 d'Adaptive Material 3 est stable

Temps de lecture : 2 min
Rob Orgiu
Ingénieur chargé des relations avec les développeurs

Nous sommes ravis d'annoncer que Material 3 Adaptive 1.2.0 est désormais stable.

Cette version s'appuie sur les bases des versions précédentes, en étendant la prise en charge à davantage de points d'arrêt pour les classes de taille de fenêtre et en proposant de nouvelles stratégies pour placer automatiquement les volets d'affichage.

Nouveautés de Material 3 Adaptive 1.2.0

Cette version stable s'appuie sur WindowManager 1.5.0 pour les points d'arrêt de grande et très grande taille. Elle introduit également les nouvelles stratégies de réorganisation et de lévitation pour ListDetailPaneScaffold et SupportingPaneScaffold

Nouvelles classes de taille de fenêtre : grande et très grande

newwindow.png


WindowManager 1.5.0 a introduit deux nouveaux points d'arrêt pour la classe de taille de fenêtre en largeur afin de prendre en charge les fenêtres encore plus grandes que la classe de taille de fenêtre "Agrandie". Vous pouvez activer les points d'arrêt "Large" (L) et "Extra-large" (XL) en ajoutant le paramètre suivant à l'appel currentWindowAdaptiveInfo() dans votre codebase :

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

Cet indicateur permet à la bibliothèque de renvoyer également les points d'arrêt L et XL chaque fois que nécessaire.

Nouvelles stratégies adaptatives : reflow et levitate

L'organisation du contenu et des volets d'affichage dans une fenêtre est une tâche complexe qui doit prendre en compte de nombreux facteurs, à commencer par la taille de la fenêtre. Grâce à la nouvelle bibliothèque Adaptive Material 3, deux nouvelles technologies peuvent vous aider à obtenir une mise en page adaptative avec un minimum d'efforts.

Avec le reflux, les volets sont réorganisés lorsque la taille ou le format de la fenêtre changent. Un deuxième volet est placé à côté du premier lorsque la fenêtre est suffisamment large, ou en dessous du premier lorsque la fenêtre est plus haute. Cette technique s'applique également lorsque la fenêtre devient plus petite : le contenu est réorganisé en bas.

material.jpg

Redimensionner un volet en fonction de la taille de la fenêtre

Bien que le réagencement soit une option incroyable dans de nombreux cas, il peut arriver que le contenu doive être ancré sur un côté de la fenêtre ou lévite au-dessus. La stratégie de lévitation permet non seulement d'ancrer le contenu, mais aussi de personnaliser des fonctionnalités telles que la possibilité de le faire glisser, de le redimensionner et même de modifier le scrim d'arrière-plan.


 

material2.jpg

Faire léviter un volet du côté vers le centre en fonction du format

Les stratégies de flux et de lévitation peuvent être déclarées dans le constructeur Navigator à l'aide du paramètre adaptStrategies. Les deux stratégies peuvent être appliquées au volet scaffolds de liste/détails et au volet d'assistance :

val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>(
        adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies(
            detailPaneAdaptStrategy = AdaptStrategy.Reflow(
                reflowUnder = ListDetailPaneScaffoldRole.List
            ),
            extraPaneAdaptStrategy = AdaptStrategy.Levitate(
                alignment = Alignment.Center
            )
        )
    )


 

Pour en savoir plus sur l'utilisation de ces nouvelles stratégies adaptatives, consultez le site Web Material et l'exemple de code complet sur GitHub.

Écrit par :

Lire la suite