Мы рады сообщить, что Material 3 Adaptive 1.2.0 теперь стабилен!
В этом релизе продолжается развитие идей предыдущих версий, расширяется поддержка большего количества контрольных точек для классов размеров окон и вводятся новые стратегии автоматического размещения панелей отображения.
Что нового в Material 3 Adaptive 1.2.0?
Этот стабильный релиз основан на поддержке WindowManager 1.5.0 для больших и сверхбольших контрольных точек и представляет новые стратегии переформатирования и левитации для ListDetailPaneScaffold и SupportingPaneScaffold .
Новые категории размеров окон: Большие и Очень большие.

В WindowManager 1.5.0 были введены две новые контрольные точки для класса размера окна width, позволяющие поддерживать еще большие окна, чем класс размера окна Expanded. Контрольные точки Large (L) и Extra-large (XL) можно включить, добавив следующий параметр к вызову currentWindowAdaptiveInfo() в вашем коде:
currentWindowAdaptiveInfo(supportLargeAndXLargeWidth = true)
Этот флаг позволяет библиотеке также возвращать точки останова L и XL, когда это необходимо.
Новые адаптивные стратегии: перетекание и левитация
Размещение контента и панелей отображения в окне — сложная задача, требующая учета множества факторов, начиная с размера окна. Новая библиотека Material 3 Adaptive предлагает две новые технологии, которые помогут вам создать адаптивную компоновку с минимальными усилиями.
При использовании функции переформатирования панели перестраиваются при изменении размера окна или соотношения сторон: вторая панель размещается сбоку от первой, когда окно достаточно широкое, или вторая панель переформатируется под первую, когда окно становится выше. Этот метод также применяется, когда окно становится меньше: содержимое переформатируется вниз.

Изменение расположения элементов в панели в зависимости от размера окна.
Хотя переформатирование — это невероятно полезная опция во многих случаях, могут возникнуть ситуации, когда контент необходимо либо закрепить сбоку окна, либо «левитировать» над ним. Стратегия «левитации» не только закрепляет контент, но и позволяет настраивать такие параметры, как перетаскивание, изменение размера и даже фоновую завесу.

Поднятие стеклянной панели сбоку к центру в зависимости от соотношения сторон
Стратегии flow и levitate можно объявить внутри конструктора Navigator с помощью параметра adaptStrategies, и обе стратегии могут применяться к scaffolds list-detail и поддерживающим панелям:
val navigator = rememberListDetailPaneScaffoldNavigator<Nothing>( adaptStrategies = ListDetailPaneScaffoldDefaults.adaptStrategies( detailPaneAdaptStrategy = AdaptStrategy.Reflow( reflowUnder = ListDetailPaneScaffoldRole.List ), extraPaneAdaptStrategy = AdaptStrategy.Levitate( alignment = Alignment.Center ) ) )
Чтобы узнать больше о том, как использовать эти новые адаптивные стратегии, посетите веб-сайт Material и ознакомьтесь с полным примером кода на GitHub.
Новости о продуктахОбеспечение безопасного взаимодействия в интернете и защита пользователей от вреда являются одними из главных приоритетов Google Play.
Paul Feng • 2 мин чтения
Новости о продуктахСегодня мы официально отмечаем пятилетие с момента выхода Jetpack Compose 1.0. Начиная с версии 1.0, анонсированной 28 июля 2021 года, и заканчивая нашей последней версией 1.11, мы стали свидетелями значительного развития API, и мы хотим отметить это событие.
Rebecca Franks , Nick Butcher , Loryn Hairston • 5 мин чтения
Новости о продуктахAndroid Studio Quail 2 теперь стабильна и готова к использованию в продакшене, предлагая вашему IDE новые возможности благодаря параллельным агентным рабочим процессам, встроенному профилированию утечек памяти и контекстно-зависимому устранению сбоев.
Amman Asfaw • 3 мин чтения
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.




