Neuigkeiten zum Produkt

Material 3 Adaptive 1.2.0 ist stabil

Lesezeit: 2 Minuten
Rob Orgiu
Developer Relations Engineer

Wir freuen uns, euch mitteilen zu können, dass Material 3 Adaptive 1.2.0 jetzt stabil ist.

Diese Version baut auf den Grundlagen der vorherigen Versionen auf und erweitert die Unterstützung auf weitere Haltepunkte für Fenstergrößenklassen und neue Strategien zum automatischen Platzieren von Anzeigebereichen.

Neues in Material 3 Adaptive 1.2.0

Diese stabile Version basiert auf der Unterstützung von WindowManager 1.5.0 für große und extragroße Haltepunkte und führt die neuen Strategien „Reflow“ und „Levitate“ für ListDetailPaneScaffold und SupportingPaneScaffold ein. 

Neue Fenstergrößenklassen: „Large“ und „Extra-large“

newwindow.png


Mit WindowManager 1.5.0 wurden zwei neue Haltepunkte für die Fenstergrößenklasse „Breite“ eingeführt, um noch größere Fenster als die Fenstergrößenklasse „Expanded“ zu unterstützen. Die Haltepunkte „Large“ (L) und „Extra-large“ (XL) können aktiviert werden, indem Sie den folgenden Parameter zum Aufruf currentWindowAdaptiveInfo() in Ihrer Codebasis hinzufügen:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

Mit diesem Flag kann die Bibliothek bei Bedarf auch L- und XL-Haltepunkte zurückgeben.

Neue adaptive Strategien: „Reflow“ und „Levitate“

Das Anordnen von Inhalten und Anzeigebereichen in einem Fenster ist eine komplexe Aufgabe, bei der viele Faktoren berücksichtigt werden müssen, angefangen bei der Fenstergröße. Mit der neuen Material 3 Adaptive-Bibliothek können Sie mit zwei neuen Technologien ein adaptives Layout mit minimalem Aufwand erstellen.

Bei Reflow werden Bereiche neu angeordnet, wenn sich die Fenstergröße oder das Seitenverhältnis ändert. Wenn das Fenster breit genug ist, wird ein zweiter Bereich neben dem ersten platziert. Wenn das Fenster höher ist, wird der zweite Bereich unter dem ersten angeordnet. Diese Technik wird auch angewendet, wenn das Fenster kleiner wird: Der Inhalt wird nach unten verschoben.

material.jpg

Bereich basierend auf der Fenstergröße neu anordnen

In vielen Fällen ist das Reflow eine gute Option. Es kann jedoch Situationen geben, in denen der Inhalt entweder an einer Seite des Fensters angedockt oder darüber schwebend platziert werden muss. Mit der Strategie „Levitate“ wird der Inhalt nicht nur angedockt, sondern Sie können auch Funktionen wie Ziehbarkeit, Größenänderung und sogar den Hintergrund-Scrim anpassen.


 

material2.jpg

Bereich basierend auf dem Seitenverhältnis von der Seite zur Mitte schwebend platzieren

Sowohl die Strategie „Flow“ als auch „Levitate“ können im Navigator Konstruktor mit dem Parameter `adaptStrategies` deklariert werden. Beide Strategien können auf scaffolds für Listen-Detailansicht- und unterstützende Bereiche angewendet werden:

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


 

Weitere Informationen zur Nutzung dieser neuen adaptiven Strategien finden Sie auf der Material-Website und im vollständigen Beispielcode auf GitHub.

Verfasst von:

Weiterlesen