Nowości o produktach

Stabilna wersja Material 3 Adaptive 1.2.0

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

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

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 oraz wprowadza nowe strategie reflow i levitate dla ListDetailPaneScaffold i SupportingPaneScaffold

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

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

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 strategii 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 w zależności od 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ż pozwala dostosować takie funkcje jak możliwość przeciągania, zmiany rozmiaru, a nawet tło.


 

material2.jpg

Przesuwanie panelu z boku na środek w zależności od proporcji obrazu

Strategie flow i levitate można zadeklarować w konstruktorze Navigator za pomocą parametru adaptStrategies. Obie strategie można zastosować do szczegółowej listy i pomocniczych paneli 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