Составление материала 3

Создавайте пользовательские интерфейсы Jetpack Compose с помощью компонентов Material Design 3 — следующего этапа развития Material Design. Material 3 включает обновленные темы и компоненты, а также функции персонализации Material You, такие как динамический цвет, и разработан с учетом нового визуального стиля Android 12 и системного пользовательского интерфейса.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
21 августа 2024 г. 1.2.1 1.3.0-rc01 - -

Структура

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.2.1"
    implementation "androidx.compose.material3:material3-window-size-class:1.2.1"
    implementation "androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-rc01"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.1.1"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Котлин

dependencies {
    implementation("androidx.compose.material3:material3:1.2.1")
    implementation("androidx.compose.material3:material3-window-size-class:1.2.1")
    implementation("androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-rc01")
}

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 , б/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 )
  • Перейдите на использование версии классов размеров окон Window Manager. ( 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 содержит эти коммиты.

Новые возможности

Исправления ошибок

  • Исправлен компонент навигации, заполняющий весь экран, когда корневая поверхность имеет 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

  • Отделите API навигации от API адаптивных скаффолдов. ( Ic4045 )
  • Удалите класс GutterSize . ( I785b3 )

Исправления ошибок

  • Панели исправлений не переключаются, когда 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:

Compose Material3 Версия 1.3

Версия 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-beta02

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 содержит эти коммиты .

Новые возможности

  • Добавлены две экспериментальные версии карусели Material3HorizontalMultiBrowseCarousel и 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 )
  • Удалены устаревшие перечисления и 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 к использованию устаревших API rememberRipple / 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.

Экспериментальные 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 , б/319671246 )
  • Исправлена ​​ошибка в disabledContentColor , появившаяся в 1.2.0-beta02 , и добавлена ​​небольшая оптимизация. ( I6dda1 , б/318428829 )

Версия 1.2.0-бета02

10 января 2024 г.

Выпущен androidx.compose.material3:material3-*:1.2.0-beta02 . Версия 1.2.0-beta02 содержит эти коммиты.

Известная ошибка

  • Ошибка в IconButtonColors по умолчанию назначает disabledContentColor альфе (0.38f) LocalContentColor вместо указанного пользователем contentColor . Обходной путь — явно установить disabledContentColor . Это будет исправлено в следующем выпуске.

Изменения API

  • Добавление возможности включения кареток всплывающих подсказок для API-интерфейсов Plain Tooltip . ( Ibf767 )
  • SwipeToDismissState , rememberSwipeToDismiss и SwipeToDismissValue переименованы в _SwipeToDismissBox_ . ( I68d6d )

Исправления ошибок

  • Исправлено значение заполнения конца ListItem для соответствия спецификации. ( Ibd68b , б/305342674 )
  • Цвет контура карты с контуром теперь правильно сопоставляется с OutlineVariant . ( I75480 , б/310979715 )
  • Динамический цвет теперь извлекается из определенных системой цветовых ролей. Это улучшает контрастность доступного контента и более точно согласовывает динамический цвет со спецификацией материала. ( I1de96 )
  • Исправлена ​​обратная обработка ModalBottomSheet на Android T/13+, когда android:enableOnBackInvokedCallback="true" . ( I728dc , б / 306196110 )

Версия 1.2.0-бета01

13 декабря 2023 г.

Выпущен androidx.compose.material3:material3-*:1.2.0-beta01 . Версия 1.2.0-beta01 содержит эти коммиты.

Изменения API

  • Отметьте TabIndicatorScope как экспериментальный. ( I45c88 )
  • Удаление устаревших экспериментальных API для всплывающих подсказок. ( I438cb )
  • Измените новые перегрузки TabRow чтобы не использовать подкомпозиции. Это приводит к другому способу создания индикаторов TabRow с предоставленными настраиваемыми модификаторами. ( Ифе741 )
  • Устаревшие API DismissDirection и DismissValue . Они были объединены со SwipeToDismissValue , значения которого указывают как положение, так и направление SwipeToDismissBox . DismissState.progress теперь помечен как FloatRange между 0.0 и 1.0 . Устаревшие DismissState Saver и Constructor теперь удалены. Компонент 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 )
  • Пометить фабрику модификаторов как @Stable . ( Ib109f )

Версия 1.2.0-альфа11

15 ноября 2023 г.

Выпущен androidx.compose.material3:material3-*:1.2.0-alpha11 . Версия 1.2.0-alpha11 содержит эти коммиты.

Новые возможности

  • Реализует PullToRefreshContainer и PullToRefreshState , которые вместе обеспечивают реализацию обновления в Material3. ( I16456 , б / 261760718 )

Изменения API

  • Отметьте SwipeToDismissBox DismissDirection и DismissValue как экспериментальные. ( I517b0 )
  • Переименуйте SwipeToDismiss в SwipeToDismissBox . Переименуйте background в backgroundContent и dismissContent в лямбда-выражение конечного content . ( I7f4d3 )
  • Сделайте конструктор ChipElevation и SelectableChipElevation общедоступным. ( Ie0c48 , б/308432421 )
  • Добавляем ModalBottomSheetProperties . Перемещение securePolicy в ModalBottomSheetProperties . Добавление isFocusable и shouldDismissOnBackPress в ModalBottomSheetProperties . Эти новые логические значения помогают определить, как модальный нижний лист должен обрабатывать события IME. ( Iea56f , б/278216859 )
  • Обновлены состояния RangeSlider и Slider для удаления initialOnValueChange , начальных префиксов и соответствующих kdocs. ( I57d30 )
  • Устаревший класс ChipBorder и связанные с ним вызовы функций. Вместо этого рекомендуется использовать непосредственно BorderStroke . ( I89cc2 )
  • API-интерфейсы Foundation Tooltip теперь называются @ExperimentalFoundationApi . ( I30b0b )
  • TabRow и ScrollableTabRow больше не являются устаревшими. Новые первичный и вторичный варианты помечены как экспериментальные. ( I0def6 )
  • Чипы фильтров и ввода теперь напрямую используют BorderStroke . ( I07a8d )
  • SegmentedButton теперь напрямую использует BorderStroke . ( I89b9b )
  • Общая функция AlertDialog переименована в BasicAlertDialog и объявлена ​​устаревшей. ( Идбе52 )
  • Переименуйте API SwipeToDismiss в SwipeDismiss и сделайте новые API SwipeDismiss стабильными. ( 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. DrawerState 's animateTo Challestate была заменена на открытые и близкие методы, а смещение теперь выставлено как плавание вместо объекта состояния. Вы можете получить доступ к смещению непосредственно через 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 умолчанию также был изменен на Trim.None TextStyle Alignment.Center lineHeight Проконсультируйтесь с документами 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-альфа02

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 )
  • Установите 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 и The DateRangePickerState в настоящее время являются публичными интерфейсами с реализациями по умолчанию, которые могут быть извлечены с помощью 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-альфа01

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 )

Версия 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-beta02

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-альфа07

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-альфа06

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 Method rememberTimePickerState ( 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 к стабильному и добавлению неэкспериментальных API Slider и 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-альфа05

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 .

Обновления зависимости

Версия 1.1.0-альфа04

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-альфа03

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 )
  • Добавлен модификатор API для запроса предков прокрутки информации. ( I2ba9d , b/203141462 )
  • Используется в Clickable , чтобы правильно отложить взаимодействие, когда жесты могут стать событиями прокрутки.
  • Исправленные Clickables неправильно задерживают рябь, когда используются внутри Scrollable ViewGroup .
  • Обновленные ящики и листы для правильной задержки прессы в случае, если жесты могут стать событиями прокрутки.

Обновления зависимости

  • Compose UI и Compose Material теперь зависят от жизненного цикла 2.5.1. ( I05ab0 , b/258038814 )

Версия 1.1.0-альфа02

9 ноября 2022 г.

androidx.compose.material3:material3:1.1.0-alpha02 и androidx.compose.material3:material3-window-size-class:1.1.0-alpha02 выпускаются. Версия 1.1.0-alpha02 содержит эти коммиты.

Изменения API

  • awaitFirstDown и waitForUpOrCancellation теперь принимают PointerEventPass для большей гибкости (также фиксирует ExposedDropdownMenuBox показывающий меню во время прокрутки). ( i7579a , b/212091796 )
  • Добавлен параметр minLines в текст материала и материала3, TextField и OutlinedTextField , что позволяет установить минимальную высоту компонента в терминах количества строк ( i4af1d )
  • Оправдайте функцию TopAppBarDefaults smallTopAppBarColors в пользу новой функции topAppBarColors , которую следует использовать при создании TopAppBar . ( IE6CB9 )
  • Добавлены параметр minLines в BasicText и BasicTextField . Это позволяет устанавливать минимальную высоту этих композиционных товаров с точки зрения количества строк ( i24294 , b/122476634 )

Исправления ошибок

  • Подключите содержание материала3 IconButton и IconToggleBotton к форме уровня компонента (например, круглой формы). ( I9da8f )
  • Обновляет материал3 среднего и большего верхнего приложений, чтобы применить тот же цвет фона на всей их поверхности, а также для того, чтобы настройка переопределения цветов по умолчанию с прозрачными значениями цвета. ( I67659 , B/249688556 , B/250838918 )

Версия 1.1.0-альфа01

24 октября 2022 г.

androidx.compose.material3:material3:1.1.0-alpha01 и androidx.compose.material3:material3-window-size-class:1.1.0-alpha01 выпускаются. Версия 1.1.0-alpha01 содержит эти коммиты.

Исправления ошибок

  • Исправлено на верхнюю панель приложений, когда заголовок применяется с помощью текстового стиля и кисти. ( If667e )

Версия 1.0

Версия 1.0.1

9 ноября 2022 г.

androidx.compose.material3:material3:1.0.1 и androidx.compose.material3:material3-window-size-class:1.0.1 выпускаются. Версия 1.0.1 содержит эти коммиты.

Исправления ошибок

  • Обновляет материал3 среднего и большего верхнего приложений, чтобы применить тот же цвет фона на всей их поверхности, а также для того, чтобы настройка переопределения цветов по умолчанию с прозрачными значениями цвета. ( I67659 , B/249688556 , B/250838918 )

Версия 1.0.0

24 октября 2022 г.

androidx.compose.material3:material3:1.0.0 и androidx.compose.material3:material3-window-size-class:1.0.0 выпускаются. Версия 1.0.0 содержит эти коммиты.

Основные особенности версии 1.0.0

Это первый стабильный выпуск материала Compose 3!

Дизайн материала 3 тема и материал, который вы динамичный цвет

Дизайн материала 3 компонента

Уровень размера окна

  • material3-window-size-class -это новая библиотека, которая обеспечивает поддержку классов по размеру окна: набор самоуверенных точек просмотра точек останова для разработки, разработки и тестирования с рецептивными макетами приложений. Вы можете использовать calculateWindowSizeClass для получения экземпляра класса размера окна, который вы можете использовать, чтобы определить, как должен появляться ваш пользовательский интерфейс, например, показ навигационный рельс вместо нижней навигации для больших размеров окна. Для получения дополнительной информации и примерного использования см. В справочной документации API для WindowSizeClass .

  • Пожалуйста, смотрите этот пост в блоге для получения более подробной информации!

Версия 1.0.0-rc01

5 октября 2022 г.

androidx.compose.material3:material3:1.0.0-rc01 и androidx.compose.material3:material3-window-size-class:1.0.0-rc01 выпускаются. Версия 1.0.0-rc01 содержит эти коммиты.

Изменения API

  • Добавлен пара параметра для поддержки текста в API текстового поля ( IAAC0D , B/227146125 )

Версия 1.0.0-бета03

21 сентября 2022 г.

androidx.compose.material3:material3:1.0.0-beta03 и androidx.compose.material3:material3-window-size-class:1.0.0-beta03 выпускаются. Версия 1.0.0-BETA03 содержит эти коммиты.

Изменения API

  • ExposedDropdownMenuDefaults теперь раскрывает значение для пунктов меню. ( I34ee1 )
  • ExposedDropdownMenuBoxScope теперь имеет Modifier.menuAnchor() , который следует передавать в текстовое поле для правильного поведения A11Y. ( I27fa3 )
  • Добавление двух перегруженных методов для текущего API Slider, чтобы позволить пользователям проходить в большой палец или трек, чтобы заполнить слайдер. ( I21c00 )

Исправления ошибок

  • Обновленное картирование цвета темной темы для контейнера для ошибок для тона 90 ( IC5612 )
  • Исправьте, чтобы установить прозрачный фон для маленького материала 3 лучших приложений. ( I645e2 , b/245575782 )

Версия 1.0.0-бета02

7 сентября 2022 г.

androidx.compose.material3:material3:1.0.0-beta02 и androidx.compose.material3:material3-window-size-class:1.0.0-beta02 выпускаются. Версия 1.0.0-BETA02 содержит эти коммиты.

Изменения API

  • Компоненты по умолчанию вставки, представленные в компонентах M3 в версии Beta01, больше не учитывают вставки IME.
  • Материал 3 Компонент каркаса теперь имеет параметр contentWindowInsets , который позволяет указать объем вставки для обработки для слота содержимого. ( ICF11A , B/2437133323 )
  • Относится к экспериментальному материалу 3 SmallTopAppBar функции и вводит эквивалентную функцию TopAppBar . Пожалуйста, переносите свое использование в новый. ( I74404 , b/226918634 )
  • Добавляет контроль над главной блинкой приложений и поведением SNAP. ( I15C81 )
  • Удаляет StartIndent от Divider, перемещает цвет к последнему параметру. ( If7be2 )

Исправления ошибок

  • Получите диалоги идентифицируют себя для пользователей Talkback, анонсируя диалог слова, когда они отображаются. ( I857ef )

Версия 1.0.0-бета01

24 августа 2022 г.

androidx.compose.material3:material3:1.0.0-beta01 и androidx.compose.material3:material3-window-size-class:1.0.0-beta01 выпускаются. Версия 1.0.0-beta01 содержит эти коммиты.

Справочник по API

To see latest theming, component and other composables available check out the Compose Material 3 API reference overview .

Изменения API

  • 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.

Новые возможности

  • Support specifying a custom width on a navigation drawer. ( Ia7f10 )

Изменения API

  • 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 and NavigationRail 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 and BadgedBox 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 from MenuDefaults and TabDefaults ( 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.

Новые возможности

Изменения API

  • Updates to the FilterChip and ElevatedFilterChip APIs to remove the selectedIcon slot and promote reusing the leadingIcon for displaying a selected state. ( Ie5dc2 )
  • Add scrim and outline variant color roles. ( Id6d54 )
  • Fix naming conventions for composable defaults. ( I62b27 )
  • Mark ListItemDefaults and ListItemColors 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 the Checkbox function. ( I5eefc )
  • Removed the @ExperimentalMaterial3Api annotation from the RadioButton function. ( I17e2a )
  • Removed the @ExperimentalMaterial3Api annotation from the non-interactive Cards. ( I9bd49 )
  • Updates various component defaults objects to include colors, shapes etc. ( I96e11 )

Исправления ошибок

  • 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.

Новые возможности

  • Added M3 list implementation, see the documentation for sample usage ( Id7a20 )

Изменения API

  • 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 the FilterChip 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 and WindowHeightSizeClass now implement Comparable, so they can be compared using operators (<, <=, >=, >) and other APIs. ( I747d0 )

Исправления ошибок

  • 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

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

  • 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.

Исправления ошибок

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.

Новые возможности

  • Added RangeSlider to Material 3 ( I18e38 )
  • Adds Material3 AssistChip and InputChip support ( I0d25a )
  • Adds Material3 FilterChip and SuggestionChip support ( I9fdf3 )

Изменения API

  • Renamed TextFieldDefaults.BorderStroke composable that draws a border stroke in OutlinedTextField to TextFieldDefaults.BorderBox . ( I5f295 )
  • Switch m3 visual changes ( Iab30e )
  • Allow passing colors to the standard icon buttons. ( Ia2445 )

Исправления ошибок

  • Add lint check to material3/Scaffold to ensure that the inner padding is used ( I72293 , b/226951418 )

Version 1.0.0-alpha10

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.

Новые возможности

  • 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 use calculateWindowSizeClass 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 for WindowSizeClass . For more information on window size class definitions, see the public guidance on supporting different screen sizes.

Изменения API

  • Adds default FAB elevation for BottomAppBar , removes trailing lambda from BottomAppBar with FAB. ( I92c47 )
  • Adds Material3 FilledIconButton , FilledTonalIconButton , and OutlinedIconButton . ( 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 use consume() to consume the change completely. You can use isConsumed to determine whether or not someone else has previously consumed the change.
  • PointerInputChange::copy() now always makes a shallow copy. It means that copies of PointerInputChange will be consumed once one of the copies is consumed. If you want to create an unbound PointerInputChange , 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 renamed containerColor in Material 3 text fields for improved consistency with other components. ( I6fbd9 )

Исправления ошибок

  • 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.

Новые возможности

  • Added Material 3 Switch API ( I2c3ad )

Изменения API

  • 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.

Новые возможности

Изменения API

  • Add default divider for menu ( I01374 )
  • Added surfaceTint color parameter to ColorScheme class. ( I2f558 )

Исправления ошибок

  • Fix at the Material3 Button to read its default text style value from the MaterialTheme. ( Ie62fc )

Версия 1.0.0-альфа07

9 марта 2022 г.

androidx.compose.material3:material3:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.

Изменения API

  • 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 and LazyHorizontalGrid 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. Deprecated ViewCompat.getWindowInsetsController in favor of WindowCompat.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 )

Исправления ошибок

  • Updates to the Card API to follow changes at the Surface API ( I3c8b9 )

Версия 1.0.0-альфа06

23 февраля 2022 г.

androidx.compose.material3:material3:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.

Изменения API

  • NavigationDrawerItem is added that represents a single destination within the drawers ( Ic396f , b/218286829 )
  • PermanentNavigationDrawer and DismissibleNavigationDrawer 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 to ModalNavigationDrawer ( I1807d , b/218286829 )
  • Added Material 3 Slider class and tokens ( I1ccee )
  • Added Tab implementation, see the documentation for sample usage ( Ie0146 )

Исправления ошибок

  • Fixed an issue where the TalkBack screen reader linear navigation selected an empty top app bar title. ( Id4690 )
  • Added IconSize to FloatingActionButtonDefaults . ( Ia71cf )
  • Bug fix for hidden AlertDialog buttons when a long text is added with a LazyColumn . ( Ib2cc9 , b/216663029 )

Версия 1.0.0-альфа05

9 февраля 2022 г.

androidx.compose.material3:material3:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.

Новые возможности

Added Material Design 3 components

Изменения API

  • Deprecated Surface function that takes an onClick callback. Clickable surfaces should be created with an InteractionSource and a Modifier.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 )

Исправления ошибок

Версия 1.0.0-альфа04

26 января 2022 г.

androidx.compose.material3:material3:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.

Изменения API

  • 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 )

Исправления ошибок

  • Update a disabled TextButton's container color to be transparent ( I6b248 , b/213339737 )

Версия 1.0.0-альфа03

12 января 2022 г.

androidx.compose.material3:material3:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.

Исправления ошибок

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.

Новые возможности

  • Add support for checkbox and radiobutton.
  • Updated to be compatible with Kotlin 1.6.0

Изменения API

  • Remove drawer from Material 3's scaffold. ( I04f51 )
  • Adds Material 3 Checkbox support. ( Id5542 )
  • Adds Material 3 RadioButton support. ( I20334 )

Исправления ошибок

  • Reduce IconButton ripple radius from 40dp to 20dp. ( I68bbe , b/206674345 )
  • Port string fast path for Text changes from compose.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.

Новые возможности

Material Design 3 theming and Material You dynamic color

Material Design 3 components

For more information, check out the Material Design 3 and Material You section in the Material Theming in Compose guide.