Wiadomości o usługach

Material 3 Adaptive w wersji 1.2.0 jest stabilny.

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

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

Ta wersja bazuje na poprzednich, rozszerzając obsługę większej liczby punktów przerwania dla klas rozmiarów okien i nowych strategii automatycznego umieszczania paneli wyświetlania.

Nowości w Material 3 Adaptive 1.2.0

Ta stabilna wersja jest oparta na obsłudze punktów przerwania o dużej i bardzo dużej szerokości w bibliotece WindowManager w wersji 1.5.0. Wprowadza też nowe strategie reflow i levitate dla funkcji ListDetailPaneScaffoldSupportingPaneScaffold

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

newwindow.png


W bibliotece WindowManager w wersji 1.5.0 wprowadziliśmy 2 nowe punkty przerwania dla klasy rozmiaru okna o szerokości, aby obsługiwać jeszcze większe okna niż w przypadku klasy rozmiaru okna o rozszerzonej szerokości. Duże (L) i bardzo duże (XL) punkty przerwania można włączyć, dodając do wywołania currentWindowAdaptiveInfo() w kodzie te parametry:

currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)

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

Nowe strategie adaptacyjne: zmiana układu i unoszenie

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 adaptacyjnej Material 3 możesz z łatwością tworzyć adaptacyjne układy za pomocą 2 nowych technologii.

Przelewanie powoduje zmianę układu paneli, gdy zmienia się rozmiar okna lub format obrazu. Drugi panel jest umieszczany obok pierwszego, gdy okno jest wystarczająco szerokie, a gdy okno jest wyższe, drugi panel jest umieszczany pod pierwszym. Ta technika działa również wtedy, gdy okno staje się mniejsze: treść jest przenoszona na dół.

material.jpg

Zmiana układu panelu w zależności od rozmiaru okna

Chociaż zmiana układu jest w wielu przypadkach świetną opcją, mogą wystąpić sytuacje, w których treść powinna być zadokowana z boku okna lub zawieszona nad nim. Strategia lewitacji nie tylko dokuje treści, ale też umożliwia dostosowywanie funkcji takich jak możliwość przeciągania i zmiany rozmiaru, a nawet tło.


 

material2.jpg

Przesuwanie panelu z boku na środek na podstawie formatu obrazu

Zarówno strategię przepływu, jak i strategię lewitacji można zadeklarować w konstruktorze Navigator za pomocą parametru adaptStrategies. Obie strategie można zastosować do szczegółowej listy i panelu pomocniczego 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 korzystać z tych nowych strategii adaptacyjnych, znajdziesz na stronie Material oraz w kompletnym przykładowym kodzie na GitHubie.

Autor:

Czytaj dalej