Вышел релиз 1.2 Compose Material 3, в котором появились новые компоненты, некоторые изменения в старых компонентах и расширение системы цветов Material3.
Изменения в компонентах, понижения и повышения
Segmented Button
— новый экспериментальный компонент. Существуют варианты с одним и несколькими выборами.
BottomAppBar
имеет BottomAppBarScrollBehavior
для автоматического скрытия себя при прокрутке содержимого.
SwipeToDismiss
был переделан в SwipeDismissBox
и остается в статусе экспериментального.
Badge
и BadgedBox
были переведены в стабильный статус.
API для Chip
были переведены в разряд стабильных.
Изменения цветов
В Compose 1.2 в Material3 расширен набор цветов, что дает вам больше возможностей персонализировать свои приложения. Заметными дополнениями стали новые варианты поверхностей, позволяющие акцентировать внимание на информации в пользовательском интерфейсе. Компоненты были обновлены, чтобы более полно использовать новые значения поверхностей.
Небольшое замечание по реализации: объект ColorScheme теперь неизменяемый, что позволяет Jetpack Compose пропускать его и, возможно, оптимизировать последующие рекомпозиции в соответствии с этим.
Если ваш код в настоящее время изменяет цвета в ColorScheme напрямую, то теперь для изменения цветов вам придется использовать метод copy.
Поверхности
Ранее в Material мы предоставляли единственное значение поверхности и во время выполнения рассчитывали интерполированные варианты этого значения путем смешивания с основным цветом. Это расстраивало разработчиков и дизайнеров, когда дело доходило до реализации пользовательских интерфейсов, поскольку они не могли назначить эти цвета напрямую.
В тематизацию были добавлены цветовые роли, имитирующие различные уровни высоты. Теперь есть три варианта цвета поверхности и пять вариантов контейнера поверхности.
Surface Bright
— это гарантированно самый светлый цвет поверхности. В настоящее время он не используется ни в одном из поставляемых нами компонентов.
Surface
был прежним цветом подложки для многих компонентов. В версии 1.2 он был в значительной степени заменен пятью поверхностными контейнерами. Он по-прежнему присутствует в спецификации, так что ваши компоненты, использующие его, не сломаются.
Surface Dim
— это гарантированно самый темный цвет поверхности. Как и Surface Bright, они не используются ни в одном из существующих компонентов.
Surface Container Lowest
, Low
, High
и Highest
— это дополнительные цветовые роли, которые могут обеспечить больший или меньший акцент в отличие от Surface Container.
Новые цветовые роли уже доступны в Material Theme Builder.
Где можно найти дополнительную информацию о Material Compose
Компоненты или функции, это лишь малая часть работы, которая проводится в каждом релизе. Полный список можно найти в примечаниях к выпускам.
Вы можете отправлять сообщения об ошибках и следить за открытыми проблемами на Buganizer. Вы также можете следить за развитием новых версий на cs.android.com. Посмотрите приложение-каталог, чтобы увидеть компоненты в действии.