Nowości dotyczące produktów

Material 3 Adaptive 1.2.0 jest stabilny

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

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

Ta wersja opiera się na fundamentach poprzednich wersji, rozszerzając obsługę o więcej punktów przerwania dla klas rozmiarów okien i 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 wprowadził 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

Uporządkowanie 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 2 nowe technologie mogą pomóc Ci w uzyskaniu adaptacyjnego układu przy minimalnym wysiłku.

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

material.jpg

Zmiana położenia panelu na podstawie rozmiaru okna

Chociaż reflow jest w wielu przypadkach świetną opcją, mogą wystąpić sytuacje, w których treść trzeba będzie zadokować z boku okna lub przesunąć na jego wierzch. Strategia levitate nie tylko dokuje treść, ale też umożliwia dostosowanie takich funkcji jak możliwość przeciągania, zmiany rozmiaru, a nawet tła.


 

material2.jpg

Przesuwanie panelu z boku na środek na podstawie proporcji obrazu

Obie strategie, flow i levitate, można zadeklarować w konstruktorze Navigator za pomocą parametru adaptStrategies. Obie strategie można zastosować do szczegółowej listy i paneli pomocniczych scaffolds:

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 na stronie Material oraz w pełnym przykładowym kodzie na GitHub.

Autor:

Czytaj dalej