Nowości dotyczące produktów

Material 3 Adaptive 1.2.0 jest stabilny

2 minuty czytania
Wyświetl profil Roba Orgiu
Rob Orgiu Inżynier ds. relacji z deweloperami

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

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

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

Rozmieszczenie 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: treści są przenoszone na dół.

material.jpg

Zmiana położenia panelu w zależności od rozmiaru okna

Chociaż zmiana położenia jest w wielu przypadkach świetnym rozwiązaniem, mogą wystąpić sytuacje, w których treści trzeba będzie zadokować z boku okna lub przesunąć na jego wierzch. Strategia levitate nie tylko dokuje treści, ale też pozwala dostosowywać 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

Obie strategie, flow i levitate, można zadeklarować w konstruktorze Navigator za pomocą parametru adaptStrategies. Obie strategie można zastosować do paneli szczegółowa lista i supporting pane 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 kompletnym przykładowym kodzie na GitHub.

Autor:
Czytaj dalej