Мы рады сообщить, что 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.
Продолжить чтение

Новости о продуктах
В прошлом году мы ввели проверку разработчиков Android, чтобы усилить безопасность экосистемы и предотвратить распространение вредоносных приложений злоумышленниками, которые, скрываясь за анонимностью, выпускают опасные приложения.
Matthew Forsythe • 2 мин чтения

Новости о продуктах
От дополненной реальности до полностью иммерсивных сред — экосистема Android XR стремительно расширяется, и Samsung Galaxy XR уже доступен для покупки сегодня.
Stevan Silva , Vinny DaSilva • Чтение 3 минуты

Новости о продуктах
Каждый год конференция Google I/O представляет новые анонсы и ресурсы для различных экосистем и продуктов, включая разработку под Android. Поскольку разработка всё больше ориентируется на искусственный интеллект и инструменты с поддержкой агентов, мы расширили спектр наших предложений, чтобы лучше поддерживать вас независимо от того, какой подход к разработке вы выберете для Android.
Simona Milanovic • 2 мин чтения
Будьте в курсе событий
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.






