Составление материала 3
androidx.compose.material3
( См. справочную документацию по API для всех пакетов создания )
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
18 сентября 2024 г. | 1.3.0 | - | - | 1.4.0-альфа01 |
Структура
Compose — это комбинация семи идентификаторов групп Maven в androidx
. Каждая группа содержит целевой подмножество функций, каждая из которых имеет свой собственный набор примечаний к выпуску.
В этой таблице описаны группы и ссылки на каждый набор примечаний к выпуску.
Группа | Описание |
---|---|
сочинить.анимацию | Создавайте анимацию в своих приложениях Jetpack Compose, чтобы улучшить взаимодействие с пользователем. |
compose.compiler | Преобразуйте функции @Composable и включите оптимизацию с помощью плагина компилятора Kotlin. |
compose.foundation | Создавайте приложения Jetpack Compose с готовыми к использованию стандартными блоками и расширяйте основу для создания собственных частей системы проектирования. |
составить.материал | Создавайте пользовательские интерфейсы Jetpack Compose с готовыми к использованию компонентами Material Design. Это точка входа более высокого уровня в Compose, предназначенная для предоставления компонентов, соответствующих описанным на сайте www.material.io. |
Compose.material3 | Создавайте пользовательские интерфейсы Jetpack Compose с помощью компонентов Material Design 3 — следующего этапа развития Material Design. Material 3 включает в себя обновленные темы и компоненты, а также функции персонализации Material You, такие как динамический цвет, и разработан с учетом нового визуального стиля Android 12 и системного пользовательского интерфейса. |
Compose.runtime | Фундаментальные строительные блоки модели программирования Compose и управления состоянием, а также основная среда выполнения для целевого подключаемого модуля Compose Compiler. |
Compose.ui | Фундаментальные компоненты пользовательского интерфейса, необходимые для взаимодействия с устройством, включая макет, рисование и ввод. |
Объявление зависимостей
Чтобы добавить зависимость от Compose, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.compose.material3:material3:1.3.0" implementation "androidx.compose.material3:material3-window-size-class:1.3.0" implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha01" } android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Котлин
dependencies { implementation("androidx.compose.material3:material3:1.3.0") implementation("androidx.compose.material3:material3-window-size-class:1.3.0") implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.4.0-alpha01") } android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = "1.1.1" } kotlinOptions { jvmTarget = "1.8" } }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Compose Material3 Общая версия 1.0
Версия 1.0.0-альфа01
17 апреля 2024 г.
androidx.compose.material3:material3-common:1.0.0-alpha01
, androidx.compose.material3:material3-common-android:1.0.0-alpha01
и androidx.compose.material3:material3-common-desktop:1.0.0-alpha01
выпущены. Версия 1.0.0-alpha01 содержит эти коммиты .
Новые возможности
Бестемные компоненты, которые можно использовать для создания компонентов Material Design:
- Тональная палитра
- Икона
- Сенсорный целевой размер
Пакет адаптивной навигации Compose Material3, версия 1.0
Версия 1.0.0-альфа07
1 мая 2024 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha07
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha07
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha07
выпущены. Версия 1.0.0-alpha07 содержит эти коммиты .
Изменения API
- Сделать API-интерфейсы навигационного пакета неэкспериментальными ( If62af ).
Исправления ошибок
- Использовать вставки для контента по умолчанию ( 50266df )
Версия 1.0.0-альфа06
17 апреля 2024 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha06
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha06
выпущены. Версия 1.0.0-alpha06 содержит эти коммиты .
Изменения API
-
containerColor
иcontentColor
вNavigationSuiteScaffoldDefaults
. ( I64e3a , б/331993720 ) - Добавление функции
itemColors
вNavigationSuiteDefaults
. ( Idf719 , б/328480012 ) - Сделайте
NavigationSuiteScope
запечатанным. ( Иефа57 )
Версия 1.0.0-альфа05
6 марта 2024 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha05
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha05
выпущены. Версия 1.0.0-alpha05 содержит эти коммиты .
Изменения API
- Сделайте конструктор
NavigationSuiteItemColors
общедоступным. ( Ica83a , b/324886877 )
Версия 1.0.0-альфа04
21 февраля 2024 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha04
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha04
выпущены. Версия 1.0.0-alpha04 содержит эти коммиты.
Обновления зависимостей
- Обновите адаптивные зависимости Material3 для новых путей к модулям. ( Ibc421 )
- Перейдите на использование версии классов размеров окон в диспетчере окон. ( I3794d )
Версия 1.0.0-альфа03
7 февраля 2024 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha03
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha03
выпущены. Версия 1.0.0-alpha03 содержит эти коммиты.
Изменения API
- Обновить имя пакета до NavigationSuite из навигационного пакета ( I7eff7 )
- Компоненты Material3, предоставляющие
MutableInteractionSource
в своем API, были обновлены и теперь предоставляютMutableInteractionSource
с нулевым значением, значение которого по умолчанию равно нулю. Здесь нет никаких семантических изменений: передача null означает, что вы не хотите подниматьMutableInteractionSource
, и при необходимости он будет создан внутри компонента. Изменение значения на null позволяет некоторым компонентам никогда не выделятьMutableInteractionSource
, а другим компонентам — только лениво создавать экземпляр, когда это необходимо, что повышает производительность этих компонентов. Если вы не используетеMutableInteractionSource
который передаете этим компонентам, рекомендуется вместо этого передать значение null. Также рекомендуется внести аналогичные изменения в ваши собственные компоненты. ( I41abb , б / 298048146 )
Версия 1.0.0-альфа02
13 декабря 2023 г.
androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-navigation-suite-android:1.0.0-alpha02
и androidx.compose.material3:material3-adaptive-navigation-suite-desktop:1.0.0-alpha02
выпущены. Версия 1.0.0-alpha02 содержит эти коммиты.
Новые возможности
- Добавьте «Нет»
NavigationSuiteType
( If8cb1 , b/313688598 ).
Исправления ошибок
- Исправлен компонент навигации, заполняющий весь экран, когда корневая поверхность имеет
modifier.fillMaxSize
. ( c9cf250 , б/312664933 )
Версия 1.0.0-альфа01
15 ноября 2023 г.
Выпущен androidx.compose.material3:material3-adaptive-navigation-suite:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
Compose Material3 Адаптивная версия 1.0
Версия 1.0.0-альфа06
7 февраля 2024 г.
androidx.compose.material3:material3-adaptive:1.0.0-alpha06
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06
и androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha06
выпущены. Версия 1.0.0-alpha06 содержит эти коммиты.
Новые возможности
- Добавлены дополнительные параметры поведения для обратной навигации
ThreePaneScaffoldNavigator
. ( I858aa ) - В историю навигации добавлен дополнительный контент пункта назначения. ( Ibd7e6 )
Версия 1.0.0-альфа05
24 января 2024 г.
androidx.compose.material3:material3-adaptive:1.0.0-alpha05
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha05
и androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha05
выпущены. Версия 1.0.0-alpha05 содержит эти коммиты.
Новые возможности
- Поддержка учета истории в навигации по лесам и расчете значений ( I71d46 ).
Версия 1.0.0-альфа04
10 января 2024 г.
androidx.compose.material3:material3-adaptive:1.0.0-alpha04
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha04
и androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha04
выпущены. Версия 1.0.0-alpha04 содержит эти коммиты.
Новые возможности
- Добавлена поддержка от края до края в каркасах панелей ( I1b462 ).
Изменения API
- Свойства границ шарниров в Posture перенесены в список информации о шарнирах ( I24f90 ).
Исправления ошибок
- Исправление
AnimatedPane
не перекомпоновывается ( c3f573d )
Версия 1.0.0-альфа03
13 декабря 2023 г.
androidx.compose.material3:material3-adaptive:1.0.0-alpha03
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha03
и androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha03
выпущены. Версия 1.0.0-alpha03 содержит эти коммиты.
Изменения API
- Измените роли скаффолда на псевдонимы
ThreePaneScaffoldRole
. ( I65bd1 ) - Создайте базовый класс для ролей scaffold ( I4784d ).
- Удалите ненужный параметр из содержимого
AnimatedPane
( Ibc73b ). - Переименовывает
collectWindowSizeAsState
и вместо этого возвращает необработанные значения ( I480f4 )
Версия 1.0.0-альфа02
29 ноября 2023 г.
androidx.compose.material3:material3-adaptive:1.0.0-alpha02
, androidx.compose.material3:material3-adaptive-android:1.0.0-alpha02
и androidx.compose.material3:material3-adaptive-desktop:1.0.0-alpha02
выпущены. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
Исправления ошибок
- Панели исправлений не переключаются, когда
AnimatedPane
не используется ( d88f181 ).
Версия 1.0.0-альфа01
15 ноября 2023 г.
Выпущен androidx.compose.material3:material3-adaptive:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
API адаптивных условий Material3:
API-интерфейсы директивы адаптивной панели Material3:
API-интерфейсы адаптивной панели Material3:
- Основные API каркаса панели
Compose Material3 Версия 1.3
Версия 1.3.0
4 сентября 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0
. Версия 1.3.0 содержит эти коммиты .
Важные изменения с версии 1.2.0
Основные особенности версии 1.3.0
Новый Material Design 3 компонента
- Карусель
-
HorizontalMultiBrowseCarousel
иHorizontalUncontainedCarousel
Улучшения существующих компонентов Material Design 3.
-
- [
ModalBottomSheet
] теперь поддерживает функцию Predictive Back on U+ ( Iccf32 , b/281967264 , b/304850357 ) - [
SearchBar
] теперь поддерживает функцию Predictive Back on U+ ( I657f8 ). - Nav Drawer (
ModalDrawerSheet
иDismissibleDrawerSheet
) теперь поддерживает функцию Predictive Back on U+ в качестве опции ( Ie5b0b ). -
DropdownMenu
теперь поддерживает настраиваемый цвет, форму, высоту и границу. ( I8e981 , б/289554448 , б/301887035 , б/283654243 ) - Обновлен слайдер для улучшения доступности за счет добавления индикатора пробела и остановки. ( I3058e )
- Обновлен
ProgressIndicator
для улучшения доступности за счет добавления индикатора разрыва и остановки. ( I21451 ) - Добавлена каретка по умолчанию для расширенной всплывающей подсказки, поддерживается рисование пользовательской каретки с учетом привязки
LayoutCoordinates
. ( Ifd42c ) Критические изменения - Новые API обновления по запросу:
- Упрощен
PullToRefreshState
для использования дробных значений вместо единиц Dp. - Состояние
isRefreshing
контролируется пользователем вместоPullToRefreshState
. - Отделено вложенное соединение прокрутки от
PullToRefreshState
. Он обрабатывается новымPullToRefreshBox
илиModifier.pullToRefresh
. - Это обновление представляет собой радикальное изменение предыдущих экспериментальных API. ( I0adeb , b/314496282 , b/317177684 , b/323787138 , b/324573502 , b/317177683 ) Визуальные важные изменения
- Упрощен
- Обновите наложение состояния фокуса до значения 0,1f, чтобы обеспечить достаточный цветовой контраст. ( I7ea77 )
- Небольшие изменения в цветах поверхности и фона по умолчанию в
lightColorScheme
иdarkColorScheme
. ( I9db52 ) - Обновлены цвета слайдера и
ProgressIndicator
в соответствии с новыми спецификациями нетекстовой контрастности. ( I26807 ) - Варианты
SurfaceContainer
теперь используются компонентами. Компоненты, которые формально рассчитывали цвет с помощьюSurface
иTonalElevation
теперь по умолчанию используют ролиSurfaceContainer
, на которые не влияет повышение тона. ( б/304584161 ) - Роли базовой линии поверхности и контейнера поверхности были немного скорректированы, что обеспечивает больше оттенков в светлых и темных темах. ( I677a5 )
- Экспериментальные API переведены в стабильную версию!
- Улучшения производительности
Версия 1.3.0-rc01
21 августа 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-rc01
. Версия 1.3.0-rc01 содержит эти коммиты .
Исправления ошибок
-
ModalBottomSheet
теперь находится первым в порядке семантического обхода, за ним следует холст. ( I436f9 , б/358594665 )
Версия 1.3.0-бета05
24 июля 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-beta05
. Версия 1.3.0-beta05 содержит эти коммиты .
- Исправлена проблема, из-за которой содержимое
BottomSheet
отсутствует или обрезается на Android N и O ( a10a2d ). - Увеличены семантические границы слайдера, чтобы
TalkBack
правильно отображал индикаторы фокуса вокруг больших пальцев. ( 0b5a1d )
Версия 1.3.0-beta04
26 июня 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-beta04
. Версия 1.3.0-beta04 содержит эти коммиты .
Версия 1.3.0-beta03
12 июня 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-beta03
. Версия 1.3.0-beta03 содержит эти коммиты .
Внешний вклад
- Сделайте
androidx.compose.material3.DropdownMenu
доступным из общего набора исходных кодов. ( Если62c0 )
Версия 1.3.0-бета02
29 мая 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-beta02
. Версия 1.3.0-beta02 содержит эти коммиты .
Изменения API
-
Modifier.pullToRefreshIndicator
поддерживает повышение прав, обновление API-интерфейсов Pull To Refresh, чтобы включить логическое значение, а не лямбда-выражение. Поддержка выравнивания содержимого вPullToRefreshBox
( I75679 ) - Создание
TooltipScope
запечатанного интерфейса и создание внутренней реализации для использования вTooltipBox
и Label. ( I3833e ) - В
CarouselItemScope
добавлены два новых модификатора —maskClip
иmaskBorder
— для легкого добавления формы и границы к любому элементу карусели ( Id67a1 ). -
TimePickerState
теперь является интерфейсом и позволяет устанавливать время ( I88546 ). - Обновлен API для стилизации ссылок:
TextLinkStyles
перемещены вTextStyle
и удаленыTextDefaults
из материала. ( I5477b )
Исправления ошибок
- Значки статуса
ModalBottomSheet
и панели навигации теперь реагируют на статус темной темы. ( Ie1fe7 , б/338342149 ) - Добавлена семантика закрытия листа в скрим
ModalBottomSheet
. ( 0e61cb , б/328801864 )
Внешний вклад
- Сделать
androidx.compose.material3.AlertDialog
доступным из общего исходного набора ( Ia33f5 ). - Сделать
ModalBottomSheet
доступным из общего набора исходных кодов ( Id7cc7 ).
Версия 1.3.0-бета01
14 мая 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-beta01
. Версия 1.3.0-beta01 содержит эти коммиты .
Изменения API
- Использование
DpSize
вместоCaretProperties
. УдалениеCaretProperties
. ПереименуйтеCaretScope
вTooltipScope
. ( Id9a76 ) - Обновлен API для получения тематических ссылок Material в тексте. В частности, из
TextDefaults
удалены методы для создания тематическихLinkAnnotations
и анализа HTML с тематическими ссылками. Вместо этого добавлен классTextLinkStyles
, который позволяет стилизовать ссылки в качестве параметра составного текста. ( I31b93 )
Версия 1.3.0-альфа06
1 мая 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha06
. Версия 1.3.0-alpha06 содержит эти коммиты .
Критические изменения
Новые API обновления по запросу:
- Упрощен
PullToRefreshState
для использования дробных значений вместо единиц Dp. - Состояние
isRefreshing
контролируется пользователем вместоPullToRefreshState
. - Отделено вложенное соединение прокрутки от
PullToRefreshState
. Он обрабатывается новымPullToRefreshBox
илиModifier.pullToRefresh
. - Это обновление представляет собой радикальное изменение предыдущих экспериментальных API. ( I0adeb , b/314496282 , b/317177684 , b/323787138 , b/324573502 , b/317177683 )
- Упрощен
Изменения API
-
RippleConfiguration#isEnabled
был удален, аLocalRippleConfiguration
стал нулевым. Чтобы отключить пульсацию, вместо предоставленияRippleConfiguration
сisEnabled = false
укажите значениеnull
дляLocalRippleConfiguration
. ( I22725 ) -
ModalBottomSheet
более точно рисует сетку поверх строки состояния, когда включен параметр «От края до края». Содержимое модального нижнего листа теперь может использовать вставки окон, что позволяет отображать содержимое над панелью навигации. ПараметрModalBottomSheet
windowInsets
переименован вcontentWindowInsets
, чтобы указать, где будут применяться вставки. Они больше не привязаны к логике окна. ТипcontentWindowInsets
был изменен на функцию, которая возвращаетWindowInsets
, чтобы разрешить его в новом окне. ( I39630 , б / 274872542 , б / 300280229 , б / 290893168 ) -
PrimaryScrollableTabRow
иSecondaryScrollableTabRow
теперь используют собственный макет вместо подкомпозиции, что должно повысить производительность. ( I991e0 ) - Текстовые ссылки получили возможность стилизации нажатого состояния в дополнение к обычному стилю, наведению курсора и фокусу. Каждый из методов
TextDefaults
имеет аргументpressedStyle
для поддержки этого. ( Ic473f , б/139312671 )
Исправления ошибок
- Якоря перетаскивания панели навигации теперь соответствуют ширине
drawerContent
. ( Ibc72f , б/245355396 ) - Отступы
OutlinedTextField
для метки теперь учитывают размер системного шрифта. ( Idc781 ) - Исправлено расположение пакета
CalendarLocale
. ( Ифа235 ) - [Прогнозирующий обратный эффект] Обновление прогнозирующей обратной анимации для использования кривой интерполяции (0,1, 0,1, 0, 1) ( I2591a )
Версия 1.3.0-альфа05
17 апреля 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha05
. Версия 1.3.0-alpha05 содержит эти коммиты .
Новые возможности
-
SearchBar
иDockedSearchBar
имеют новые перегрузки, которые принимают параметр текстового поля. Это позволяет стилизовать текстовое поле отдельно от остальной части панели поиска, а также передавать настраиваемые текстовые поля. Текстовое поле текущей реализации стало доступным какSearchBarDefaults.InputField
. ( I50c73 , б/275074248 , б/278773336 , б/326627700 ) - лямбда
drawTick
была добавлена в общедоступный API, чтобы при необходимости настроить тики ( I0c048 ).
Изменения API
- Текстовые ссылки получили опцию стиля нажатого состояния в дополнение к обычному стилю, наведению курсора и фокусу ( I5f864 , b/139312671 ).
- Обновлен
CarouselItemInfo
для отображения маски Rect, по которой обрезается элемент ( I785d8 ). - Удален
BasicTooltipState
из общедоступного API Материала 3. Его функциональность сочетается сTooltipState
до тех пор, покаBasicTooltip
Foundation не стабилизируется. ( Icda29 ) - Добавлен объект
TextDefaults
, содержащий методы для созданияLinkAnnotation
и анализа строки с HTML-тегом, которая применяетMaterialTheme
к ссылкам ( I98532 , b/139312671 ). -
ExposedDropdownMenuBoxScope
больше не допускает подклассы. Открытые раскрывающиеся меню теперь имеютMenuAnchorType
, который следует передать вmenuAnchor
для лучшей поддержки a11y. Это следует использовать вместо передачиfocusable
вExposedDropdownMenu
, который сейчас устарел.menuAnchor
имеет новый параметр для управленияenabled
состоянием. ( I55ee6 , б / 257209915 , б / 308840226 ) - Исправлен цвет границы
OutlinedButton
при отключении. Добавлена перегрузкаButtonDefaults.outlinedButtonBorder("enabled")
которая принимает включенное состояние. ( Ie650b , б/318461363 ) - Добавлен новый класс
CarouselItemInfo
, который помогает клиентам получать информацию о размерах предметов. ( I9070c ) - Конструктор
ColorScheme
без поверхностных контейнеров больше не поддерживается. Перейдите на конструктор, включающий наземные контейнеры. ( I35c11 ) - [Обведено]
TextFieldDefaults
ContainerBox
переименован вContainer
. ( Ie8d3b )
Исправления ошибок
-
BottomSheetScaffold
больше не будет выполнять прокрутку из вложенной прокрутки, еслиsheetSwipeEnabled
равно false. ( I5e1c1 , б/306464779 ) - Удалены некоторые аннотации
ExperimentalMaterial3Api
OptIn вIconButtonSamples.kt
. ( I111d1 )
Версия 1.3.0-альфа04
3 апреля 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha04
. Версия 1.3.0-alpha04 содержит эти коммиты .
Новые возможности
- Добавлены две экспериментальные версии карусели Material3 —
HorizontalMultiBrowseCarousel
иHorizontalUncontainedCarousel
( I88d64 ). - Обновлен Compose M3 Nav Drawer (
ModalDrawerSheet
иDismissibleDrawerSheet
) для поддержки Predictive Back on U+ в качестве опции ( Ie5b0b ). - Добавлен новый API в Icon, позволяющий передавать цветовой оттенок как лямбда-выражение во избежание перекомпоновки. ( I5b5a2 )
- API-интерфейсы верхней панели приложений теперь поддерживают настраиваемую высоту как для фиксированных, так и для сворачиваемых разделов. ( Ib8b0c , b/323403446 )
Изменения API
- API-интерфейсы верхней панели приложений теперь поддерживают настраиваемую высоту как для фиксированных, так и для сворачиваемых разделов. Исправлена проблема, из-за которой однострочные верхние панели приложений перестраивались слишком много раз при прокрутке контента. Решена проблема, из-за которой
MediumTopAppBar
обрезал заголовки на устройствах с большими настройками шрифта/отображения. ( Ib8b0c , b/323403446 , b/300953236 , b/286296147 , b/330410290 , b/308540676 ) -
SegmentedButton
и связанные API теперь стабильны ( I8a158 ). -
SwipeToDismissBox
,SwipeToDismissBoxDefaults
,SwipeToDismissBoxState
иSwipeToDismissBoxValue
теперь помечены как стабильные. ( I5f000 ) - Удалены устаревшие
DismissDirection
и API DismissDirection иDismissValue
. ( I89ccd ) - В сопутствующий объект
CarouselState
объекта Carousel добавлен экспериментальный тег. ( I94154 ) -
LocalMinimumInteractiveComponentEnforcement
устарел и вместо него введенLocalMinimumInteractiveComponentSize
. ( I7a7ac ) - Конструктор
SearchBarColors
теперь общедоступен. ( I769ca ) - В
SwipeToDismissBox
добавленgesturesEnabled
. ( Idc59f , б/324170119 ) - Удалены API текстовых полей, помеченные как устаревшие и экспериментальные. ( I1305f )
Версия 1.3.0-альфа03
20 марта 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha03
. Версия 1.3.0-alpha03 содержит эти коммиты .
Визуальные кардинальные изменения
- Обновите наложение состояния фокуса на значение 0,1f, чтобы обеспечить достаточный цветовой контраст. ( I7ea77 )
- Небольшие изменения в цветах поверхности и фона по умолчанию в
lightColorScheme
иdarkColorScheme
. ( I9db52 )
Новые возможности
- Добавлены параметры для настройки
ExposedDropdownMenu
. В частности, в меню теперь естьfocusable
параметр (по умолчаниюtrue
), для которого при работе с редактируемыми текстовыми полями должно быть установлено значениеfalse
. ( I4184c , б / 323694447 , б / 278609042 )
Изменения API
- Флаг
ScaffoldSubcomposeInMeasureFix
был удален. ( Ie2a4b ) -
NavigationRailItemColors
теперь помечен как@Immutable
. ( Если6112 , б/327660613 ) -
NavigationBarItemColors
теперь помечен как@Immutable
. ( I42a30 , б/298064514 ) - Измените порядок параметров в компонуемом слайдере. ( I9f315 )
-
ExposedDropdownMenu
теперь реализован с помощьюPopup
. Поведение должно быть таким же, за исключением того, что фокусируемые меню с редактируемыми текстовыми полями могут закрываться при вводе текста на клавиатуре.
Исправления ошибок
- Роли базовой линии поверхности и контейнера поверхности были немного скорректированы, что обеспечивает больше оттенков в светлых и темных темах. ( I677a5 )
- Обновлены цвета слайдера и
ProgressIndicator
в соответствии с новыми спецификациями нетекстовой контрастности. ( I26807 ) - Обновите наложение состояния фокуса на значение 0,1f, чтобы обеспечить достаточный цветовой контраст. ( I7ea77 )
- Небольшие изменения в цветах поверхности и фона по умолчанию в
lightColorScheme
иdarkColorScheme
. ( I9db52 )
Версия 1.3.0-альфа02
6 марта 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha02
. Версия 1.3.0-alpha02 содержит эти коммиты .
Изменения API
- Снова сделать состояние слайдера стабильным. Создание
State.onValueChangeFinished
завершил val. ОбертываниеonValueChangeFinished
вrememberUpdatedState
. ( I82ab2 , б/322269951 ) - Компоненты навигации теперь используют новые роли
SurfaceContainer
.DrawerDefaults
теперь предоставляет отдельные атрибутыstandardContainerColor
иmodalContainerColor
.DrawerDefaults.ModalDrawerElevation
теперь имеет0.dp
( I7fbac ) - Удаление
@Stable
из состоянийSlider
, поскольку мы меняемstate.onValueChangeFinished
наvar
. ( Ied34a , b/322269951 ) - Спецификация анимации
ModalBottomSheet
иStandardBottomSheet
теперь являетсяTweenSpec
, обновленной на основе анимации Spring. Это решает проблему с видимым перерегулированием. Устаревшие конструкторыSheetState
без плотности теперь удалены. ( I7babc , б/285847707 )
Исправления ошибок
- Варианты
SurfaceContainer
теперь используются компонентами. Компоненты, которые формально рассчитывали цвет с помощью Surface иTonalElevation
теперь по умолчанию используют ролиSurfaceContainer
, на которые не влияет повышение тона. ( б/304584161 ) - Исправлена ошибка, из-за которой невыбранный отключенный цвет контейнера
ElevatedFilterChip
был черным. ( I400e6 , б/322407043 ) - Исправлен неопределенный индикатор прогресса, когда прогресс равен 0 ( Id6582 ).
- Исправлена проблема с
Slider
иRangeSlider
в макете RTL ( Iab0e1 ). - Добавление
SliderRangeTolerance
для расчета диапазона ползунка, поскольку округление с плавающей запятой может быть неточным. ( Ic918a , б/324934900 ) - Убедитесь, что
DatePickerDialog
отображает свои кнопки при вложенииDateRangePicker
или при отображении любого типа средства выбора даты на маленьких экранах с более крупными шрифтами. ( Ie4758 , б/325107799 , б/277768544 ) -
Menu
теперь использует рольSurfaceContainer
для цвета контейнера.MenuDefaults.TonalElevation
теперь имеет значение0.dp
( I135b7 ) -
TextField
теперь использует рольSurfaceContainerHighest
для цвета контейнера. ( I4dced ) - Чипы с повышенными правами теперь используют роль
SurfaceContainerLow
( I7cd2f ). - Цвет контейнера
DatePicker
теперьSurfaceContainerHigh
.DatePickerDefaults.TonalElevation
теперь имеет значение0.dp
( Ида753 ) - Обновляет цвет контейнера нижних листов и цвет маркера перетаскивания. ( I72a0a )
- Цвет контейнера
RichTooltip
теперьSurfaceContainer
. ( Ia8b45 ) - Цвет контейнера
SearchBar
теперьSurfaceContainerHighest
.SearchBarDefaults.TonalElevation
теперь имеет0.dp
( I88604 ) - Обновления отключают и не выбирают дорожки/значки, чтобы использовать цветовую роль
SurfaceContainerHighest
. ( I7687a ) - Цвет контейнера
AlertDialog
теперьSurfaceContainerHigh
. ( Ie0433 ) - Цвет контейнера
BottomAppBar
теперьSurfaceContainer
. ЦветTopAppBar
onScroll
теперьSurfaceContainer
. ( I41630 ) - Цвет контейнера
ElevatedCard
теперьSurfaceContainerLow
. Цвет контейнераFilledCard
SurfaceContainerHighest
. ( I35141 ) - Цвет контейнера
ElevatedButton
теперьSurfaceContainerLow
. КогдаFilledIconButton
не выбран, теперь он имеет цвет контейнераSurfaceContainerHighest
. ( I792c9 ) - Обновляет цвет контейнера
TimePicker
и роль цвета циферблата часов наSurfaceContainerHighest
. ( I43b93 )
Версия 1.3.0-альфа01
21 февраля 2024 г.
Выпущен androidx.compose.material3:material3-*:1.3.0-alpha01
. Версия 1.3.0-alpha01 содержит эти коммиты.
Новые возможности
- Обновите Compose M3
ModalBottomSheet
для поддержки функции Predictive Back on U+ ( Iccf32 , b/281967264 , b/304850357 ) - Обновлена
SearchBar
Compose M3 для поддержки функции Predictive Back on U+ ( I657f8 ). - Обновлен слайдер для улучшения доступности за счет добавления индикатора пробела и остановки. ( I3058e )
- Обновлен
ProgressIndicator
для улучшения доступности за счет добавления индикатора разрыва и остановки. ( I21451 ) - Добавление курсора по умолчанию для расширенной всплывающей подсказки, новый API расширенной всплывающей подсказки теперь позволяет рисовать пользовательскую курсорную метку с учетом привязки
LayoutCoordinates
. ( Ifd42c )
Изменения поведения
- Компоненты материалов были перенесены для использования новых API-интерфейсов Ripple и больше не запрашивают
RippleTheme
.
Изменения API
- Забавный
drawStopIndicator
теперь общедоступен. ( I3f59f ) - Отметьте функцию
formatWithSkeleton
DatePicker
как внутреннюю ( Ic65dc ). -
DropdownMenu
теперь поддерживает настраиваемый цвет, форму, высоту и границу. ( I8e981 , б/289554448 , б/301887035 , б/283654243 ) - Компоненты Material3, предоставляющие
MutableInteractionSource
в своем API, были обновлены и теперь предоставляютMutableInteractionSource
с нулевым значением, который по умолчанию имеет значениеnull
. Здесь нет никаких семантических изменений: передача null означает, что вы не хотите подниматьMutableInteractionSource
, и при необходимости он будет создан внутри компонента. Изменение значения null позволяет некоторым компонентам никогда не выделятьMutableInteractionSource
, а другим компонентам — только лениво создавать экземпляр, когда это необходимо, что повышает производительность этих компонентов. Если вы не используетеMutableInteractionSource
который передаете этим компонентам, рекомендуется вместо этого передать значение null. Также рекомендуется внести аналогичные изменения в ваши собственные компоненты. ( I41abb , б / 298048146 ) - Добавляет
RippleConfiguration
иLocalRippleConfiguration
позволяющие настраивать пульсацию для каждого компонента или поддерева с использованием фиксированных значений. Например, чтобы изменить цвет компонента, которым вы не управляете, или отключить пульсацию для компонента. В большинстве случаев следует использовать значения по умолчанию: эти API являются запасным выходом для настройки отдельных компонентов/ограниченных поддеревьев. Для более широких изменений и пользовательских систем проектирования вам следует вместо этого создать свою собственную Ripple, используяcreateRippleModifierNode
. ( I7b5d6 , б/298048146 ) - Добавляет новый API-интерфейс Ripple в материале3, который заменяет устаревший
rememberRipple
. Также добавляется временныйCompositionLocal
,LocalUseFallbackRippleImplementation
, чтобы вернуть компоненты Material3 к использованию устаревших APIrememberRipple
/RippleTheme
. Это будет удалено в следующем стабильном выпуске и предназначено только для временного облегчения миграции в тех случаях, когда вы предоставляете собственныйRippleTheme
. ( I34cbc , б/298048146 )
Исправления ошибок
- Удалена подкомпозиция внутри
ModalBottomSheet
для повышения производительности. Исправлена проблема, из-за которойModalBottomSheet
мог аварийно завершить работу в определенных сценариях в сочетании сLookaheadScope
. ( I2a198 ) - Удалена подкомпозиция внутри
BottomSheetScaffold
для повышения производительности. Исправлена проблема, из-за которойBottomSheetScaffold
аварийно завершал работу в определенных сценариях в сочетании сLookaheadScope
. ( Ie6401 ) - Выравнивание значка настраивается так, чтобы быть ближе к центру содержимого привязки относительно правого верхнего угла. ( я18а28 )
- Устранена проблема с
DateRangePicker
, из-за которой текстовый заголовок «Месяц-Год» передавался как доступный для действий пользователям средств чтения с экрана, переключения доступа и голосового доступа. ( I2ac55 ) - Исправлена ошибка порядка параметров
mediumTopAppBarColors
. ( Ibe64a )
Версия 1.2
Версия 1.2.1
6 марта 2024 г.
Выпущен androidx.compose.material3:material3-*:1.2.1
. Версия 1.2.1 содержит эти коммиты .
Исправления ошибок
- Снова сделайте состояния слайдера стабильными. Создание
State.onValueChangeFinished
завершил val. ОбертываниеonValueChangeFinished
вrememberUpdatedState
. ( Ie8fd0 , б/322269951 ) - Удаление
@Stable
из состоянийSlider
, поскольку мы меняемstate.onValueChangeFinished
наvar
. ( I82ba1 , б/322269951 ) - Исправлены пользовательские цвета
NavigationBar
для копирования из значений по умолчанию. ( 80а779 , б/326894020 ) - Исправьте регрессию в
ExposedDropdownMenu
чтобы снова сделать его доступным для фокусировки ( 3fcec1 , b/323694447 ). - Исправить проблему с кэшированием цвета кнопки ( 3e5bbc b/327371655 )
Версия 1.2.0
7 февраля 2024 г.
Выпущен androidx.compose.material3:material3-*:1.2.0
. Версия 1.2.0 содержит эти коммиты.
Известная проблема
- Ошибка рендеринга взаимодействия View-Compose была введена в
PrimaryTabRow
как часть изменения, направленного на повышение производительности. Обходной путь — использоватьTabRow
сTabRowDefaults.PrimaryIndicator
Важные изменения с версии 1.1.0
Новый дизайн материалов: 3 компонента
- Потяните, чтобы обновить
- Сегментированная кнопка
Улучшения существующих компонентов Material Design 3.
- Нижняя панель приложения (выравнивание по RTL, автоматическое скрытие при прокрутке)
- Визуальное обновление вкладок
- Значок (обновление мировоззрения)
Экспериментальные API переведены в стабильную версию!
Улучшения производительности
- Пожалуйста, смотрите этот пост в блоге для более подробной информации!
Версия 1.2.0-rc01
24 января 2024 г.
Выпущен androidx.compose.material3:material3-*:1.2.0-rc01
. Версия 1.2.0-rc01 содержит эти коммиты.
Исправления ошибок
- Исправлена ошибка порядка параметров
mediumTopAppBarColors
. ( Ibe64a ) - Исправлена ошибка, представленная в
1.2.0-beta02
вCardDefaults.cardColors
, которая не обновлялаcontentColor
на основе значения параметраcontainerColor
. ( IEE041 , B/319671246 ) - Исправлена ошибка в
disabledContentColor
представленную в1.2.0-beta02
и добавлена небольшая оптимизация. ( I6dda1 , b/318428829 )
Версия 1.2.0-бета02
10 января 2024 г.
androidx.compose.material3:material3-*:1.2.0-beta02
выпускается. Версия 1.2.0-бета02 содержит эти коммиты.
Известная ошибка
- Ошибка в
IconButtonColors
по умолчанию назначитdisabledContentColor
в альфа (0,38F)LocalContentColor
вместо указанного пользователяcontentColor
. Обходной путь состоит в том, чтобы явно установитьdisabledContentColor
. Это будет исправлено в следующем выпуске.
API меняется
- Добавление возможностей для включения подсказки для подсказок для простых API
Tooltip
. ( IBF767 ) -
SwipeToDismissState
,rememberSwipeToDismiss
иSwipeToDismissValue
все переименованы в то, чтобы иметь_SwipeToDismissBox_
. ( I68d6d )
Исправления ошибок
- Фиксированное значение окончательного значения
ListItem
для соответствия спецификации. ( IBD68B , B/305342674 ) - Цвет сброса для изложенной карты теперь правильно отображается с
OutlineVariant
. ( I75480 , b/310979715 ) - Динамический цвет теперь вытягивает из системы, определенных цветовыми ролями. Это улучшает контраст для доступного контента и более тесно выравнивает динамический цвет с спецификацией материала. ( I1de96 )
- Исправлена
ModalBottomSheet
Back обработка на Android T/13+, когдаandroid:enableOnBackInvokedCallback="true"
. ( I728dc , b/306196110 )
Версия 1.2.0-бета01
13 декабря 2023 г.
androidx.compose.material3:material3-*:1.2.0-beta01
выпускается. Версия 1.2.0-бета01 содержит эти коммиты.
API меняется
- Mark
TabIndicatorScope
как экспериментальный. ( I45c88 ) - Удаление устаревших экспериментальных API для подъема инструментов. ( I438cb )
- Измените новые перегрузки
TabRow
чтобы не использовать подкомпозиции. Это приводит к другому способу создания индикаторовTabRow
с предоставленными пользовательскими модификаторами. ( IFE741 ) - Установите
DismissDirection
иDismissValue
API. Они были объединены сSwipeToDismissValue
, чьи значения указывают как положение, так и направлениеSwipeToDismissBox
.DismissState.progress
теперь отмечается какFloatRange
от0.0
до1.0
.DismissState
устарела и конструктор теперь удалены. КомпонентSwipeToDismiss
, государство и дефолт объект были отмечены как экспериментальные. ( IB54F2 )
Исправления ошибок
- Индикатор по умолчанию для
PullToRefresh
теперь является открытой стрелкой вместо твердого треугольника. ( I67be3 )
Версия 1.2.0-Альфа12
29 ноября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha12
выпускается. Версия 1.2.0-Alpha12 содержит эти коммиты.
API меняется
-
RangeSlider
теперь принимает диапазон Kotlin (например,0f..1f
) вместо пользовательского класса значенийFloatRange
.SnapFlingBehavior.kt
теперь также использует диапазон Kotlin. ( I025CB ) - Марк модификатор Factory функционирует как
@Stable
. ( IB109F )
Версия 1.2.0-Альфа11
15 ноября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha11
выпускается. Версия 1.2.0-альфа11 содержит эти коммиты.
Новые функции
- Реализует
PullToRefreshContainer
иPullToRefreshState
, которые вместе обеспечивают притяжение, чтобы обновить реализацию в Material3. ( I16456 , B/261760718 )
API меняется
- Отметьте
SwipeToDismissBox
DismissDirection
иDismissValue
как экспериментальное. ( I517b0 ) - Переименовать
SwipeToDismiss
вSwipeToDismissBox
. Переименоватьbackground
доbackgroundContent
иdismissContent
в следующийcontent
Lambda. ( I7f4d3 ) - Сделайте конструктор для
ChipElevation
иSelectableChipElevation
Public. ( IE0C48 , B/308432421 ) - Добавление
ModalBottomSheetProperties
. ПеремещениеsecurePolicy
вModalBottomSheetProperties
. ДобавлениеisFocusable
иshouldDismissOnBackPress
вModalBottomSheetProperties
. Эти новые логины помогают определить, как модальный нижний лист должен обрабатывать события IME. ( IEA56F , B/278216859 ) - Обновленные состояния
RangeSlider
иSlider
для удаленияinitialOnValueChange
, начальных префиксов и соответствующих KDOC. ( I57d30 ) - Умолете класс
ChipBorder
и связанные с ним функциональные вызовы, вместо этого рекомендуйте использоватьBorderStroke
. ( I89cc2 ) - Фонд подсказки инструментов теперь
@ExperimentalFoundationApi
. ( I30b0b ) -
TabRow
иScrollableTabRow
больше не устаревают. Новые первичные и вторичные варианты отмечены как экспериментальные. ( I0def6 ) - Фильтр и входные чипы теперь используют
BorderStroke
напрямую. ( I07a8d ) -
SegmentedButton
теперь используетBorderStroke
напрямую. ( I89b9b ) - Переименован в общей функции
AlertDialog
вBasicAlertDialog
и выпустите предыдущую функцию. ( Idbe52 ) - Переименовать APIS
SwipeToDismiss
вSwipeDismiss
и содействовать новым APISSwipeDismiss
до стабильного. ( I14cbe ) - Добавление
tonalElevation
иshadowElevation
к API -интерфейсам для выявления инструментов. Кроме того, перемещение API -интерфейсовTooltipBox
,PlainTooltip
иRichTooltip
обратно в экспериментальные, так как они были случайно выпущены как стабильные. ( If0f66 , b/293939035 ) - Содействовать экспериментальным API -интерфейсам к стабильному. ( IEA2C3 )
- Удалил аннотацию
@ExperimentalMaterial3Api
из Material3 Clickable Cards. ( I88dbf )
Исправления ошибок
- Исправлена проблема, в которой
SwipeToDismiss
потерпел крушение в определенных сценариях с вложенными лайкейками и ленивыми макетами. ( ICA8D1 , B/297226562 )
Версия 1.2.0-Альфа10
18 октября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha10
. Версия 1.2.0-Alpha10 содержит эти коммиты.
API меняется
- Продвигание
Badge
иBadgedBox
до стабильной. ( I67F16 , B/261565132 ) - Добавление
securePolicy
в качестве параметра вModalBottomSheet
, поэтому пользователи могут определить поведение дляWindowManager.LayoutParams.FLAG_SECURE
. ( ICDAC8 , B/296250262 ) - Добавлены новые перегрузки
LinearProgressIndicator
иCircularProgressIndicator
которые занимаютсяprogress
как лямбда. Они должны быть более эффективными, чем предыдущие версии. ( I824E6 , B/295616656 ) - Переименование
StandardSizeClasses
вAllSizeClasses
. ( I8cb07 ) - Объедините функции расчета классов размера окна. ( IAD935 )
Исправления ошибок
- Исправьте сбой
DatePicker
, когда быстро нажимает на кнопки стрелка навигации, когда отображаемый месяц находится на краю допустимого диапазона лет. ( I46f36 , b/290954897 , b/297002119 ) - [NAV RAIL/BAR] Поддержка прозрачного цвета для индикатора. ( IE0A9B , B/267289987 )
Версия 1.2.0-Alpha09
4 октября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha09
выпускается. Версия 1.2.0-Alpha09 содержит эти коммиты.
API меняется
- Мигрировал
ModalNavigationDrawer
иDismissibleNavigationDrawer
для использования новыхAnchoredDraggable
API. Animateto'sanimateTo
DrawerState
была заменена на открытые и близкие методы, а смещение теперь выставлено как плавание вместо объекта состояния. Вы можете получить доступ к смещению непосредственно черезcurrentOffset
. ( I0a72c ) - Неособочные функции были добавлены для создания
DatePickerState
иDateRangePickerState
напрямую. Эти функции могут использоваться в качестве альтернативы композиционным функциямrememberDatePickerState
иrememberDateRangePickerState
, когда это необходимо. ( I70326 , b/291524052 ) - Исправленные и прокручиваемые
TabRows
теперь имеют первичные и вторичные варианты. Они правильно сопоставляются с поведением цвета и индикатора, как определено в материале3. -
PrimaryScrollableTabRow
иSecondaryScrollableTabRow
теперь обнажают состояние прокрутки. ( IEC8F5 , B/260572337 ) - Добавление нового параметра
sheetMaxWidth
, который разработчики могут установить, чтобы указать максимальную ширину, которую будет охватывать лист. DP.UNPACIFIFITED может быть передан для параметра, если желателен лист, который охватывает всю ширину экрана. ( IFB7C9 , B/266697696 ) - Добавление API -интерфейсов
PlainTooltipBox
иRichTooltipBox
в качестве устаревших методов. ( I246fa )
Исправления ошибок
- Исправьте сбой, когда инициализируется
DatePicker
с помощьюDatePickerFormatter
, у которого есть определенные скелеты даты, которые остаются прежними при преобразовании на сегодняшний день (например, YY). ( I01F29 )
Версия 1.2.0-Alpha08
20 сентября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha08
выпускается. Версия 1.2.0-Alpha08 содержит эти коммиты.
Поведение нарушение изменения
-
ColorScheme
в настоящее время неизменен, что делает индивидуальные обновления цвета менее эффективными, но делает более распространенное использование цветов более эффективными. Причина этого изменения заключается в том, что большинство приложений не будут обновлять отдельные цвета в качестве основного варианта использования. Это все еще возможно, но оно будет перекомплектовать больше, чем раньше, в свою очередь, мы значительно уменьшаем количество подписок состояния по всему коду материала и повлияем на инициализацию и стоимость времени выполнения более стандартных вариантов использования. ( IC447D , B/297212873 ) - Тональная высота больше не анимирует в разных состояниях взаимодействия в соответствии с спецификацией. ( ICDD12 )
API меняется
- Добавлен новый
BottomAppBar
, который принимает в качестве параметраBottomAppBarScrollBehavior
, чтобы автоматически скрыть его при прокрутке контента. Также добавленFabPosition.EndOverlay
позволяя FAB накладываться на нижнюю панель приложений в каркасе вместо того, чтобы быть закрепленным над ним. ( IECB47 ) - Добавлен простой компонент метки, который строится на вершине
BasicTooltipBox
, который не будет отклоняться при постукивании за пределы границ метки. ( I821f9 )
Исправления ошибок
- Удалили использование
rememberSaveable
для всплесков инструментов. ( ICC131 , B/299500338 ) - Ввел временный флаг, чтобы контролировать, следует ли измерять каркасы во время измерения или во время размещения. По умолчанию это будет измерять в измерении. Если вы сталкиваетесь с проблемами с новым поведением, пожалуйста, подайте проблему. ( I0b354 )
- Фиксированный горизонтальный край до края в
BottomSheet
используя правильное измерение для ширины экрана устройства. ( I1df0c , b/299058752 ) - Исправлена ошибка, в которой
ModalBottomSheet
не призывалonDismissedRequest
при увольнении, сбиваясь на лист. ( IDFDD8 )
Версия 1.2.0-Alpha07
6 сентября 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha07
выпускается. Версия 1.2.0-Alpha07 содержит эти коммиты.
Новые функции
- Поддержка иконки Auto-Mirror была добавлена в
compose material 1.6.0-alpha05
, пожалуйста, см. Примечания по выпуску для получения подробной информации о значках автоматического зеркала.
API меняется
-
SliderState
реализуетDraggableState
( i9b116 ) - Изменить форму, чтобы быть обязательным парамом. Переименовать
position
, чтобыindex
функцию вспомогательной. ( I34941 ) - Обновляет формат
DatePicker
formatWithSkeleton
, чтобы включить карту, которая используется в качестве кэша для улучшения производительности. ( I3195f ) - Добавлен
BasicTooltipBox
дляcompose.foundation
и обновленногоPlainTooltipBox
иRichTooltipBox
для использованияTooltipBox
с новыми композициямиPlainTooltip
иRichTooltip
. ( I79e1d )
Исправления ошибок
-
dynamicLightColorScheme
иdynamicDarkColorScheme
теперь возвращают более высокие цвета хромы для ролей поверхности иsurfaceContainer
. ( I5e901 ) - Исправлена проблема, в которой некоторые компоненты с использованием подкомпозиции (например,
BottomSheetScaffold
) внутри каркаса внутриLookaheadScope
пытались прочитать их размер слишком рано. ( I297b4 , i871f1 , b/295536718 )
Версия 1.2.0-Alpha06
23 августа 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha06
выпускается. Версия 1.2.0-Alpha06 содержит эти коммиты.
Исправления ошибок
- Фиксированное
offset
расчетDropdownMenu
поэтому x смещения зависят исключительно от локального направления макета, и y -смещения больше не будут изменены, когда меню находится рядом с нижней частью экрана. ( ICCC74 , B/294103942 ) - Фиксированное
offset
расчетDropdownMenu
поэтому x смещения зависят исключительно от локального направления макета, и y -смещения больше не будут изменены, когда меню находится рядом с нижней частью экрана. ( IB87A2 , B/294103942 )
Версия 1.2.0-Alpha05
9 августа 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha05
выпускается. Версия 1.2.0-Alpha05 содержит эти коммиты.
API меняется
- Обновления в флажок и цветах
TriStateCheckbox
.CheckboxDefaults.colors()
disabledUncheckedColor
теперь только влияет на границу флажона. Специальные случаи, которые требуют от вас установить цвет внутреннего коробки при отключении и неконтролировании, требуется созданный настраиваемый экземплярCheckboxColors
с желаемыми значениями цвета. ( I77d17 , b/291943198 )
Версия 1.2.0-Alpha04
26 июля 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha04
выпускается. Версия 1.2.0-Alpha04 содержит эти коммиты.
Новые функции
- Экспериментальная сегментированная кнопка API ( IFC8FB )
- Разделители теперь имеют параметр для управления ориентацией для поддержки вертикальных разделителей. ( I4c899 , b/288438593 )
API меняется
- Мы перемещаем зависимость плотности на уровень компонентов. Это относится к следующим компонентам:
SwipeToDismiss
и листовые компоненты. Пожалуйста, используйте новую перегрузку, предоставленную там, где плотность является параметром. ( I1846E ) - Дополнительные аннотации для указания разрешенных входов в композиции ( IEF234 )
- Добавьте параметр значка в сегментированную кнопку, разделенную семантику, чтобы сегментированные кнопки можно было выбрать для реализации однопользования и под необходимыми для реализации многопользователя, с
SelectableSegmentedButtonRow
иToggelableSegmentedButtonRow
соответственно. ( I38740 ) - Разделитель был переименован в
HorizontalDivider
. Добавлена функциональностьVerticalDivider
. ( I5975c ) - Измените использование
ClosedFloatingPointRange
для более легкогоFloatRange
веса в экспериментальном материале3 API, чтобы минимизировать автобоксинг. ( I4aab5 ) - Добавлен новый стартовый выравнивание для
FabPosition
( IB7AEA , B/170592777 )
Исправления ошибок
-
ModalBottomSheet
уважает направление локальной планировки. ( IB4F44 , B/285628622 )
Версия 1.2.0-Alpha03
21 июня 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha03
выпускается. Версия 1.2.0-Alpha03 содержит эти коммиты.
Поведение изменяется
-
includeFontPadding
теперь являетсяfalse
по умолчанию в типографии Материала 3. СтильTypography
lineHeight
по умолчанию также был изменен наTrim.None
иAlignment.Center
TextStyle
Проконсультируйтесь с документами API, если вы хотите настроить эти значения, и посмотрите пост в блоге для углубленного объяснения этих изменений. ( I6266f , icabc3 )
Новые функции
- Добавлена перегрузка для
RangeSlider
, которая является современной версией компонента. СозданныйRangeSliderState
, который содержит всю информацию для текущей активной дорожки, измерения компонентовRangeSlider
и логики перетаскивания и жеста. ( I8c270 ) - Поисковой панель теперь поддерживает тени через недавно добавленный параметр
shadowElevation
. ( IA5369 , B/271040353 ) -
ColorScheme
теперь поддерживает новые ролиSurfaceContainer
. - Поверхностное тональное наложение теперь может быть отключено с помощью локальной композиции
LocalTonalElevationEnabled
. ( IC203C , B/277774590 )
API меняется
- Откройте конструкторы цветов компонентов. ( I8c4a6 )
- Добавление фокусируемого параметра в обоих API -интерфейсов инструментов, чтобы разработчики могли иметь подсказку, потребляя сенсорные события или нет. Будьте осторожны, что это может сломать автоматическое обход. ( IE32D8 )
- Оптимизированная доступность для производительности и распределения памяти. ( Iede48 )
- Разоблачить
DefaultSizeClasses
и создаватьStandardSizeClasses
дляWindowSizeClasses
( i91838 ) - Изменить
WindowWidth/HeightSizeClass
на классы значений с плаванием ( IE686E )
Исправления ошибок
- Параметр
contentWindowInsets
от ContentWindowinsets теперь уважает потребляемые оконные вставки. Обратите внимание, что поведение контента на основеtopBar
иbottomBar
остается неизменным, когда эти параметры предоставляются. ( I08B73 , B/264601542 ) - Установите выравнивание центральной верхней панели приложений, чтобы убедиться, что длинный заголовок не отображает значки действия или значок навигации. ( I4369f , b/236994621 )
- Положения вкладок теперь обеспечивают минимальную ширину содержания 24.dp. Это обеспечивает доступную сенсорную цель для индикаторов вкладок. ( ID8861 )
- Динамические цветовые палитры из
dynamicLightColorScheme
иdynamicDarkColorScheme
теперь поддерживают новые роли поверхности. ( I1252E ) - Обновление выравнивания уведомлений о значке, чтобы не обрезать при столкновении с прабабушкой. ( IDF75A )
Версия 1.2.0-Alpha02
24 мая 2023 г.
androidx.compose.material3:material3-*:1.2.0-alpha02
выпускается. Версия 1.2.0-Alpha02 содержит эти коммиты.
API меняется
- Добавьте параметр Window Insets в
ModalBottomSheet
.- Scrim для
ModalBottomSheet
теперь может быть нарисован за панелью состояния сwindowInsets
установленным на ноль - Обновленная функциональность
ModalBottomSheet
по умолчанию, чтобы оставаться за пределами системных баров, включая навигацию - Обработка стержней состояния обеспечивается ручкой перетаскивания в режиме края к краю.
-
BottomSheetDefaults
включает в себя оконные вставки дляBottomSheetWindow
. ( I31200 , b/274872542 , b/272973615 , b/2723344475, b/268432129 , b/275849044 , b/275486106 , b/268433162 )
- Scrim для
- Установите
Indicator
и добавьтеPrimary
/SecondaryIndicator
чтобы соответствовать спецификациям M3.PrimaryIndicator
соответствует ширине контента вкладки, тогда какSecondaryIndicator
охватывает полную доступную ширину.SecondaryIndicator
эквивалентен ныне устаревшемуIndicator
и может быть прямой заменой. ( I27604 ) - Добавлена опция для прохождения в
ScrollState
при конструированииDropdownMenu
илиExposedDropdownMenu
для управления вертикальным состоянием прокрутки отображаемых пунктов меню. ( IA0734 , B/1853044441 ) - Добавлена перегрузка для
Slider
, которая является современной версией компонента. СозданSliderState
, который содержит всю информацию для текущей активной дорожки, измерения компонентовSlider
и логику перетаскивания и жеста. ( I124A5 ) - Переименование Семантики
isContainer
вisTraversalGroup
( I121F6 ) - Добавлены оптимизированный
TextStyle.merge(...)
с полным списком параметров. ( IAD234 , B/246961787 ) - Сделанные интерфейсы
TooltipState
,RichTooltipState
иPlainTooltipState
. ДобавленыRichTooltipStateImpl
иPlainTooltipStateImpl
для состояний по умолчанию. Добавленоremember*State
функции для получения этих реализованных состояний. УдаленныйTooltipSync
в пользуTooltipDefault.GlobalMutatorMutex
. ( I7813d ) - Обновлено
DatePickerColors
, чтобы включить дополнительные параметры настройки для разделителя, навигации и поля текста. ( I1A685 , B/274626815 ) -
DatePickerState
и TheDateRangePickerState
в настоящее время являются публичными интерфейсами с реализациями по умолчанию, которые могут быть извлечены с помощьюrememberDatePickerState
иrememberDateRangePickerState
. ( I71c52 ) - Удалили
dateValidator
изDatePicker
иDateRangePicker
и представил интерфейсSelectableDates
, который можно установить в состояние для управления, какие даты или годы выбираются в пользовательском интерфейсе. ( IC2FC6 ) -
TimePicker
удален из стабильного API, в государственном API ожидаются дальнейшие изменения ( I3F39A ) -
ModalBottomSheet
переехал только в Android.ModalBottomSheet
не рекомендуется для использования настольных компьютеров, и функциональность не поддерживается активно. ( IB3778 )
Исправления ошибок
- Исправлена
AlertDialog
отклоните действие, чтобы появиться ниже подтвержденного действия, когда действия, сложенные друг на друга, чтобы вписаться в ширину диалога. Это исправление выравнивает реализацию со спецификацией дизайна материала. ( I029DE , B/235454277 ) - Исправлена ошибка в
ListItem
используя неправильную прокладку для трехстрочных элементов. ( I6e235 ) -
ModalBottomSheet
теперь может отображать клавиатуру IME ( IDC508 , B/262140644 , B/268380384 , B/272483584 )
Версия 1.2.0-Alpha01
10 мая 2023 г.
androidx.compose.material3:material3:1.2.0-alpha01
и androidx.compose.material3:material3-window-size-class:1.2.0-alpha01
. Версия 1.2.0-Alpha01 содержит эти коммиты.
Версия 1.1
Версия 1.1.2
20 сентября 2023 г.
androidx.compose.material3:material3:1.1.2
и androidx.compose.material3:material3-window-size-class:1.1.2
выпускаются. Версия 1.1.2 содержит эти коммиты.
Исправления ошибок
- Фиксированный модификатор неправильно передается в два композиционных устройства. ( B/282761472 )
- Фиксированная
TimePickerState
возвращает неверные часы при инициативе за 23 часа. ( B/278242122 ) - Исправлено начальное состояние переключения для полудня и мельчайшая проверка. ( B/269768197 , B/282790635 )
- Фиксированное
state.hour
возвращает неправильное значение за 11 вечера. ( B/282761472 , B/278242122 )
Версия 1.1.1
21 июня 2023 г.
androidx.compose.material3:material3:1.1.1
и androidx.compose.material3:material3-window-size-class:1.1.1
выпускаются. Версия 1.1.1 содержит эти коммиты.
Исправления ошибок
- Добавляет звонок для
ModalBottomSheet
безwindowInset
Param для двоичной совместимости. ( IB7959 ) - Добавьте параметр Window Insets в
ModalBottomSheet
.- Scrim для
ModalBottomSheet
теперь может быть нарисован за панелью состояния сwindowInsets
установленным на ноль - Обновленная функциональность
ModalBottomSheet
по умолчанию, чтобы оставаться за пределами системных баров, включая навигацию - Обработка стержней состояния обеспечивается ручкой перетаскивания в режиме края к краю.
-
BottomSheetDefaults
включает в себя оконные вставки дляBottomSheetWindow
. ( I31200 , b/274872542 , b/272973615 , b/2723344475, b/268432129 , b/275849044 , b/275486106 , b/268433162 )
- Scrim для
Версия 1.1.0
10 мая 2023 г.
androidx.compose.material3:material3:1.1.0
и androidx.compose.material3:material3-window-size-class:1.1.0
выпускаются. Версия 1.1.0 содержит эти коммиты.
Основные особенности 1.1.0
Новый дизайн материала 3 компоненты
Улучшения для существующих компонентов дизайна материала 3.
Продвижение экспериментальных API до стабильной!
Пожалуйста, смотрите этот пост в блоге для получения более подробной информации!
Версия 1.1.0-RC01
19 апреля 2023 г.
androidx.compose.material3:material3:1.1.0-rc01
и androidx.compose.material3:material3-window-size-class:1.1.0-rc01
выпускаются. Версия 1.1.0-RC01 содержит эти коммиты.
API меняется
-
TimePicker
удален из стабильного API, в государственном API ожидаются дальнейшие изменения ( I3F39A ) -
ModalBottomSheet
переехал только в Android.ModalBottomSheet
не рекомендуется для использования настольных компьютеров, и функциональность не поддерживается активно. ( IB3778 )
Версия 1.1.0-бета02
5 апреля 2023 г.
androidx.compose.material3:material3:1.1.0-beta02
и androidx.compose.material3:material3-window-size-class:1.1.0-beta02
выпускаются. Версия 1.1.0-beta02 содержит эти коммиты.
API меняется
-
SheetState
теперь имеет дополнительный параметрskipHiddenState
-
rememberStandardBottomSheetState
теперь имеет дополнительный параметрskipHiddenState
-
BottomSheetScaffold
теперь имеет определенное скрытое якорь, хотя по умолчанию он отключен -
SheetState.requireOffset
документация была обновлена -
BottomSheetDefaults.MinimizedShape
был переименован вBottomSheetDefaults.HiddenShape
( I839F4 , B/273870234 )
Исправления ошибок
- Не переключайте лицевое лицо от часа на минуту, когда включена исследование. ( I717d0 )
-
ModalBottomSheet
иBottomSheetScaffold
Drag Handling Semantics теперь объединены. ( I05afb ) - Модификатор
BottomSheetScaffold
, параметрыcontainerColor
иcontentColor
теперь влияют только на содержание. ( I992CB ) -
BottomSheetScaffold nestedScroll
для содержимого листа теперь реализует щели. ( I992CB )
Версия 1.1.0-бета01
22 марта 2023 г.
androidx.compose.material3:material3:1.1.0-beta01
и androidx.compose.material3:material3-window-size-class:1.1.0-beta01
выпускаются. Версия 1.1.0-beta01 содержит эти коммиты.
API меняется
- Добавить тип макета в композицию
TimePicker
. Он позволяет использовать разные макеты, в зависимости от конфигурации экрана ( IA0E16 ) -
SearchBarDefaults
был отмечен как экспериментальный. ( I65561 ) - Добавлено поднятие тени в
BottomSheetScaffold
( i94e0f ) - Добавлена поддержка для отображения сборщиков даты без части заголовка. API меняется, чтобы разрешить передачу нулевого заголовка при создании выбора даты. Теперь вы можете передать нулевой заголовок, заголовок и
showToggleMode = false
чтобы отобразить безголовный сборщик. ( Id3f3a , b/266132421 , b/267194809 )
Исправления ошибок
- Поисковые панели теперь автоматически очищают фокус, когда становятся неактивными. ( I22a7c , b/261444487 )
- Обновил
DateRangePicker
, чтобы позволить выбрать диапазон с той же датой для его начала и конца. ( I16529 , B/272882497 ) - Текстовые поля теперь должным образом расположены свои текстовые элементы, когда размер шрифта меньше, чем ожидалось. Это может привести к изменению нескольких пикселей в ваших приложениях на основе настройки шрифта и сценария. ( I8b8d0 )
- Семантические действия нижних листов теперь имеют ярлыки. ( I277b0 )
Версия 1.1.0-Alpha08
8 марта 2023 г.
androidx.compose.material3:material3:1.1.0-alpha08
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha08
выпускаются. Версия 1.1.0-Alpha08 содержит эти коммиты.
Новые функции
- Добавлена поддержка
BottomSheetScaffold
иBottomSheetScaffoldState
. ( I063D4 )
API меняется
- Добавлено функциональность к
DatePickerState
иDateRangePickerState
, чтобы разрешить настройку дат после первоначального создания состояния, а также сбросить выбор путем установки нулевых времен. Установка дат вручную должна быть сделана с осторожностью, а новая функцияsetSelection
вызовет исключение в случае, если предоставленная дата не выполнит предпосылку (см. Документацию). ( IFA645 , b/268609314 , b/270427389 ) - Переименование рухнуло
SheetValue
, чтобыPartiallyExpanded
чтобы более точно и гибко изображать поведение в этом состоянии. ( IA1491 ) - Обновленные имена параметров
ListItem
для _content вместо _text. Геттеры по умолчанию теперь являютсяReadOnlyComposables
где это уместно. ( I69a25 ) - Интерактивные поверхностные API с экспериментальными. ( I90d59 , b/261561812 )
Исправления ошибок
- Исправлена проблема, в которой
HalfExpanded
состояниеModalBottomSheet
было неверно рассчитано, и лист, по -видимому, будет плавать. ( I45E84 , B/2684411386 ) - Добавьте проверку
confirmValueChange
чтобы проверить Scrim Tap дляModalBottomSheet
. ( I2311a , b/270425759 ) - Переместите Семантические действия
BottomSheet
чтобы перетаскивать ручку. ( I158BA ) -
ModalBottomSheet
теперь команды фокусируются на запуске, обрабатывает кнопку назад. ( I4d2ab ) -
ModalBottomSheet onDismissRequest
теперь также обрабатывается во время вложенных проклятых прокручиваний. ( I655C5 , B/268433166 )
Версия 1.1.0-Alpha07
22 февраля 2023 г.
androidx.compose.material3:material3:1.1.0-alpha07
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha07
выпускаются. Версия 1.1.0-Alpha07 содержит эти коммиты.
Новые функции
- Добавьте время ввода времени, который работает с
rememberTimePickerState()
, он следует по спецификации M3 для ввода времени ( IA4FAB ) - Добавлен материал 3
DateRangePicker
API для выбора диапазона дат. ( I7a6c3 , b/267194809 ) - Добавлена поддержка режима ввода 3 материала для выбора диапазонов дат через API
DateRangePicker
. ( IFDBC4 ) - Цвета текста поля теперь позволяют настраивать:
- Поле ввода и текстовые цвета заполнителя на основе фокуса и состояния ошибок. Параметр
textColor
был переименован вunfocusedTextColor
, аplaceholderColor
был переименован вunfocusedPlaceholderColor
. - Цвет контейнера для заполненных текстовых полей на основе состояния ошибки с новым параметром
errorContainerColor
.
- Поле ввода и текстовые цвета заполнителя на основе фокуса и состояния ошибок. Параметр
- Раскрытые раскрывающиеся в текстовом меню цвета поля были обновлены с параметрами для поддержки нового префикса и суффикса API. ( I9c8b4 , b/254284181 , b/264766350 )
API меняется
- Вернуть некоторые версии API слайдера и удаление избыточных перегрузки ползунков, которые покрыты новым экспериментальным слайдером с помощью пользовательского большого пальца и трека. Продвижение
RangeSlider
быть стабильным. ( IE8FBD ) - Переименовано в
defaultElevation
доelevation
в функциях высоты чипа. ( I0f872 ) - Следующий материал 3 API текстового поля больше не экспериментальны:
TextField
,OutlinedTextField
,textFieldWithLabelPadding
,textFieldWithoutLabelPadding
,outlinedTextFieldPadding
. ( IEB5C0 , B/261561819 ) -
TimePickers
is24Hour
использует настройку системы ( I18856 ) - Удаленная экспериментальная аннотация из каркасов API. ( IBB51E , B/261565765 , B/261436953 )
Исправления ошибок
-
ModalBottomSheet
Forme Shape теперь всегдаSheetDefaults.ExpandedShape
. ( I0dfca ) - Улучшения доступности для материала 3
DatePicker
иDateRangePicker
. ( I5087e ) - Исправьте ошибку, где максимальное ограничение высоты распространяется и может сбое. ( I30d8c )
- Удаленные семантические роли с кликабельных и выбираемых поверхностей, обновленные компоненты, которые использовали их для установки ролей с использованием modifier.semantics ( i793d9 )
Версия 1.1.0-Alpha06
8 февраля 2023 г.
androidx.compose.material3:material3:1.1.0-alpha06
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha06
выпускаются. Версия 1.1.0-Alpha06 содержит эти коммиты.
Новые функции
- Текстовые поля теперь поддерживают префикс и текст суффикса ( IA8578 , B/179884561 )
- Добавлена функция
TimePicker
, чтобы показать сборщика времени, следуя спецификации материала 3, используемой в сочетании сTimePickerState
и Commonience MethodrememberTimePickerState
( i71910 ) - Ввод даты теперь является режимом отображения на
DatePicker
. Добавлена поддержка переключения между выводом даты и режимами ввода даты. ( Ieff7 ) - Добавлен API для
RichTextTooltips
. ( I58ef3 ) - Модальная реализация нижнего листа для материала 3, включая
ModalBottomSheet
иModalBottomSheetDefaults
. Также представляетSheetState
иrememberSheetState
, которые можно использовать для будущих компонентов листа. ( I0853A , B/244189383 )
API меняется
- Стабилизируйте API
showSnackbar
( I195C2 , B/261424370 ) - Стабилизируйте API для оказания помощи чип и чип ( IBB67B , B/261424370 )
- Продвигает
ListItem
,ListItemDefaults
иListItemColors
API в неэкспериментальный ( i7e7fa , b/261438882 ) - Продвижение
SliderPositions
,SliderDefaults.Thumb
иSliderDefaults.Track
к стабильному и добавлению неэкспериментальных APISlider
иRangeSlider
, которые содержат пользовательские большие пальцы и дорожку. Также выступая в предыдущемSlider
и API -интерфейсахRangeSlider
. ( IE5EA6 , B/261566890 ) - Made
Modifier.tooltipAnchor()
Public, поэтому разработчики могут передавать его в якорь, чтобы указать, что подсказка должна отображаться на длинном прессе. ОбновленоPlainTooltipBox
API, чтобы больше не сделатьTooltipState
Nulleable и теперь имеет по умолчанию. ( IE2FB7 ) -
ProgressIndicatorDefaults.circularTrackColor
был отмечен@Composable
для последовательности. ( ID29CC ) - Восстановленная собственность Getter
LocalMinimuTouchTargetEnforcement
и отметьте его как устаревшего и перенаправить наLocalMinimumInteractiveComponentEnforcement
. ( I60dd5 )
Версия 1.1.0-Alpha05
26 января 2023 г.
androidx.compose.material3:material3:1.1.0-alpha05
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha05
выпускаются. Версия 1.1.0-Alpha05 содержит эти коммиты.
Новые функции
-
DatePickerDialog
и поддержка доступности - Добавлен пользовательский большой палец и трек в
RangeSlider
.
Обновления зависимости
-
Compose UI
иCompose Material
теперь зависят от жизненного цикла 2.6.0 .
Версия 1.1.0-Alpha04
11 января 2023 г.
androidx.compose.material3:material3:1.1.0-alpha04
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha04
выпускаются. Версия 1.1.0-Alpha04 содержит эти коммиты.
Новые функции
- Начальный API
DatePicker
для выбора одной даты через календарный пользовательский интерфейс. Этот API все еще претерпевает изменения. ( I722b9 ) - Добавлена поддержка простых подсказков через
PlainTooltipBox
. ( I0cdfb ) - Поисковой панель ( IAD128 )
-
SwipeToDismiss
( i458a8 , b/242889540 )
API меняется
- Добавлено в собственности семантики
IsContainer
на поверхностях. Это свойство будет использоваться в более позднем изменении, которое определяет порядок обхода на основе семантического значения таких элементов, как поверхности. ( I63379 ) - Марк навигационный ящик, связанный с ящиком, как стабильный. ( IAB01E , B/261439597 )
- Добавлен параметр цвета дорожки для индикаторов круговых прогрессов и параметр штриховой пары для индикаторов круговых и линейных прогрессов. ( IE668C , B/216325962 , B/222964817 )
- Больше возвращаемого типа, нуляемость устаревших функций ( IBF7B0 )
- Добавить
Modifier.minimumInteractiveComponentSize
. Его можно использовать, чтобы зарезервировать не менее 48.dp в размерах для неоднозначных сенсорных взаимодействий, если элемент будет измерять меньше. ( I33f58 , b/258495559 ) - Добавлен экспериментальный API для композиции
AlertDialog
, который имеет слот для контента. ( IEC4A2 )
Исправления ошибок
- Прогресс по показателям прогресса в настоящее время должным образом ограничен его ожидаемым диапазоном. ( I8a7eb , b/262262727 )
Известный вопрос
- При обновлении с
androidx.compose.foundation:1.4.0-alpha03
доandroidx.compose.foundation:1.4.0-alpha04
, вы можете испытать ошибкуjava.lang.NoSuchFieldError
. Вот где о проблеме было сообщено Оргино. Исправление было отправлено и будет доступно в следующем обновлении Compose. В качестве обхода обновите свои библиотекиandroidx.compose.material
иandroidx.compose.material3
до последней версии (1.1.0-ALPHA04) или понизите свойandroidx.compose.foundation
до 1.4.0-ALPHA03.
Версия 1.1.0-Alpha03
7 декабря 2022 г.
androidx.compose.material3:material3:1.1.0-alpha03
и androidx.compose.material3:material3-window-size-class:1.1.0-alpha03
выпускаются. Версия 1.1.0-Alpha03 содержит эти коммиты.
API меняется
- Переименованные
consumedWindowInsets()
дляconsumeWindowInsets()
иwithConsumedWindowInsets()
вonConsumedWindowInsetsChanged()
и сделали модификаторы публичными. ( IE44E1 ) - Добавьте новую накладку содержимого по умолчанию для текстовой кнопки со значком для использования. ( I8f662 )
- Добавлены отключенные цвета для навигационной панели и рельса. ( IA7892 , B/258867034 )
- Added an Modifier API to query ancestors scroll info. ( I2ba9d , b/203141462 )
- Used in
Clickable
to correctly delay press interactions, when gestures could become scroll events. - Fixed
Clickables
not correctly delaying ripples, when used inside anScrollable ViewGroup
. - Updated Drawers and Sheets to correctly delay presses in case gestures can become scroll events.
Dependency Updates
-
Compose UI
andCompose Material
now depend on Lifecycle 2.5.1. ( I05ab0 , b/258038814 )
Version 1.1.0-alpha02
9 ноября 2022 г.
androidx.compose.material3:material3:1.1.0-alpha02
and androidx.compose.material3:material3-window-size-class:1.1.0-alpha02
are released. Version 1.1.0-alpha02 contains these commits.
API Changes
-
awaitFirstDown
andwaitForUpOrCancellation
now accept aPointerEventPass
for greater flexibility (also fixesExposedDropdownMenuBox
showing a menu while scrolling).( I7579a , b/212091796 ) - Added
minLines
parameter into material and material3 Text,TextField
andOutlinedTextField
which allows setting the minimum height of the component in terms of number of lines ( I4af1d ) - Deprecate the
TopAppBarDefaults smallTopAppBarColors
function in favor of a newtopAppBarColors
function that should be used when creating aTopAppBar
. ( Ie6cb9 ) - Added
minLines
parameter to theBasicText
andBasicTextField
. It allows to set the minimum height of these composables in terms of number of lines ( I24294 , b/122476634 )
Bug Fixes
- Clip the content of a Material3
IconButton
andIconToggleBotton
to the component's state-layer shape (eg circular shape). ( I9da8f ) - Updates Material3 Medium and Large top app bars to apply the same background color across their entire surface, and to allow setting overriding the default colors with transparent color values. ( I67659 , b/249688556 , b/250838918 )
Version 1.1.0-alpha01
24 октября 2022 г.
androidx.compose.material3:material3:1.1.0-alpha01
and androidx.compose.material3:material3-window-size-class:1.1.0-alpha01
are released. Version 1.1.0-alpha01 contains these commits.
Bug Fixes
- Fixes to the top app bar when title is applied with a TextStyle and a Brush. ( If667e )
Версия 1.0
Version 1.0.1
9 ноября 2022 г.
androidx.compose.material3:material3:1.0.1
and androidx.compose.material3:material3-window-size-class:1.0.1
are released. Version 1.0.1 contains these commits.
Bug Fixes
- Updates Material3 Medium and Large top app bars to apply the same background color across their entire surface, and to allow setting overriding the default colors with transparent color values. ( I67659 , b/249688556 , b/250838918 )
Version 1.0.0
24 октября 2022 г.
androidx.compose.material3:material3:1.0.0
and androidx.compose.material3:material3-window-size-class:1.0.0
are released. Version 1.0.0 contains these commits.
Major features of 1.0.0
This is the first stable release of Compose Material 3!
Material Design 3 theming and Material You dynamic color
Material Design 3 components
- Значок
- Bottom App Bar
- Кнопки
- FAB and extended FAB
- Карты
- Checkbox
- Чипсы
- Dialogs
- Divider
- Выпадающее меню
- Список
- Navigation bar
- Навигационный ящик
- Navigation rail
- Progress Indicator
- Radio Button
- Slider
- Выключатель
- Вкладки
- Text Fields
- Top app bar
- Икона
- Текст
- Поверхность
- Макет
- Content color
Window Size Class
material3-window-size-class
is a new library that provides support for window size classes: a set of opinionated viewport breakpoints for you to design, develop, and test resizable application layouts against. You can usecalculateWindowSizeClass
to retrieve a window size class instance, which you can use to determine how your UI should appear, such as showing a navigation rail instead of bottom navigation for larger window sizes. For more information and sample usage see the API reference documentation forWindowSizeClass
.Please see this blog post for more details!
Version 1.0.0-rc01
5 октября 2022 г.
androidx.compose.material3:material3:1.0.0-rc01
and androidx.compose.material3:material3-window-size-class:1.0.0-rc01
are released. Version 1.0.0-rc01 contains these commits.
API Changes
- Added slot param for supporting text to text field API ( Iaac0d , b/227146125 )
Version 1.0.0-beta03
September 21, 2022
androidx.compose.material3:material3:1.0.0-beta03
and androidx.compose.material3:material3-window-size-class:1.0.0-beta03
are released. Version 1.0.0-beta03 contains these commits.
API Changes
-
ExposedDropdownMenuDefaults
now exposes a padding value for menu items. ( I34ee1 ) -
ExposedDropdownMenuBoxScope
now has aModifier.menuAnchor()
modifier that should be passed to the text field for proper a11y behavior. ( I27fa3 ) - Adding two overloaded methods for the current Slider API to allow users to pass in a thumb or track to populate the slider. ( I21c00 )
Bug Fixes
- Updated dark theme color mapping for On Error Container to tone 90 ( Ic5612 )
- Fix to allow setting a transparent background for small Material 3 top app bars. ( I645e2 , b/245575782 )
Version 1.0.0-beta02
7 сентября 2022 г.
androidx.compose.material3:material3:1.0.0-beta02
and androidx.compose.material3:material3-window-size-class:1.0.0-beta02
are released. Version 1.0.0-beta02 contains these commits.
API Changes
- Default components insets introduced in m3 components in beta01 version no longer account for IME insets.
- Material3 Scaffold component now has a
contentWindowInsets
parameter, allowing to specify the amount of insets to handle for the content slot. ( Icf11a , b/243713323 ) - Deprecates the experimental Material 3
SmallTopAppBar
function and introduces an equivalentTopAppBar
function. Please migrate your usage to the new one. ( I74404 , b/226918634 ) - Adds control over the top app bar fling and snap behaviors. ( I15c81 )
- Removes startIndent from Divider, moves color to last parameter. ( If7be2 )
Bug Fixes
- Have Dialogs identify themselves to talkback users by announcing the word Dialog when they are displayed. ( I857ef )
Version 1.0.0-beta01
24 августа 2022 г.
androidx.compose.material3:material3:1.0.0-beta01
and androidx.compose.material3:material3-window-size-class:1.0.0-beta01
are released. Version 1.0.0-beta01 contains these commits.
API Reference
To see latest theming, component and other composables available check out the Compose Material 3 API reference overview .
API Changes
- Updated the Material 3 top app bar to snap into a fully collapsed to a fully extended state. Also, updated the
TopAppBarDefaults
behavior function to be Composables and provide default values for their top app bar state and animation spec. ( I642b3 ) - Updated FAB component signatures to match surface API ( I3afaa )
- Added insets Build-in support for Top app bars, drawers, navigation bar and rail. These components, when used separately or with Scaffold will automatically handle insets for developers. Note: This change doesn't add automatic handling of status bar icons and transparency of the status and navigation bars. Please, continue to do it manually to ensure the best edge-to-edge experience. ( I7e4e6 , b/183161866 )
- Updated component defaults to reduce API surface for future flexibility and performance improvements. ( I31820 )
- Reordered chip and navigation drawer sheet parameters to maintain consistency within the API ( I45d0b )
- Removed
startIndent
from Divider and moved color to be the last parameter.( If7be2 )
Version 1.0.0-alpha16
10 августа 2022 г.
androidx.compose.material3:material3:1.0.0-alpha16
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha16
are released. Version 1.0.0-alpha16 contains these commits.
New Features
- Support specifying a custom width on a navigation drawer. ( Ia7f10 )
API Changes
- Reorder Tab and Leading icon tab parameters to maintain consistency within the API ( Ie2637 )
- Marked
BadgeDefaults
as experimental. ( I98ef3 ) - Remove deprecated navigation drawer function. ( I4f2db )
- Reorder Slider parameters in Material 3 to maintain consistency within the API ( I0aee7 )
- Reorder
NavigationBar
andNavigationRail
parameters to maintain consistency within the API ( I51cda ) - Reorder parameters in Material 3 to maintain consistency across the API. ( If4ae1 )
- Reorder Slider parameters in Material 3 to maintain consistency within the API ( I62673 )
- Renamed icons parameter to actions to be consistent with top app bar ( Id75be )
- Mark
Badge
andBadgedBox
as experimental because the anchor alignment is still influx. ( I1712e , b/236524516 ) - Change
@ExperimentalMaterial3Api
annotations on icon button variants to@OptIn
( I070b5 ) - Separated a navigation drawer's content to its own composable to support specifying a custom width on it. ( Ia7f10 )
- Removes
Divider
fromMenuDefaults
andTabDefaults
( I4e33c )
Version 1.0.0-alpha15
27 июля 2022 г.
androidx.compose.material3:material3:1.0.0-alpha15
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha15
are released. Version 1.0.0-alpha15 contains these commits.
New Features
- Allow dragging the top app bar from the bar itself. ( I65c00 , b/205873416 )
API Changes
- Updates to the
FilterChip
andElevatedFilterChip
APIs to remove theselectedIcon
slot and promote reusing theleadingIcon
for displaying a selected state. ( Ie5dc2 ) - Add scrim and outline variant color roles. ( Id6d54 )
- Fix naming conventions for composable defaults. ( I62b27 )
- Mark
ListItemDefaults
andListItemColors
as experimental. ( I1f3ec ) - Changes to the top app bar API to better reflect the meaning of its state properties. Also, mark the top app bar API as experimental. ( Ic0ad8 )
- Text selection colors have now been added to
TextFieldColors
for better discoverability. ( Iba1b8 ) - Adding
ButtonDefault.ButtonWithIconContentPadding
to be used with buttons that contain an icon. ( I2bf9c ) - Text fields have been marked as experimental to allow for more flexibility in future API changes. ( I127b5 )
- Removed the
@ExperimentalMaterial3Api
annotation from theCheckbox
function. ( I5eefc ) - Removed the
@ExperimentalMaterial3Api
annotation from theRadioButton
function. ( I17e2a ) - Removed the
@ExperimentalMaterial3Api
annotation from the non-interactive Cards. ( I9bd49 ) - Updates various component defaults objects to include colors, shapes etc. ( I96e11 )
Bug Fixes
- Removed non-functioning trailing icons from input chip samples to avoid user confusion in the catalog app. ( I9846a )
Version 1.0.0-alpha14
29 июня 2022 г.
androidx.compose.material3:material3:1.0.0-alpha14
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha14
are released. Version 1.0.0-alpha14 contains these commits.
New Features
- Added M3 list implementation, see the documentation for sample usage ( Id7a20 )
API Changes
- Change parameter name from values to value in
RangeSlider
( I3b79a ) - API changes to the
InputChip
implementation to support a selectable state per the Material Design spec. Additional support at theFilterChip
colors for selected disabled state. ( I55244 , b/235792432 ) - Add
BottomAppBar
default FAB ( Ida4c8 ) -
ColorScheme.surfaceColorAtElevation
was added ( Id41af ) - Interfaces in compose libraries are now built using jdk8 default interface methods ( I5bcf1 )
-
WindowWidthSizeClass
andWindowHeightSizeClass
now implement Comparable, so they can be compared using operators (<, <=, >=, >) and other APIs. ( I747d0 )
Bug Fixes
- Update badge sample to provide more meaningful content description. ( I10b9d )
- Adds option to use the system font size to the Material 3 catalog's theme picker. ( I10605 )
- Adds sample code for Badge and indeterminate progress indicators. ( I8fbe0 )
Version 1.0.0-alpha13
June 1, 2022
androidx.compose.material3:material3:1.0.0-alpha13
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha13
are released. Version 1.0.0-alpha13 contains these commits.
API Changes
- Supports maintaining the top app bar position on configuration change. ( I10459 , b/216160958 )
Version 1.0.0-alpha12
18 мая 2022 г.
androidx.compose.material3:material3:1.0.0-alpha12
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha12
are released. Version 1.0.0-alpha12 contains these commits.
Bug Fixes
- Slider parent can now have 0 width. ( b/231707291 )
Version 1.0.0-alpha11
11 мая 2022 г.
androidx.compose.material3:material3:1.0.0-alpha11
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha11
are released. Version 1.0.0-alpha11 contains these commits.
New Features
- Added
RangeSlider
to Material 3 ( I18e38 ) - Adds Material3
AssistChip
andInputChip
support ( I0d25a ) - Adds Material3
FilterChip
andSuggestionChip
support ( I9fdf3 )
API Changes
- Renamed
TextFieldDefaults.BorderStroke
composable that draws a border stroke inOutlinedTextField
toTextFieldDefaults.BorderBox
. ( I5f295 ) - Switch m3 visual changes ( Iab30e )
- Allow passing colors to the standard icon buttons. ( Ia2445 )
Bug Fixes
- Add lint check to material3/Scaffold to ensure that the inner padding is used ( I72293 , b/226951418 )
Version 1.0.0-alpha10
April 20, 2022
androidx.compose.material3:material3:1.0.0-alpha10
and androidx.compose.material3:material3-window-size-class:1.0.0-alpha10
are released. Version 1.0.0-alpha10 contains these commits.
New Features
-
material3-window-size-class
is a new library that provides support for window size classes: a set of opinionated viewport breakpoints for you to design, develop, and test resizable application layouts against. You can usecalculateWindowSizeClass
to retrieve a window size class instance, which you can use to determine how your UI should appear, such as showing a navigation rail instead of bottom navigation for larger window sizes. For more information and sample usage see the API reference documentation forWindowSizeClass
. For more information on window size class definitions, see the public guidance on supporting different screen sizes.
API Changes
- Adds default FAB elevation for
BottomAppBar
, removes trailing lambda fromBottomAppBar
with FAB. ( I92c47 ) - Adds Material3
FilledIconButton
,FilledTonalIconButton
, andOutlinedIconButton
. ( Ib2bda ) - Updates Material 3 Snackbar API to accept color values for the optional action and dismiss-action. ( Ibe4b4 )
- Partial consumption (down OR position) has been deprecated in
PointerInputChange
. You can useconsume()
to consume the change completely. You can useisConsumed
to determine whether or not someone else has previously consumed the change. -
PointerInputChange::copy()
now always makes a shallow copy. It means that copies ofPointerInputChange
will be consumed once one of the copies is consumed. If you want to create an unboundPointerInputChange
, use constructor instead. ( Ie6be4 , b/225669674 ) - Changes to the Cards API to receive the container and content colors via a
CardColors
interface, and to support a disabled state for clickable cards. ( I927df ) - The parameter
backgroundColor
has been renamedcontainerColor
in Material 3 text fields for improved consistency with other components. ( I6fbd9 )
Bug Fixes
- Updates to the standard
IconButton
to align it with the Material3 spec. ( I09eab ) - Move the top bar height of material3 Scaffold into the padding passed to content, allowing the content to render underneath the top app bar. If the
PaddingValues
are ignored, then the content might be obscured by the top bar. ( I83cbc , b/217776202 )
Version 1.0.0-alpha09
6 апреля 2022 г.
androidx.compose.material3:material3:1.0.0-alpha09
is released. Version 1.0.0-alpha09 contains these commits.
New Features
- Added Material 3 Switch API ( I2c3ad )
API Changes
- Added support for dropdown menus with text fields (aka 'exposed dropdown menus' or 'combo boxes'.) ( I1b832 )
- Added shape parameter to MaterialTheme and Shape sub system. ( I37426 )
- Added an expanded parameter to
ExtendedFloatingActionButton
to control whether the FAB is expanded or collapsed, with animations between each state. Added Extended FAB overload for extended FABs with trailing text for ExtendedFABs without icon. ( Iba7f1 )
Version 1.0.0-alpha08
23 марта 2022 г.
androidx.compose.material3:material3:1.0.0-alpha08
is released. Version 1.0.0-alpha08 contains these commits.
New Features
- Added support for Material 3 text fields. ( I795cc , b/199377790 )
API Changes
- Add default divider for menu ( I01374 )
- Added
surfaceTint
color parameter toColorScheme
class. ( I2f558 )
Bug Fixes
- Fix at the Material3 Button to read its default text style value from the MaterialTheme. ( Ie62fc )
Version 1.0.0-alpha07
9 марта 2022 г.
androidx.compose.material3:material3:1.0.0-alpha07
is released. Version 1.0.0-alpha07 contains these commits.
API Changes
- Updates to Material 3 Surface API that brings back the overloaded functions for clickable Surfaces, as well as adding a function to support selectable and toggleable Surfaces. ( I4bf18 )
-
LazyVerticalGrid
andLazyHorizontalGrid
are now stable. ( I307c0 ) -
LazyVerticalGrid/LazyHorizontalGrid
and all related apis were moved into .grid subpackage. Please update your imports from androidx.compose.foundation.lazy to androidx.compose.foundation.lazy.grid. ( I2d446 ) - Reverted previous change of relying solely on a View for
WindowInsetsControllerCompat
, and again require a Window which is required for managing some window flags. DeprecatedViewCompat.getWindowInsetsController
in favor ofWindowCompat.getInsetsController
to ensure that the correct Window is used (such as if the View is in a dialog). ( I660ae , b/219572936 ) - Added a new
LazyVerticalGrid
API to define cross axis sizes ( I17723 )
Bug Fixes
- Updates to the Card API to follow changes at the Surface API ( I3c8b9 )
Version 1.0.0-alpha06
23 февраля 2022 г.
androidx.compose.material3:material3:1.0.0-alpha06
is released. Version 1.0.0-alpha06 contains these commits.
API Changes
-
NavigationDrawerItem
is added that represents a single destination within the drawers ( Ic396f , b/218286829 ) -
PermanentNavigationDrawer
andDismissibleNavigationDrawer
have been added as experimental APIs. Those are the drawers suitable well for large screen devices. ( I5f8ab , b/218286829 ) - Adds Material 3 bottom app bar support ( Ic432a )
-
NavigationDrawer
has been renamed toModalNavigationDrawer
( I1807d , b/218286829 ) - Added Material 3 Slider class and tokens ( I1ccee )
- Added Tab implementation, see the documentation for sample usage ( Ie0146 )
Bug Fixes
- Fixed an issue where the
TalkBack
screen reader linear navigation selected an empty top app bar title. ( Id4690 ) - Added
IconSize
toFloatingActionButtonDefaults
. ( Ia71cf ) - Bug fix for hidden
AlertDialog
buttons when a long text is added with aLazyColumn
. ( Ib2cc9 , b/216663029 )
Version 1.0.0-alpha05
9 февраля 2022 г.
androidx.compose.material3:material3:1.0.0-alpha05
is released. Version 1.0.0-alpha05 contains these commits.
New Features
Added Material Design 3 components
- Dropdown menu
- Карты
API Changes
- Deprecated
Surface
function that takes an onClick callback. Clickable surfaces should be created with anInteractionSource
and aModifier.clickable()
. ( I211c6 ) - Added pressed and focused elevation support for FAB. ( Ibb584 )
- Changed the
Surface
API to receive an InteractionSource which allows controlling its appearance in different states. ( Iafbc8 )
Bug Fixes
- Added missing tertiary colors in dynamic color schemes ( I456c4 , b/214588434 )
Version 1.0.0-alpha04
26 января 2022 г.
androidx.compose.material3:material3:1.0.0-alpha04
is released. Version 1.0.0-alpha04 contains these commits.
API Changes
- Added
NonRestartableComposable
to methods that are overloads of existing methods without complex logic. This reduces compiler generated memoization checks (equals) for all parameters which are repeated in the inner function that is called. ( I90490 ) - Added Material 3 divider. ( Ica5fc )
- Mark the Checkbox and RadioButton with an experimental API annotation. ( Ie44bb )
- Added support for Material 3 progress indicators. ( Iff232 , b/205023841 )
Bug Fixes
- Update a disabled
TextButton's
container color to be transparent ( I6b248 , b/213339737 )
Version 1.0.0-alpha03
12 января 2022 г.
androidx.compose.material3:material3:1.0.0-alpha03
is released. Version 1.0.0-alpha03 contains these commits.
Bug Fixes
- Add
LocalIndication
to Material 3'sMaterialTheme
. ( I7ce4e ) - Fix the corner radius that is applied for Checkboxes ( I38b03 , b/175198975 , b/202309440 )
Dependency Updates
- Now depends on Kotlin
1.6.10
.
Version 1.0.0-alpha02
1 декабря 2021 г.
androidx.compose.material3:material3:1.0.0-alpha02
is released. Version 1.0.0-alpha02 contains these commits.
New Features
- Add support for checkbox and radiobutton.
- Updated to be compatible with Kotlin
1.6.0
API Changes
- Remove drawer from Material 3's scaffold. ( I04f51 )
- Adds Material 3
Checkbox
support. ( Id5542 ) - Adds Material 3
RadioButton
support. ( I20334 )
Bug Fixes
- Reduce
IconButton
ripple radius from 40dp to 20dp. ( I68bbe , b/206674345 ) - Port string fast path for
Text
changes fromcompose.material
( I30b03 ) - Fixed but that hardcoded button to always be enabled. ( Iea832 , b/205335456 )
Version 1.0.0-alpha01
27 октября 2021 г.
androidx.compose.material3:material3:1.0.0-alpha01
is released. Version 1.0.0-alpha01 contains these commits.
New Features
Material Design 3 theming and Material You dynamic color
Material Design 3 components
- Кнопки
- FAB and extended FAB
- Dialogs
- Navigation bar
- Навигационный ящик
- Navigation rail
- Top app bar
- Значок
- Икона
- Текст
- Поверхность
- Макет
- Content color
For more information, check out the Material Design 3 and Material You section in the Material Theming in Compose guide.