Мы рады сообщить, что 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 • 4 мин чтения
Новости о продуктахСегодня на мероприятии Galaxy Unpacked компания Samsung представила свою новейшую линейку складных и носимых устройств. Для разработчиков это означает, что разнообразие форм-факторов, размеров экранов и положений устройств, которые должно поддерживать ваше приложение, снова расширяется.
Fahd Imtiaz , Miguel Montemayor • Чтение 3 минуты
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.





