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
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ół.
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.
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.
-
Nowości dotyczące produktówZapewnienie bezpiecznego korzystania z internetu i ochrona użytkowników przed szkodliwymi treściami to dla nas w Google Play priorytet.
Paul Feng • 2 minuty czytania -
Nowości dotyczące produktówDziś oficjalnie obchodzimy 5. rocznicę wydania Jetpack Compose 1.0. Od wersji 1.0, ogłoszonej 28 lipca 2021 r., do najnowszej wersji 1.11 interfejsy API znacznie się rozwinęły. Chcemy to uczcić.
Rebecca Franks, Nick Butcher, Loryn Hairston • 5 minut czytania -
Nowości dotyczące produktówAndroid Studio Quail 2 jest już stabilny i gotowy do użycia w środowisku produkcyjnym. Wprowadza do IDE zmiany w postaci równoczesnych przepływów pracy agenta, natywnie zintegrowanego profilowania wycieków pamięci i naprawiania awarii z uwzględnieniem kontekstu.
Amman Asfaw • 3 minuty czytania
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.