Produktneuheiten

Material 3 Adaptive 1.2.0 ist stabil

Lesezeit: 2 Minuten
Profil von Rob Orgiu ansehen
Rob Orgiu Developer Relations Engineer

Wir freuen uns, Ihnen 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.

Neuerungen 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: „Groß“ und „Extragroß“

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 „Erweitert“ zu unterstützen. Die Haltepunkte „Groß“ (L) und „Extragroß“ (XL) können aktiviert werden, indem Sie dem Aufruf currentWindowAdaptiveInfo() in Ihrer Codebasis die folgende Option hinzufügen:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

Mit diesem Flag kann die Bibliothek bei Bedarf auch die Haltepunkte „L“ und „XL“ 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 der Strategie 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

Die Strategie „Reflow“ ist in vielen Fällen 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 anpassen.


 

material2.jpg

Bereich basierend auf dem Seitenverhältnis von der Seite in die Mitte verschieben

Sowohl die Strategie „Reflow“ als auch die Strategie „Levitate“ können im Konstruktor Navigator 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 Verwendung dieser neuen adaptiven Strategien finden Sie auf der Material-Website und im vollständigen Beispielcode auf GitHub.

Geschrieben von:
Weiterlesen