Nowości dotyczące produktów

Stabilna wersja Material 3 Adaptive 1.2.0

Czas czytania: 2 minuty
Rob Orgiu
Inżynier ds. relacji z deweloperami

Z przyjemnością informujemy, że Material 3 Adaptive 1.2.0 jest już stabilna.

Ta wersja opiera się na fundamentach poprzednich wersji, rozszerzając obsługę o więcej punktów przerwania dla klas rozmiarów okien oraz nowe strategie automatycznego umieszczania paneli wyświetlania.

Co nowego w Material 3 Adaptive 1.2.0

Ta stabilna wersja jest oparta na obsłudze punktów przerwania dla dużych i bardzo dużych okien w WindowManager 1.5.0. Wprowadza też nowe strategie reflow i levitate dla ListDetailPaneScaffold i SupportingPaneScaffold

Nowe klasy rozmiarów okien: duże i bardzo duże

newwindow.png


WindowManager 1.5.0 wprowadza 2 nowe punkty przerwania dla klasy rozmiaru okna, aby obsługiwać jeszcze większe okna niż klasa rozmiaru okna Expanded. Punkty przerwania Large (L) i Extra-large (XL) można włączyć, dodając ten parametr do wywołania currentWindowAdaptiveInfo() w bazie kodu:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

Ta flaga umożliwia bibliotece zwracanie punktów przerwania L i XL, gdy są potrzebne.

Nowe strategie adaptacyjne: reflow i levitate

Rozmieszczanie treści i paneli wyświetlania w oknie to złożone zadanie, które wymaga uwzględnienia wielu czynników, począwszy od rozmiaru okna. Dzięki nowej bibliotece Material 3 Adaptive możesz zminimalizować wysiłek związany z tworzeniem układu adaptacyjnego.

W przypadku strategii reflow panele są rozmieszczane ponownie, gdy zmienia się rozmiar okna lub proporcje obrazu. Drugi panel jest umieszczany z boku pierwszego, gdy okno jest wystarczająco szerokie, lub pod pierwszym, gdy okno jest wyższe. Ta technika działa też, gdy okno się zmniejsza: zawartość jest przenoszona na dół.

material.jpg

Zmiana położenia panelu na podstawie rozmiaru okna

Chociaż reflow jest w wielu przypadkach świetnym rozwiązaniem, mogą wystąpić sytuacje, w których zawartość trzeba będzie zadokować z boku okna lub przesunąć na jego wierzch. Strategia levitate nie tylko dokuje zawartość, ale też pozwala dostosować takie funkcje jak możliwość przeciągania, zmiany rozmiaru, a nawet tło.


 

material2.jpg

Przesuwanie panelu z boku na środek na podstawie proporcji obrazu

Strategie flow i levitate można zadeklarować w konstruktorze Navigator za pomocą parametru adaptStrategies. Obie strategie można zastosować do elementów scaffolds z listą szczegółów i panelem pomocniczym:

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


 

Więcej informacji o tym, jak wykorzystać te nowe strategie adaptacyjne, znajdziesz w witrynie Material oraz w pełnym przykładowym kodzie na GitHub.

Autor:

Czytaj dalej