Produktneuigkeiten

Material 3 Adaptive 1.2.0 ist stabil

Lesezeit: 1 Minute
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 früherer Versionen auf und erweitert die Unterstützung für mehr Haltepunkte für Fenstergrößenklassen und neue Strategien zur automatischen Platzierung 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 Reflow- und Levitate-Strategien für ListDetailPaneScaffold und SupportingPaneScaffold ein. 

Neue Fenstergrößenklassen: Groß und Extragroß

newwindow.png


In 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 currentWindowAdaptiveInfo()-Aufruf in Ihrer Codebasis den folgenden Parameter hinzufügen:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

Mit diesem Flag kann die Bibliothek auch L- und XL-Haltepunkte zurückgeben, wenn sie benötigt werden.

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 adaptiven Material 3-Bibliothek können Sie mit zwei neuen Technologien mit minimalem Aufwand ein adaptives Layout erstellen.

Beim Reflow werden die 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 platziert. Diese Technik wird auch angewendet, wenn das Fenster kleiner wird: Der Inhalt wird nach unten verschoben.

material.jpg

Fensterbereich basierend auf der Fenstergröße neu anordnen

Die Neuanordnung ist in vielen Fällen eine hervorragende Option, aber es kann Situationen geben, in denen der Inhalt entweder an einer Seite des Fensters angedockt oder darüber schwebend angezeigt 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

Ein Fenster wird je nach Seitenverhältnis von der Seite in die Mitte verschoben

Sowohl die Strategie „Fließen“ als auch die Strategie „Schweben“ können im Navigator-Konstruktor mit dem Parameter adaptStrategies deklariert werden. Beide Strategien können auf die Listen-/Detailansicht und den unterstützenden Bereich scaffolds 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