Износостойкий композиционный материал 3

Создавайте приложения Jetpack Compose для устройств Wear OS, предоставляя функциональность для поддержки различных размеров устройств и жестов навигации с использованием системы дизайна Material 3 Expressive.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-версия Альфа-релиз
27 августа 2025 г. 1.5.0 - - -

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

Чтобы добавить зависимость от Wear, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Котлин

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.

Создать новый выпуск

Более подробную информацию см. в документации по системе отслеживания проблем .

Wear Compose Material3 Версия 1.5

Версия 1.5.0

27 августа 2025 г.

Выпущен androidx.wear.compose:compose-*:1.5.0 . Версия 1.5.0 содержит следующие коммиты .

Важные изменения с версии 1.4.0

Первый выпуск библиотеки Wear Compose Material 3, поддерживающей новую систему дизайна Material 3 Expressive. В этот выпуск входят:

  • Обновленная MaterialTheme и динамическая цветовая тема.
  • Новые компоненты AppScaffold, ScreenScaffold , HorizontalPagerScaffold и VerticalPagerScaffold для компоновки структуры экрана и координации анимаций ScrollIndicator , TimeText , HorizontalPageIndicator и VerticalPageIndicator .
  • Формоизменение IconButton , TextButton , IconToggleButton и TextToggleButton с вариациями, которые анимируются при нажатии или установке отметки.
  • EdgeButton , имеющая специальную форму, предназначенную для нижней части экрана.
  • ButtonGroup представляет собой выразительную группу кнопок, расположенных в ряд и меняющих свою форму при касании.
  • AlertDialog и ConfirmationDialog с вариациями для дополнительного диалогового содержимого.
  • Компоненты TimePicker и DatePicker .
  • Индикаторы прогресса включают CircularProgressIndicator (с сегментированной вариацией), ArcProgressIndicator и LinearProgressIndicator .

Кроме того, Wear Compose Foundation 1.5.0 включает в себя следующее:

  • TransformingLazyColumn — ленивый вертикально прокручиваемый список, поддерживающий анимацию масштабирования и морфинга.
  • Поддержка пагинации в Wear Compose Foundation с помощью HorizontalPager и VerticalPager .
  • Иерархические фокус-группы — используются для аннотирования компонуемых элементов в приложении с целью отслеживания активной части композиции и координации фокуса.

Узнайте больше о ( Material 3 Expressive для Wear OS )

Версия 1.5.0-rc02

13 августа 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-rc02 . Версия 1.5.0-rc02 содержит следующие коммиты .

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

  • Исправлена ​​ошибка в TimePicker , из-за которой длинные интернационализированные строки для периода (AM/PM) могли нарушить макет. ( I0fa81 )

Версия 1.5.0-rc01

30 июля 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-rc01 . Версия 1.5.0-rc01 содержит следующие коммиты .

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

  • TimePicker теперь полностью управляется локалью пользователя, используя DateFormat.getBestDateTimePattern для определения порядка и содержимого своих элементов выбора и разделителей. Это исправляет некорректный порядок столбцов для языков CJK, устраняет проблемы с написанием справа налево в таких языках, как арабский, использует локализованные разделители и поддерживает форматы часов 0–11 и 1–12 в зависимости от локали ( I5d543 ).
  • DatePicker теперь отображает месяц в числовом формате в некоторых локалях, например, CJK, чтобы избежать смешивания числовых и языковых форматов (например, 2025 | 07 | 02 вместо 2025 | 7月 | 02). Это изменение применяет эвристику, которая проверяет, используются ли в локали языковые суффиксы для обозначения года, и, если да, меняет формат месяца с текстового (MMM) на числовой (MM) для обеспечения согласованности. ( Ia93fe )
  • Вертикальное пространство для заголовка в компоненте «Выбор» теперь постоянно, что предотвращает видимое смещение при выборе столбца выбора, особенно в режиме Talkback . ( I7f8b7 )
  • Исправлена ​​ошибка доступности, вызванная отображением HorizontalPageIndicator и VerticalPageIndicator на весь экран. Индикаторы страниц больше не отображаются на весь экран и будут позиционироваться автоматически при использовании с HorizontalPagerScaffold или VerticalPagerScaffold . Если шаблон пейджера не используется, укажите выравнивание явно с помощью modifier = Modifier.align(Alignment.BottomCenter) для HorizontalPageIndicator и modifier =Modifier.align(Alignment.CenterEnd) для VerticalPageIndicator . ( I3a0ad )
  • Направление смахивания в SwipeToReveal теперь одинаково для LayoutDirections как LTR, так и RTL. ( I6d427 )
  • Восстановлено вертикальное центрирование SwipeToReveal для действий. Если hasPartiallyRevealedState = true , RevealState должен быть сброшен до RevealValue.Covered вызывающим кодом при прокрутке. ( I6473d )
  • SwipeDismissableNavHost теперь корректно обрезает содержимое для API 36 и более поздних версий. ( Ib9a44 )

Версия 1.5.0-beta06

16 июля 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta06 . Версия 1.5.0-beta06 содержит следующие изменения .

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

  • Исправлена ​​анимация EdgeButton , когда LazyColumn или ScalingLazyColumn имеют reverseLayout = true . ( I46a1a )
  • Исправлена ​​ошибка в ScreenScaffold , из-за которой функция Touch-to-Explore не работала в режиме Talkback, если был указан ScrollIndicator/PageIndicator . ( I6dcee )
  • TransformingLazyColumn теперь позволяет выполнять пользовательскую трансформацию из TransformationSpec путем считывания значения itemHeight , предоставленного TransformationSpec в фоновом рисовщике. ( I6a599 )
  • Анимированные переходы цветов для IconButton включены/выключены для соответствия IconToggleButton . ( Ife10a )
  • Убрано ограничение минимального размера сечения в CircularProgressIndicator , чтобы избежать заметного скачка к минимальному размеру точки при анимации. В связи с этим изменением параметр targetProgress в drawCircularProgressIndicator теперь не используется. ( I33309 )
  • В средстве выбора теперь есть семантическая роль ValuePicker , которую могут использовать программы чтения с экрана для повышения доступности. Кроме того, в средстве выбора обновлены метки щелчков, которые различаются между изменением значения в режиме «только для чтения» и выбором текущего значения в противном случае. ( I33309 )

Версия 1.5.0-beta05

2 июля 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta05 . Версия 1.5.0-beta05 содержит следующие изменения .

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

  • Обновлена ​​документация для уточнения использования Modifier.edgeSwipeToDismiss ( I78cb5 ).
  • Исправлена ​​ошибка, из-за которой в ленивых списках с помощью SwipeToReveal могло отображаться несколько раскрытых элементов ( I1d4f6 ).
  • Формы контейнеров в TransformingLazyColumn теперь масштабируются, чтобы избежать обрезки содержимого. ( I9221a )
  • Метки TimePicker и DatePicker для часов/минут/секунд или года/месяца/дня теперь имеют семантику заголовков для программ чтения с экрана ( I77d8b )
  • Убрана пауза между циклами в неопределенном CircularProgressIndicator ( Iaf0bb )
  • Исправлена ​​ошибка анимации в TransformingLazyColumn при удалении элементов. ( I73034 )
  • Исправлена ​​обработка элементов привязки в TransformingLazyColumn при удалении элементов. ( I841a8 )
  • PickerGroup теперь анимирует элементы выбора горизонтально при включении автоцентрирования и изменении выбранного (центрированного) элемента выбора. ( Ic82c4 )

Версия 1.5.0-beta04

18 июня 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta04 . Версия 1.5.0-beta04 содержит следующие коммиты .

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

  • Исправлена ​​ошибка макета в TransformingLazyColumn , из-за которой содержимое, помещающееся на экране, теперь правильно выравнивается по верхнему краю экрана ( I80115 ).
  • Исправлена ​​проблема с TransformingLazyColumn , из-за которой нижний элемент неправильно масштабировался при прокрутке списка до самого низа с помощью EdgeButton . Теперь при восстановлении макета ход прокрутки следует градиентному спуску. ( Iea375 )
  • TransformingLazyColumn теперь считывает высоту элемента внутри фонового рисователя, что позволяет настраиваемым TransformationSpecs реализовывать морфинг. ( I022f0 )
  • SwipeToReveal теперь правильно центрирует отображаемые действия по вертикали. ( I4419b )
  • Исправлена ​​ошибка в SwipeToReveal , из-за которой функция не работала корректно при смахивании для закрытия, если на экране одновременно использовались и просмотр, и создание сообщения. ( I5dc0e )
  • Исправлена ​​ошибка, из-за которой действия SwipeToReveal отображались с вертикальным смещением при прокрутке. ( I29444 )
  • AlertDialog , ConfirmationDialog , OpenOnPhoneDialog и SwipeToReveal теперь округляют отступы и размеры, которые рассчитываются как процент от размера экрана. ( I76367 )
  • ButtonDefaults.outlinedButtonBorder теперь обновляется в соответствии с изменениями размера включенного/выключенного состояния ( If2ddd )
  • Исправлена ​​ошибка высоты EdgeButton , возникавшая на сложных экранах с Pager и ScreenScaffold . ( I946e3 )
  • Исправлено состояние гонки, которое могло привести к остановке анимации плейсхолдеров. ( I53530 )
  • Улучшена производительность HorizontalPageIndicator и VerticalPageIndicator за счет рисования на холсте. ( Ifae1e )
  • Уточнена форма EdgeButton для сглаживания переходов между эллипсисом и кругами, составляющими контур. ( I7721e )
  • Исправлена ​​ошибка в LevelIndicator , приводившая к остановке анимации из-за ненужных перекомпозиций. ( I45d08 )

Версия 1.5.0-beta03

4 июня 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta03 . Версия 1.5.0-beta03 содержит следующие коммиты .

Изменения API

  • OpenOnPhoneDialog теперь озвучивает только текст сообщения в TalkBack и пропускает семантику значка. OpenOnPhoneDialogDefaults обновлены: параметры iconContentDescription и contentDescription удалены из icon() . Кроме того, ConfirmationDialogDefaults теперь имеет параметры-модификаторы для компонуемых объектов SuccessIcon и FailureIcon . ( Id2ae2 )

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

  • Изменён порядок применения параметров SurfaceTransformation . Ранее преобразования, применяемые к компонентам Wear Material3, выполнялись следующим образом: рисование фона, преобразование контейнера, преобразование содержимого. Теперь первые два инвертируются, и между ними применяется любой переданный модификатор, поэтому на него влияют преобразования контейнера. Это исправляет такие случаи, как использование эффекта мерцания заполнителя с элементами в TLC, использующими параметр преобразования. ( I786cf )
  • Добавлен RevealState.Saver для использования при восстановлении состояния SwipeToReveal при повторном создании активности или процесса. Функция rememberRevealState теперь использует этот Saver по умолчанию. ( Ie0ecb )
  • Кнопки основных и дополнительных действий SwipeToReveal должны по умолчанию иметь значение ButtonDefault.Height (исправлена ​​ошибка, из-за которой они заполняли максимальную высоту для более высоких кнопок). ( Ibfba1 )
  • Изменено SwipeToReveal для сброса последнего взаимодействовавшего компонента при выполнении жеста смахивания вправо. ( Ia8450 )
  • SwipeToReveal был изменен для установки в состояние Revealing , когда конечная позиция смахивания находится между якорями раскрытия и раскрытия и ближе к якорю раскрытия. ( If4458 )
  • Теперь содержимое ButtonGroup правильно инвертируется в макете RTL ( Ib378d )
  • AnimatedText теперь поддерживает направление текста справа налево ( I4533c )
  • TransformingLazyColumn теперь правильно изменяет размеры элементов при удалении нижнего элемента ( Idacab )
  • TransformingLazyColumn теперь выполняет только один проход измерения, что повышает производительность за счет сокращения времени кадра. ( I501a1 )

Версия 1.5.0-beta02

20 мая 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta02 . Версия 1.5.0-beta02 содержит следующие коммиты .

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

  • Обновлены базовые профили для библиотек фундамента, материалов и материалов3. ( I53f06 )
  • Исправлена ​​ошибка в TransformingLazyColumn , из-за которой элементы изменялись в размере при удалении нижнего элемента. ( Idacab )
  • Исправлена ​​ошибка TransformingLazyColumn , из-за которой список застревал в верхней или нижней части списка. ( I49d00 )
  • OpenOnPhoneDialog в TalkBack должен озвучивать изогнутый текст, а не описание содержимого значка. ( I4efe8 )
  • Исправлена ​​ошибка в SwipeToReveal , из-за которой сообщалось о неправильной привязке в RevealState.currentValue , если hasPartiallyRevealedState имел значение false. ( I9c7cf )
  • Кнопки отмены SwipeToReveal теперь по умолчанию имеют ButtonDefaults.Height . ( I1f6c8 )
  • Производительность BasicSwipeToDismissBox была улучшена за счет отказа от использования Canvas для рисования сеток. ( I68f2c )
  • Исправлена ​​ошибка доступности в Slider, из-за которой объявленный процент не соответствовал значению после обновлений ( I91146 ).
  • Исправлена ​​ошибка в реализации placeholderShimmer . ( Iee39b
  • Производительность TransformingLazyColumn была улучшена за счет оптимизации расчета ScrollProgress на 30%. ( I4c4cb )

Версия 1.5.0-beta01

7 мая 2025 г.

Выпущена androidx.wear.compose:compose-*:1.5.0-beta01 . Версия 1.5.0-beta01 содержит следующие изменения .

Выпуск Compose для Wear OS версии 1.5.0-beta01 означает, что в этом выпуске библиотека имеет полный набор функций, а API заблокирован (за исключением случаев, помеченных как экспериментальные).

Wear Compose 1.5.0-beta01 включает библиотеку Wear Compose Material3, которая поддерживает новую систему дизайна пользовательского интерфейса Material 3 Expressive. Рекомендуется перейти с Material на Material3, чтобы использовать новый визуальный дизайн в приложениях и воспользоваться следующими новыми компонентами:

  • MaterialTheme для обновленных и расширенных цветовых схем, типографики и форм, которые привнесут в ваши проекты глубину и разнообразие.
  • Динамическая цветовая схема, которая автоматически генерирует цветовую схему для вашего приложения в соответствии с цветами циферблата часов.
  • Новые компоненты по умолчанию автоматически адаптируются к большим размерам экрана.
  • Изменение формы — компоненты круглой кнопки, такие как IconButton , TextButton , IconToggleButton и TextToggleButton поддерживают вариации, которые анимируются при нажатии или выборе.
  • EdgeButton — новая кнопка специальной формы, прилегающая к краю экрана.
  • Scaffolds — представляем AppScaffold и ScreenScaffold для разработки структуры экрана и координации анимаций ScrollIndicator и TimeText .
  • Кнопки — множество кнопок в форме стадиона поддерживаются гибкими однослотовыми контейнерами и многослотовыми вариантами для кнопок с иконками и надписями. CheckboxButton и SwitchButton предоставляются для переключателей, а RadioButton — это доступная кнопка выбора (также доступны варианты «Разделённые» для переключателей и кнопок выбора).
  • ButtonGroup — реализует выразительную группу кнопок в ряду, которые меняют форму при касании.
  • Варианты AlertDialog поддерживают кнопки «ОК/Отмена» или EdgeButton .
  • ConfirmationDialog позволяет отображать сообщение с задержкой, поддерживая специальные анимации для успешного завершения, неудачного завершения и вариантов открытия по телефону.
  • Поддерживаются варианты Pickers — TimePicker и DatePicker , а также компоненты Picker и PickerGroup для создания собственных экранов Pickers.
  • ProgressIndicators — поддерживаются круговые и линейные индикаторы прогресса ( CircularProgressIndicator имеет сегментированные и неопределенные варианты).
  • Карточки — доступно несколько вариантов карточек, включая TitleCard , предлагающий специальные макеты для карточек с заголовком, временем, подзаголовком или полем для содержания. TitleCard также можно использовать фоновое изображение, чтобы подчеркнуть смысл информации на карточке.
  • Компоненты Pagers — HorizontalPagerScaffold , VerticalPagerScaffold и AnimatedPage координируют анимацию HorizontalPageIndicator и VerticalPagerIndicator . HorizontalPager и VerticalPager входят в библиотеку Wear Compose Foundation.
  • Заполнители — рисуют каркасную форму над компонентом для ситуаций, когда временное содержимое отсутствует.
  • Ползунки и степперы — как ползунки, так и степперы позволяют пользователям выбирать из диапазона значений. Ползунки более компактны и могут быть сегментированы, тогда как степпер — это полноэкранный компонент, обычно работающий в паре с StepperLevelIndicator .
  • SwipeToReveal — используется для добавления дополнительных действий к компонуемому элементу при его смахивании справа налево.

Кроме того, Wear Compose Foundation 1.5.0-beta01 включает в себя следующие новые компоненты:

  • TransformingLazyColumn — ленивый, вертикально прокручиваемый список, поддерживающий анимацию масштабирования и морфинга.
  • Иерархические фокус-группы — используются для аннотирования компонуемых элементов в приложении, отслеживания активной части композиции и координации фокуса.
  • Пейджеры — компоненты HorizontalPager и VerticalPager , созданные на основе компонентов Compose Foundation с усовершенствованиями, специфичными для Wear, для повышения производительности и соответствия рекомендациям Wear OS.

Изменения API

  • Обновлен API иерархического фокуса — Modifier.hierarchicalFocus переименован в Modifier.hierarchicalFocusGroup и удален параметр обратного вызова; удалена перегрузка Modifier.hierarchicalFocusRequester с параметром FocusRequester ; создан новый CompositionLocal , LocalScreenIsActive , чтобы компоненты могли сообщать и проверять, какой экран является активным. ( I5ff7c ).
  • Устаревший SwipeToReveal из Wear Compose Foundation заменен API SwipeToReveal в Wear Compose Material и Wear Compose Material3. Чтобы продолжить использование API, замените импорт SwipeToReveal из Wear Foundation на импорт Wear Compose Material/Wear Compose Material3. ( Ia147d ).
  • Зависимости Wear Compose Material3 SwipeToReveal от Foundation были перенесены в пакет material3, например, RevealValue , RevealDirection , RevealActionType , RevealState и rememberRevealState . Разработчикам следует изменить импорт этих классов и функций с androidx.wear.compose.foundation на androidx.wear.compose.material3 . ( I640e6 ).
  • Обновлен API Wear Compose Material3 SwipeToReveal следующим образом: добавлены параметры primaryAction , onFullSwipe , secondaryAction , undoPrimaryAction , undoSecondaryAction и hasPartiallyRevealedState в составной элемент SwipeToReveal ; удалена возможность настройки positionalThreshold и animationSpec из RevealState ; удалены lastActionType , revealThreshold и width из RevealState ; изменен конструктор RevealState для принятия RevealDirection вместо якорей; удалены функции createRevealAnchors , якори и bidirectionalAnchors ; функции SwipeToRevealScope primaryAction , secondaryAction , undoPrimaryAction и undoSecondaryAction переименованы в PrimaryActionButton , SecondaryActionButton , UndoActionButton и преобразованы в составные функции; помечен RevealActionType как внутренний. ( I885d0 ).
  • Далее API SwipeToReveal обновлено следующим образом: onFullSwipe переименован в onSwipePrimaryAction ; SwipeToRevealNonAnchoredSample переименован для указания использования параметра hasPartiallyRevealedState ; удален actionButtonHeight , поскольку значение по умолчанию равно высоте кнопки по умолчанию, а большую высоту можно задать с помощью модификатора; удален SmallActionButtonHeight из SwipeToRevealDefaults ; параметр value в конструкторах RevealValue и RevealDirection сделан закрытым. ( I465ce ).

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

  • Исправлена ​​обработка EdgeButton в ScreenScaffold , так что после удаления элемента TransformingLazyColumn EdgeButton анимированно возвращается на место. ( I6d366 ).
  • Обновлены зависимости Wear Compose от библиотек Compose до версии 1.8.0. ( I2ef3f ).
  • Обновлено движение неопределенного CircularProgressIndicator , так что теперь он больше не регрессирует временно. ( Ieddb1 ).
  • Исправлена ​​ошибка SwipeDismissableNavHost — фокус не переключался правильно после смахивания назад, что приводило к сбою вращательного ввода (это было для API 36+, в котором используется предиктивный возврат). ( Ieddb1 ).
  • Измененная документация для Hierarchical Focus API ( Idf2ff ).
  • Обновлена ​​документация для Button и Card с целью описания того, как containerPainter и disabledContainerPainter переопределяют containerColor и disabledContainerColor ( I4a453 ).
  • Отменено изменение TimeText в предыдущем выпуске , которое перемещало BroadcastReceiver в рабочий поток, поскольку это вызывало проблемы для приложений, которые управляют собственными потоками во время навигации. ( I34d02 ).
  • Обновлены примеры Picker для удаления ненужных вызовов remember и использования вместо этого rememberUpdatedState в Picker для запоминания последней лямбда-функции contentDescription . ( Icb5b1 ).
  • Обновлены стили текста в TimePicker и DatePicker , чтобы изменение шрифта больше не приводило к усечению. ( I26194 ).
  • ListHeader и ListSubHeader теперь по умолчанию выравнивают текст по центру и по началу соответственно. ( I78339 ).
  • Обновлены примеры и демонстрации Foundation и Material Swipe to Reveal для анонсирования пользовательских действий по обеспечению доступности (пользовательские действия должны быть добавлены как семантика для контента, а не для самого компонуемого объекта SwipeToReveal ). ( Ie92a3 ).
  • Обновлено значение MaxLines по умолчанию для содержимого EdgeButton в соответствии с его размером — теперь 1 для очень маленького, 2 для маленького и среднего и 3 для большого. ( Ie35f6 ).
  • Упрощенный LocalReduceMotion позволяет регистрировать наблюдателя только один раз для повышения производительности. ( Ib1979 ).
  • Минимизировано количество перерисовок в ScrollIndicator для повышения производительности. ( Ia7a67 ).
  • Исправлена ​​ошибка в TransformingLazyColumn , из-за которой верхний видимый элемент в списке не масштабировался правильно, когда EdgeButton достигал своей полной высоты. ( I30580 ).

Wear Compose Material3 Версия 1.0

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

23 апреля 2025 г.

Выпущена androidx.wear.compose:compose-material3:1.0.0-alpha37 . Версия 1.0.0-alpha37 содержит следующие коммиты .

Изменения API

  • scrollTransform удалён из публичного API. Для достижения той же функциональности используйте комбинацию модификаторов transformedHeight и graphicsLayer . ( Ie181d )
  • Компонуемые элементы ImageButton и ImageCard заменены на перегрузки Button и Card/TitleCard соответственно. Переименованы imageButtonColors в buttonWithContainerPainterColors и imageCardColors в cardWithContainerPainterColors . Добавлены публичные ButtonDefaults.scrimBrush и CardDefaults.scrimBrush . Переименованы button imageBackgroundGradientStartColor и imageBackgroundGradientEndColor в scrimGradientStartColor и scrimGradientEndColor . Переименованы CardDefaults.ImageContentPadding в CardDefaults.CardWithContainerPainterContentPadding ( I7b8b6 ).
  • Picker и PickerGroup теперь принимают contentDescription как лямбда-выражение, чтобы избежать ненужных повторных компоновок. ( I002dd )

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

  • Исправлена ​​ошибка, из-за которой неопределенный CircularProgressIndicator колебался во время анимации, если ширина не равна высоте. ( I76bfe )
  • Исправлена ​​проблема с расположением кнопки на краю при недопустимом размере. Теперь предотвращает обновление расположения кнопки на краю, если высота равна NaN. ( I32b93 )
  • Увеличен максимальный угол развертки в OpenOnPhoneDialog , чтобы текст по умолчанию «Проверьте свой телефон» не обрезался при максимальном размере шрифта. ( I90af9 )

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

9 апреля 2025 г.

Выпущена androidx.wear.compose:compose-material3:1.0.0-alpha36 . Версия 1.0.0-alpha36 содержит следующие коммиты .

Изменения API

  • ButtonDefaults.imageBackgroundButtonColors заменен на ImageButton , ButtonDefaults.imageButtonColors , ButtonDefaults.containerPainter и ButtonDefaults.disabledContainerPainter . Аналогичные изменения внесены для Card. Удалены рисовальщики из ButtonColors и CardColors . ( I8c6a1 )
  • Обновлены плейсхолдеры для упрощения API. Теперь мы предоставляем два модификатора: Modifier.placeholderShimmer для применения эффекта мерцания на уровне компонента и Modifier.placeholder для применения маски поверх незагруженного содержимого ( Iaee7a ).

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

  • Интегрированная прокрутка в ScrollIndicator . ( Icfb7f )
  • Исправление проблем с пустым фоном и отсутствующими диалоговыми окнами при запуске диалоговых окон Material3. ( Ice597 )
  • Исправлены проблемы в FadingExpandingLabel , когда текст занимал несколько строк. ( I04eb7 )
  • Обновлены отступы между основными и дополнительными надписями на кнопках. ( I99b7b )
  • ArcLarge уменьшен с 20sp до 18sp , а межбуквенные интервалы в ArcLarge и ArcSmall обновлены. ConfirmationDialog и OpenOnPhoneDialog теперь используют значение ArcLarge по умолчанию, а не переопределяют его на 18sp ( Id39a8 )

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

  • Эта библиотека теперь ориентирована на уровень языка Kotlin 2.0 и требует KGP 2.0.0 или более поздней версии. ( Idb6b5 )

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

26 марта 2025 г.

Выпущена androidx.wear.compose:compose-material3:1.0.0-alpha35 . Версия 1.0.0-alpha35 содержит следующие коммиты .

Изменения API

  • Верхний отступ AlertDialog теперь по умолчанию уменьшен при наличии значка — это позволяет максимально эффективно использовать доступный размер экрана. ( Ief06c )
  • PagerScaffoldDefaults.FadeOutAnimation переименован в PagerScaffoldDefaults.FadeOutAnimationSpec . Параметр страницы в AnimatedPage переименован в pageIndex . ( I701f2 )
  • Обновлено наименование SurfaceTransformation для TransformingLazyColumn : applyTransformation разделён на applyContainerTransformation и applyContentTransformation , а createBackgroundPainter переименован в createContainerPainter . Внесены дальнейшие изменения в наименования TransformationSpec и ResponsiveTransformationSpec . ( I1c534 )
  • AppScaffold backgroundColor был переименован в containerColor . ( I4e63f )

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

  • Исправлена ​​проблема в FadingExpandingLabel , из-за которой текст не всегда расширялся правильно. ( I0e773 )
  • ArcLarge уменьшен с 20 до 18 сп, а межбуквенные интервалы в ArcLarge и ArcSmall обновлены. ConfirmationDialog/OpenOnPhoneDialog теперь используют ArcLarge по умолчанию, а не переопределяют его до 18 сп. ( Id39a8 )
  • Обновлена ​​анимация заголовков для DatePicker и TimePicker , так что анимация затухания и появления действует как одна анимация Spring. ( I68963 )
  • Оптимизирован PagerScaffold путем избежания чтения currentPageOffsetFraction в компонуемом объекте AnimatedPage . ( I433ef )
  • Все шкалы шрифтов обновлены и теперь по умолчанию используют пропорциональные цифры, поскольку это наиболее распространённый вариант использования, а табличные значения по умолчанию приводят к слишком большим интервалам между некоторыми парами цифр. TimePicker и DatePicker продолжают применять FontFeatureSetting=tnum для табличных цифр. ( I88929 )
  • Исправлен начальный фокус ввода RSB для TimePicker и DatePicker . ( I1c773 )
  • Текст по умолчанию в OpenOnPhoneDialog обновлён на «Проверьте свой телефон». ( I00a3f )
  • Обновлены значения веса для ArcLarge и ArcMedium с 600 до 599, чтобы обойти проблему, из-за которой значение веса 600 воспринималось как полужирное ( I2a51d ).
  • Обновите отступы SwipeToReveal между содержимым и кнопками действий, а также отступы между значком и текстом кнопок действий. ( Ic46cb )

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

12 марта 2025 г.

Выпущена androidx.wear.compose:compose-material3:1.0.0-alpha34 . Версия 1.0.0-alpha34 содержит следующие коммиты .

Изменения API

  • PagerScaffold больше не создаёт компонент Pager — вместо этого он должен быть предоставлен через content Composable. AnimatedPage и snapWithSpringFlingBehaviour теперь общедоступны и могут использоваться вместе с Wear Foundation Pager для достижения предыдущего поведения M3 PagerScaffold . (См. обновлённые примеры). ( Ia4724 )
  • Обновлён PagerState , удалён Compose Foundation PagerState как базовый класс и добавлены свойства currentPage , currentPageOffsetFraction и pageCount . Обновлён интерфейс GestureInclusion , метод переименован в ignoreGestureStart . ( I4ae07 )
  • Параметры угла развертки LevelIndicator теперь аннотируются с помощью FloatRange(0, 360) ( I7e636 )
  • Мы добавили CurvedModifier.clearAndSetSemantics , чтобы предоставить возможность отключения семантики изогнутых элементов. CurvedText по-прежнему использует текст в качестве описания содержимого по умолчанию, но timeTextCurvedText и timeTextSeparator теперь не объявляют своё содержимое. ( I4b568 )
  • Добавлены параметры фона и цвета содержимого по умолчанию в AppScaffold . ( I56652 )
  • Обработка жестов смахивания по умолчанию в HorizontalPager переименована в PagerDefaults.gestureInclusion . Теперь по умолчанию игнорируются только те жесты смахивания, которые начинаются с левого края первой страницы, и только при отключенной функции Talkback. В остальных случаях по умолчанию жесты смахивания не игнорируются пейджером, поэтому они недоступны обработчикам смахивания для закрытия. ( Iee486 )
  • Добавлен параметр SurfaceTransformation к компонентам кнопки, карточки и заголовка списка, чтобы они могли применять различные преобразования фона и содержимого при использовании в контейнерах, которые изменяют внешний вид элементов в зависимости от их положения, например, TransformingLazyColumn . ( Iabe3f )
  • Мы обновили свойства «public const val» в нашем API Wear Compose Material3 до «public val», чтобы избежать встраивания значений. ( Ib0f32 )
  • Добавлена ​​поддержка зоны смахивания от края в SwipeToReveal . Поведение по умолчанию для Foundation SwipeToReveal теперь запрещает смахивание, если жест начинается от края. Поведение по умолчанию для Material3 SwipeToReveal' теперь запрещает смахивание, если жест начинается от края, если SwipeDirection задано как однонаправленное. ( I32ef0 )
  • Добавлен компонуемый элемент FadingExpandingLabel , позволяющий постепенно проявлять текст с анимацией строка за строкой. ( Ic60fa )
  • TransformingLazyColumn теперь по умолчанию использует пустой contentPadding вместо размещения первого и последнего элементов в центре. ( I77ab7 )
  • Удален rememberRevealState SwipeToReveal из библиотеки Wear Compose Material3. ( I8c0e0 )

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

  • Библиотеки Wear Compose обновлены до компилятора Kotlin 2.0. ( I2de79 )
  • Поддержка некруглых ScrollIndicator и PageIndicator удалена из Material3. Поддержка квадратных экранов также больше не является частью требований Wear OS. Подробнее см. в руководстве по началу работы . ( I9a852 )
  • Стиль CurvedTextStyle , используемый в ConfirmationDialogDefaults и OpenOnPhoneDialogDefaults , был обновлен для использования типографики ArcLarge с размером 18sp и межбуквенным интервалом 1.8sp . ( Ic9ced )
  • Элементы управления Card , ListHeader , RadioButton , CheckboxButton и SwitchButton больше не ограничивают высоту своего содержимого по умолчанию. При необходимости используйте Modifier.height(IntrinsicSize.Min) для восстановления прежнего поведения. ( I80bb8 )
  • Мы обновили цвета TimeText и ScrollIndicator по умолчанию, включив в них больше серых тонов, поскольку использование OnBackground (белого цвета) имело слишком большой визуальный вес при сравнении с другим содержимым на экране, например заголовками. ( I8b36f )
  • Мы сократили время ожидания анимации TimeText и ScrollIndicator в компонентах scaffold до 2 секунд. ( I52021 )
  • Мы обновили движение диалогового окна, чтобы масштаб фона диалогового окна синхронизировался с движением пальца для его закрытия. ( I925a9 )
  • Добавьте демо M3 SwipeToReveal с использованием модификатора edgeSwipeToDismiss . ( I02b07 )
  • Мы добавили заголовок к DatePicker и TimePicker в TalkBack, чтобы у пользователя была возможность прокрутить страницу для установки даты/времени. ( Id738d )
  • AnimatedText теперь следует настройке уменьшения движения. ( Ib6578 )
  • Улучшена оптимизация использования AppScaffold для отображения содержимого диалоговых окон, что позволяет отображать несколько диалоговых окон друг над другом ( I1209c ).

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

26 февраля 2025 г.

Выпущена androidx.wear.compose:compose-material3:1.0.0-alpha33 . Версия 1.0.0-alpha33 содержит следующие коммиты .

Изменения API

  • Мы удалили параметр label из primaryAction и secondaryAction компонента SwipeToRevealScope . Пользовательскую семантику действий следует добавлять непосредственно в содержимое компонента SwipeToReveal разработчиком. ( Ia67f3 )
  • Мы удалили префиксы «Button» из размеров, стилей текста и функций цвета в IconToggleButtonDefaults и TextToggleButtonDefaults ( I5471d ).
  • Мы удалили экспериментальный LocalMinimumInteractiveComponentEnforcement ( I4ad8a ).
  • Мы заменили DSL PickerGroupScope на компонуемый. В связи с этим мы удалили метод pickerGroupItem из PickerGroupScope и вместо него добавили @Composable PickerGroupItem , который следует использовать для добавления Picker в PickerGroup . Мы также обновили тип параметра 'content' PickerGroup на @Composable PickerGroupScope.() -> Unit . ( Ic6aec )
  • Мы добавили перегрузку LevelIndicator для дробных значений и добавили префикс Stepper к тем перегрузкам, которые включают параметр диапазона (которые подходят для использования с компонентом Stepper). ( If4234 )
  • Мы добавили TransformationSpec TransformingLazyColumn в API, что позволяет определять точные преобразования, происходящие с элементами при их прокрутке через TLC. ( I21856 )
  • Мы обновили IconButtonShapes , IconToggleButtonShapes , TextButtonShapes и TextToggleButtonShapes для соответствия классам compose/material3 ( I5a081 ).
  • Мы добавили параметр overscrollEffect в ScalingLazyColumn , TransformingLazyColumn и ScreenScaffold . ( I0cee8 )
  • Мы переименовали параметр swipeDirection в revealDirection в rememberRevealState . ( I7472f )
  • Wear Pager теперь имеет собственный PagerScope вместо использования Compose PagerScope . ( I9195b )
  • Мы удалили компонуемый LinearProgressIndicatorContent , используйте LinearProgressIndicator напрямую, чтобы изменения значений анимировались по умолчанию. ( I2c4ad )
  • Мы удалили составной элемент CircularProgressIndicatorStatic и добавили общедоступную функцию DrawScope drawCircularProgressIndicator с той же функциональностью. Пожалуйста, используйте CircularProgressIndicator напрямую, чтобы изменения анимировались по умолчанию, но создайте свой собственный составной объект из drawCircularProgressIndicator , если необходимы пользовательские анимации. ( Ie762f )
  • Мы изменили порядок параметров в DrawScope.drawCircularProgressIndicator , чтобы переместить параметр targetProgress вверх. ( I8ab92 )
  • API OpenOnPhoneDialog был обновлен для большей ясности и согласованности с другими диалоговыми окнами. Параметр show был переименован в visible , и теперь вызывающая сторона предоставляет curvedText вместо значения по умолчанию. ( Idec2d )
  • Мы переименовали openOnPhoneCurvedText в openOnPhoneDialogCurvedText ( I65bdd ).
  • Мы добавили ScrollIndicatorColors для предоставления пользовательских цветов в ScrollIndicator . ( I9eb8c )
  • Разрешите настройку цвета, используемого для рисования фона позади TimeText . ( I9f5d9 )
  • Обновлены типографики ArcLarge , ArcMedium и ArcSmall , теперь они стали CurvedTextStyle ( Iffc41 ).
  • Мы удалили ScreenScaffoldDefaults.contentPaddingWithEdgeButton . ( Ia923e )
  • Мы добавили errorDim в ColorScheme для ошибок с высоким приоритетом или экстренных действий, таких как предупреждения безопасности, неудачные наложения диалогов или кнопки остановки. ( I70998 )

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

  • Мы закрепили wear.compose.material3 до версии 1.15.0 androidx.core.core ( I132e9 ).
  • Мы улучшили производительность Dialog, используя AppScaffold для наложения диалогов на другое содержимое экрана ( I1b9a4 ).
  • Уменьшено внутреннее вертикальное заполнение EdgeButton . ( I1a5bb )
  • Мы добавили семантику кнопок к кнопкам слайдера. ( I80cc6 )

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

29 января 2025 г.

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

Изменения API

  • В CurvedTextStyle мы разделили интервал между буквами на интервал между буквами по часовой стрелке и интервал между буквами против часовой стрелки. Это необходимо, поскольку буквы по часовой стрелке расходятся от базовой линии, а буквы против часовой стрелки — внутрь (поэтому требуется больший интервал между буквами) ( I4b848 ).
  • Мы обновили IconButtonShapes , IconToggleButtonShapes , TextButtonShapes и TextToggleButtonShapes , чтобы улучшить согласованность между библиотеками Material3. Это изменение также вводит кэширование форм для уменьшения количества выделений. ( I049FC )
  • Мы удалили параметр pressedShapeCornerSizeFraction из variantAnimatedShape в IconToggleButton и TextToggleButton ( I58a65 ).
  • Мы вносим улучшения в рендеринг изогнутого текста (включая TimeText ), несовместимые с некруглыми экранами. Поддержка некруглого экрана также больше не входит в требования Wear OS; дополнительную информацию см. в руководстве по началу работы . ( I1cc1c )
  • Мы обновили ButtonGroupScope для ButtonGroup , заменив ButtonGroupItem на основе DSL на Modifier.weight , Modifier.minWidth и Modifier.enlargeOnPress . ( I16c3c )
  • В API ButtonGroup мы обновили новый ButtonGroupScope на основе модификатора: enlargeOnPress теперь называется animateWidth и принимает InteractionSource , а не MutableInteractionSource , поскольку нет необходимости его изменять. Мы также добавили общедоступную константу ButtonGroupDefaults.DefaultMinWidth , минимальную ширину кнопок по умолчанию в ButtonGroup . ( Ie27ec )
  • Мы обновили ListHeaderDefaults.contentColor , чтобы он начинался со строчной буквы, поскольку это составное свойство ( I125a5 ).
  • Мы добавили параметр описания контента в SliderDefaults.DecreaseIcon и SliderDefaults.IncreaseIcon с подходящими значениями по умолчанию ( I2e1a7 ).
  • Мы переименовали параметр spacing в Picker и PickerGroup verticalSpacing ( Ib75cc ).
  • Мы удалили ConfirmationDialogDefaults.successText и failureText , так как ожидается, что вызывающие ConfirmationDialog будут предоставлять строки с большим количеством контекста. Также confirmationCurvedText переименовано в confirmationDialogCurvedText . Наконец, параметр show диалогов» переименован в видимый для обеспечения согласованности с другими недавними обновлениями диалогов. ( I10074 )
  • IconButton переименовал disabledImageOpacity в DisabledImageOpacity . ( I5f94a )

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

  • Мы исправили ошибку в анимации EdgeButton , чтобы в каждом кадре использовался правильный размер ( Id3b58 ).
  • Исправлена проблема, из-за которой animateContentSize не работал с Button . ( Ib18a0 )
  • Мы изменили масштаб шрифта Title Large, чтобы размер шрифта был 18dp ( Ic9d52 ).
  • Мы обновили расстояние и размер значков AlertDialog ( Iac28c ).
  • Мы исправили несоответствия в точках останова на большом экране (экраны с разрешением 225 dp и выше являются большими экранами) ( I36474 ).
  • Исправлена ​​небольшая ошибка в позиционировании кнопок ( I952c2 ).

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

15 января 2025 г.

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

Изменения API

  • Мы обновили все библиотеки Wear Compose до режима «явного API». ( Iebf9f )
  • Мы обновили API ScreenScaffold и EdgeButton , чтобы упростить указание полей содержимого на экранах, содержащих EdgeButton . В новом API size EdgeButton передается только EdgeButton , а ScreenScaffold принимает параметр edgeButtonSpacing для расстояния между EdgeButton и содержимым списка. ( I424fd )
  • В DatePicker мы переименовали параметры minDate в maxDate и minValidDate в maxValidDate . В DatePickerColors мы переименовали параметр selectedPickerContentColor в activePickerContentColor , а параметр unselectedPickerContentColor в inactivePickerContentColor ( Iba17b ).
  • Мы обновили значения по умолчанию ArcProgressIndicator , установив strokeWidth=6dp и рекомендуемый diameter = 81.24% высоты экрана ( I6f248 ).
  • Мы обновили API подтверждения, чтобы отразить его использование в качестве диалогового окна. Компонуемый элемент теперь называется ConfirmationDialog с соответствующими обновлениями именования цветов и классов по умолчанию. Мы также переименовали параметр show в visible для совместимости с другими API-интерфейсами Compose анимации. Кроме того, мы сделали ConfirmationDialogContent , SuccessConfirmationDialogContent , FailureConfirmationDialogContent доступными для ситуаций, когда разработчикам необходимо настроить анимацию вступительного и завершающего диалога. ( Яеб33 )
  • Мы обновили CircularProgressIndicatorContent до CircularProgressIndicatorStatic (неанимированный вариант CircularProgressIndicator ), чтобы его теперь можно было использовать для создания CircularProgressIndicator с настраиваемой анимацией. ( I1346f )
  • Мы исправили порядок параметров в ArcProgressIndicator , поместив сначала параметр-модификатор ( I4656a ).
  • Улучшен API SwipeToReveal , позволяющий получать параметр текстового слота для меток действий (кроме вторичного действия) и удалять параметры меток из действия отмены ( I5b3db ).

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

  • Мы исправили ошибку, из-за которой тактильные ощущения LongPress срабатывали более одного раза в Button , Card , IconButton , TextButton ( Ia8b0f ).
  • Изменения в пользовательском интерфейсе AlertDialog — на больших экранах кнопки подтверждения и закрытия стали меньше. Также увеличено пространство под кнопками подтверждения и отклонения. ( I4f066 )
  • Мы изменили характеристики анимации метки кнопки действия компонента SwipeToReveal . ( Ib87fb )
  • Изменен SwipeToReveal , чтобы контейнер разворачивался одновременно с отображением текста. ( I44cf8 )
  • Улучшен SwipeToReveal для тактильной обратной связи, когда смахивание достигает порога, при котором совершается основное действие. ( I23efe )
  • Мы обновили SwipeToReveal , чтобы по умолчанию отображать многоточие при переполнении текста для основных действий и действий отмены. ( I71f5a )
  • Мы исправили проблему, вызывающую дрожание анимации ButtonGroup . ( I63f8f )
  • Мы добавили текстовую семантику в AnimatedText ( I6063c ).
  • Диалог теперь сбрасывает масштабирование фона, когда диалог удаляется из композиции (без этого исправления стартовый экран мог остаться в уменьшенном состоянии) ( Id24ac ).
  • Мы добавили анимацию морфинга формы к кнопкам в компоненте Stepper ( Id6ed3 ).

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

11 декабря 2024 г.

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

Изменения API

  • Модификатор scrollTransform для TransformingLazyColumn был реорганизован, что привело к изменению API. ( I0c6dc )
  • Мы обновили IconToggleButtonShapes и TextToggleButtonShapes , чтобы иметь два разных параметра фигуры: uncheckedPressed checkedPressed ( I85dbd ).
  • Недопустимые параметры месяца/дня теперь отображаются в DatePicker с новым invalidPickerContentColor при использовании minDate или maxDate . ( Если4541 )
  • Мы обновили API Stepper , чтобы предоставить слоты increaseIcon и decreaseIcon — содержимое для них может быть создано, как обычно, из компонуемого значка. ( Id35da )
  • Мы обновили dynamicColorScheme , удалив необязательный параметр defaultColorScheme и теперь возвращая ColorScheme допускающий значение NULL. Это означает, что вызывающая сторона должна явно обрабатывать резервный случай, когда динамическая цветовая схема не предоставляется. ( I6d62e )
  • Мы обновили размеры значков в ButtonDefaults для использования с CompactButton . CompactButton , содержащий только значок, должен использовать ButtonDefaults.SmallIconSize = 24.dp , тогда как CompactButton , содержащий и значок, и текст, должен использовать ButtonDefaults.ExtraSmallIconSize = 20.dp Рекомендуется, чтобы CompactButton переносил свое содержимое (вместо заполнения максимальной ширины), и примеры были обновлены, чтобы показать это. ( I0582c )
  • Мы добавили EdgeButtonDefaults с рекомендуемыми размерами значков для 4 различных EdgeButtonSizes . Кроме того, обновлен макет EdgeButton , теперь его нижнее отступы немного больше, чем верхние, что улучшает внешний вид как значков, так и текстового содержимого. ( Ид772а )
  • Мы добавили движение в LinearProgressIndicator и предоставили LinearProgressIndicatorContent , который предоставляет визуальный контент без анимации. ( Идея99 )
  • Мы добавили новый составной элемент CircularProgressIndicatorContent для отображения визуального содержимого CircularProgressIndicator без анимации. ( Ie33d4 )
  • TransformingLazyColumn недавно предоставляет локальную композицию LocalTransformingLazyColumnItemScope , которую Card , Button и ListHeader теперь используют для автоматического преобразования при размещении внутри TransformingLazyColumn . Вызывающие абоненты могут отключить автоматическое морфирование с помощью новой оболочки TransformExclusion . ( I1652f )
  • Мы обновили тип ButtonDefaults.shape на RoundedCornerShape ( Iccdf2 ).

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

  • Мы исправили ошибку, связанную с учетом существующей альфа-версии в фоновом режиме для TimeText ( I1eb60 ).
  • В нашей типографике мы по умолчанию установили для TextMotion значение Animated , чтобы избежать дрожания текста из-за привязки глифов букв к границам пикселей во время операций масштабирования. ( I626fa )
  • Мы обновили внешний вид ScrollIndicator , увеличив ширину и размер промежутка, чтобы улучшить видимость. ( Ied7cb )
  • Мы исправили ошибку в Modifier.scrollTransform при добавлении/удалении/перемещении элементов. ( I6830f )
  • Исправлена проблема с анимацией круглых кнопок при коротких нажатиях (ранее не всегда соблюдалась минимальная продолжительность анимации). ( I757a7 )
  • Мы обновили угол развертки LevelIndicator до 20% (т.е. 72 градуса). ( Idde5c )
  • Мы исправили положение ScrollIndicator , когда ScalingLazyColumn использовался с AutoCenteringParams . ( I387dd )
  • Мы обновили цвета и оформление ListHeader и ListSubHeader . Также цвета элементов управления переключателями на CheckboxButton и SwitchButton . ( I39817 )
  • Мы исправили позиционирование ScrollIndicator в LazyColumn и ScalingLazyColumn с помощью ContentPadding . ( I2bc51 )
  • Мы исправили ошибку, возникающую в анимации прогресса OpenOnPhoneDialog , используя новый CircularProgressIndicatorContent . ( I3e443 )
  • Мы обновили HorizontalPagerScaffold и VerticalPagerScaffold , чтобы отключить анимацию при включении уменьшения движения ( Iaaf68 ).
  • Мы реализовали отдельную анимацию для круговых индикаторов прогресса, когда прогресс превышает 100%. ( I47135 )
  • Мы исправили ошибку, из-за которой EdgeButton мог отображаться неправильной формы в компонентах Pager ( I91db9 ).

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

13 ноября 2024 г.

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

Изменения API

  • Мы обновили TimeText , чтобы предоставить содержимое по умолчанию, показывающее время. ( Id23b3 )
  • Мы упростили ScrollInfoProvider для PagerState , удалив параметр orientation , который больше не нужен. Новое поведение заключается в том, что TimeText остается на месте как для горизонтального, так и для вертикального листания. ( I71767 )
  • LocalHapticFeedback теперь предоставляет реализацию HapticFeedback по умолчанию, когда API-интерфейс Vibrator указывает, что тактильные ощущения поддерживаются. В HapticFeedbackType были добавлены следующие параметры: Confirm , ContextClick , GestureEnd , GestureThresholdActivate , Reject , SegmentFrequentTick , SegmentTick , ToggleOn , ToggleOff , VirtualKey . Компоненты Wear Compose, активируемые при длительном нажатии, такие как Button , IconButton , TextButton и Card теперь выполняют тактильный эффект LONG_PRESS когда предоставлен обработчик длительного щелчка. ( I5083d )

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

  • Мы обновили предложение о подтверждениях. ( I04bff )
  • Мы обновили минимальную зависимость API до 1.7.4 для библиотек Compose. ( I88b46 )
  • Для диалога OpenOnPhone было добавлено новое движение. ( I1e10a )
  • Мы исправили ошибку в LevelIndicator , и теперь он корректно отображается с нулевым уровнем. ( Ie95a4 )
  • Мы обновили анимации HorizontalPageIndicator и VerticalPageIndicator . ( I5c8f3 )
  • Мы добавили анимацию сжатия в точку к неопределенному ArcProgressIndicator . ( I9fd51 )

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

30 октября 2024 г.

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

Изменения API

  • Мы добавили вариант дуги неопределенного кругового индикатора прогресса ( I2efc1 ).
  • Мы опубликовали составные элементы AlertDialogContent и Dialog , составляющие API AlertDialog , чтобы при необходимости можно было добавить настройку (например, настройку анимации AlertDialog , сохраняя при этом рекомендуемый макет содержимого). Кроме того, мы добавили параметры Modifier и Color к членам EdgeButton , ConfirmButton и DismissButton из AlertDialogDefaults . ( I4eb71 )
  • Мы обновили API-интерфейс Placeholder следующим образом: переименовали PlaceholderState.startPlaceholderAnimation в PlaceholderState.animatePlaceholder , PlaceholderState.isShowContent в PlaceholderState.isHidden и PlaceholderDefaults.shape в PlaceholderDefaults.Shape ; переименовал параметр painter в painterWithPlaceholderOverlayBackgroundBrush в originalPainter ; изменил видимость PlaceholderState.placeholderProgression с публичного на внутренний и переименовал его в placeholderShimmerProgression ; добавлены константы продолжительности анимации заполнителя в PlaceholderDefaults . ( Ie5a59 )
  • Мы обновили API EdgeButton следующим образом: переименовали параметр в ScreenScaffold с bottomButton на edgeButton ; сделал EdgeButtonSize классом значений. ( Ииф15 )
  • Мы изменили видимость copy() на public в классах Wear Material3 Colors ( I0287f ).

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

  • Добавлена ​​минимальная продолжительность анимации для IconToggleButton и TextToggleButton при нажатии ( Ieb333 ).
  • Добавлена ​​минимальная продолжительность анимации фигур IconButton и TextButton ( Iebcee ).
  • Исправлено состояние опции повтора DatePicker . ( I3587c )
  • Добавлено движение для диалогов оповещения и подтверждения. ( I173b1 )

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

16 октября 2024 г.

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

Изменения API

  • Мы обновили ScreenScaffold и ScrollIndicator после переименования Wear Compose Foundation LazyColumn в TransformingLazyColumn . ( I0608b )
  • Параметр preferredHeight EdgeButton был переименован в buttonSize , и его значение можно выбрать только из четырех констант в недавно представленном классе значений EdgeButtonSize . ( Icdd70 )
  • Мы изменили название ListSubheader на ListSubHeader и добавили общедоступные значения по умолчанию для ListHeader и ListSubHeader . ( I96730 )
  • Мы добавили новые компоненты HorizontalPagerScaffold и VerticalPagerScaffold для Wear, которые обеспечивают новую анимацию и координацию между текстом времени и компонентами индикатора страницы. ( Iff7d0 )
  • Мы добавили поддержку поворота в HorizontalPagerScaffold и VerticalPagerScaffold , что позволяет пользователям перемещаться по пейджерам с помощью поворотных устройств ввода. ( I9770d )
  • Мы внесли изменения в API MotionScheme , чтобы упростить использование и повысить согласованность. Удалены встроенные функции запоминания и перемещены встроенные схемы движения в специальный сопутствующий объект MotionScheme. standardMotionScheme и expressiveMotionScheme схемы движения переименованы в стандартные и выразительные. ( I5fd45 )
  • Мы добавили поддержку динамической цветовой схемы на основе системных цветов. ( I073e9 )
  • Мы обновили Stepper до последних спецификаций UX. ( I622bb )

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

  • Мы обновили типографику и отступы для компонентов карты. ( I3ae48 )
  • Мы изменили отступы в AlertDialog между кнопками «Подтвердить/Отклонить» и остальным содержимым с 8dp на 12dp в соответствии со спецификациями UX ( Ie55f0 ).
  • Мы обновили непрозрачность цвета для компонента «Ползунок». ( Идб383 )

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

2 октября 2024 г.

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

Изменения API

  • Мы обновили API и внешний вид HorizontalPageIndicator и добавили VerticalPageIndicator для использования с VerticalPager ( Ic9309 ).
  • AlertDialog теперь поддерживает возможность исключить нижнюю кнопку по умолчанию из варианта стека кнопок для пользовательских макетов, в которых EdgeButton не требуется. ( I34fa9 )
  • Мы добавили компонент SwipeToReveal для Wear Material 3 ( Ic38b2 ).
  • Мы добавили поддержку двунаправленного пролистывания в SwipeToReveal для редких случаев, когда текущий экран не поддерживает пролистывание для закрытия. По умолчанию по-прежнему используется смахивание для открытия только при пролистывании справа налево, и настоятельно рекомендуется соблюдать поведение по умолчанию, чтобы избежать конфликта с пролистыванием для закрытия. ( Ифак04 )
  • Мы переименовали параметр buttonHeight EdgeButton в preferredHeight . ( I4fab3 )
  • Версия Kotlin обновлена ​​до 1.9 ( I1a14c ).
  • Мы переименовали OpenOnPhoneDialogDefaults.Icon в OpenOnPhoneDialogDefaults.OpenOnPhoneIcon , чтобы избежать конфликта с Icon ( I0f391 ).
  • Мы добавили поддержку ScrollIndicator в LazyColumn . ( Я546а )
  • Мы обновили значения по умолчанию для TextToggleButton и IconToggleButton . ( I7aaa9 )
  • Мы упростили API Picker и PickerGroup . ( Ид0653 )
  • Мы добавили CardDefaults.Shape и CardDefaults.Height , которые (будучи токенами) в противном случае были частными для разработчиков, использующих библиотеку. ( I1594a , б/347649765 )
  • Мы переименовали параметр прогресса для двоичного сегментированного кругового индикатора прогресса в segmentValue . ( Ib72d9 )
  • Мы обновили цвета и макет слайдера. ( Ic3eec )

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

  • Мы обновили анимацию значка openOnPhone ( I66f85 ).
  • Теперь мы используем значки символов Google в Slider , TimePicker и DatePicker . ( I46c7c )
  • Мы обновили отступы в Confirmation и OpenOnPhoneDialog . ( Iaa82e )

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

18 сентября 2024 г.

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

Изменения API

  • Мы добавили индикатор неопределенного кругового прогресса. ( I427a7 )
  • Мы добавили поддержку переполнения прогресса (прогресс>100%) как для CircularProgressIndicator , так и для SegmentedCircularProgressIndicator . Когда прогресс превысит 1,0, это будет обозначено новым цветом overflowTrack . ( Иааа3d )
  • Круглые IconToggleButton и TextToggleButton теперь поддерживают новый вариант анимации фигур, в котором разные фигуры представляют отмеченное, неотмеченное и нажатое состояния. Предыдущий вариант анимированной формы для только что нажатого состояния продолжает поддерживаться. ( I29f03 )
  • Мы удалили поддержку использования EdgeButton с Column из-за необходимости явно указывать высоту EdgeButton в ScreenScaffold . ( Ie353d )
  • Мы добавили поддержку Wear Compose LazyColumn с помощью нашего ScreenScaffold (и добавили реализацию ScrollInfoProvider для LazyColumnState ). ( Ib8d29 )
  • Мы объединили LocalTextMaxLines , LocalTextAlign , LocalTextOverflow в единую локальную композицию LocalTextConfiguration , чтобы обеспечить более масштабируемое решение в будущем. ( I5edbc )
  • Мы добавили большую дугу в качестве дополнительной шкалы шрифта, зарезервированной для коротких текстовых строк заголовков в самом верху или внизу экрана, как в наложениях подтверждения. ( I60e3e )
  • Мы добавили в Button параметры по умолчанию для рекомендуемых больших и очень больших размеров значков и заполнения содержимого. ( I84675 )

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

  • Мы обновили цвета IconButton и TextButton . ( I48324 )
  • Мы изменили базовые перегрузки Button, чтобы они были выровнены по центру по вертикали для согласованности с другими перегрузками. Чтобы восстановить предыдущее поведение, используйте Modifier.align из RowScope . ( I66e57 )

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

4 сентября 2024 г.

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

Изменения API

  • Мы добавили схему движения в тему Material3. Это будет использоваться компонентами библиотеки для применения характеристик анимации, таких как пружины для выразительного движения. ( I54ff3 )
  • Мы добавили компоненты AppScaffold и ScreenScaffold в библиотеку Material3, которые включают в себя функциональные возможности для координации слоев и переходов TimeText и ScrollIndicator . AppScaffold предоставляет верхний уровень компонентов scaffold, которые располагаются поверх всех экранов. Таким образом, добавление TimeText в AppScaffold позволяет ему оставаться на месте при перелистывании между экранами. Экраны сами могут переопределять или скрывать текст времени. ScreenScaffold предоставляет слот для ScrollIndicator и автоматически анимирует индикатор прокрутки при прокрутке, включая время ожидания, чтобы скрыть индикатор прокрутки после бездействия. ( I047d6 )
  • Мы добавили ScrollIndicator с новым дизайном Material3. Он имеет фиксированный размер большого пальца, основанный на исходном содержимом списка, чтобы избежать изменений размера при отложенной загрузке содержимого в список. ( Ic228d )
  • Мы изменили API ScrollAway таким образом, что ScreenStage является классом значения, а не классом перечисления, чтобы можно было добавлять дополнительные этапы по мере необходимости в дальнейшем. ( I48c93 )
  • Мы добавили EdgeButton — специальную кнопку, специфичную для Wear, форма которой повторяет кривизну нижней части экрана ( I16369 ).
  • Мы добавили в ScreenScaffold новый слот для нижней кнопки (например, EdgeButton ), которая будет отображаться и изменять размер в зависимости от прокручиваемого содержимого ( I032eb ).
  • Мы добавили Modifier.scrollTransform и Modifier.targetMorphingHeight , чтобы добавить эффекты движения Material3 к элементам в LazyColumn . ( Ie229a )
  • Мы добавили SegmentedCircularProgressIndicator как вариант CircularProgressIndicator . Сегментированный вариант либо показывает одно значение прогресса для всех сегментов, либо показывает, что каждый сегмент включен или выключен. ( I6e059 )
  • Мы добавили LinearProgressIndicator в качестве альтернативы существующему CircularProgressIndicator . ( I89182 )
  • Мы добавили AlertDialog , предоставляющий макеты для отображения важных подсказок пользователю. Варианты включены либо для пары кнопок подтверждения/отключения, либо для одной нижней кнопки (обычно EdgeButton) под стопкой опций. В обоих вариантах есть слоты для значка, заголовка и дополнительного текста для предоставления дополнительной информации. ( Ieb873 )
  • Мы добавили OpenOnPhoneDialog , который следует использовать для указания действия, которое будет продолжено на телефоне пользователя. OpenOnPhoneDialog закрывается по истечении указанного времени ожидания. ( I978fd )
  • Мы добавили Confirmation , компонент диалогового окна, в котором есть слоты для значков и изогнутого или линейного текста. Для сообщений об успехе/неуспехе предусмотрены конкретные варианты. Подтверждения автоматически отклоняются по истечении времени ожидания. ( Ib43e8 )
  • Мы добавили фон в TimeText , чтобы устранить проблемы, при которых базовый контент и TimeText перекрывались и скрывали время. ( Ia11fd )
  • Мы добавили LevelIndicator , который показывает значение такого параметра, как громкость, и может использоваться с существующим компонентом Stepper для создания экрана громкости. LevelIndicator похож на ScrollIndicator , но отображается на противоположной стороне экрана и по умолчанию имеет более широкую ширину штриха и другой цвет индикатора. ( I8a4ac )
  • Мы добавили TimePicker с макетами для 24-часового времени (с секундами или без них) или 12-часового времени с выбором до/после полудня. ( Я5124 )
  • Мы добавили DatePicker с настройкой порядка столбцов (т. е. день-месяц-год, месяц-день-год или год-месяц-день) и дополнительными минимальными/максимальными датами. ( Ibf13b )
  • Мы добавили параметр веса в text функцию TimeText . В тех случаях, когда TimeText состоит из более чем одного текстового элемента, это позволяет контролировать распределение пространства. ( I36700 )
  • Мы добавили RadioButton и SplitRadioButton — эти компоненты упрощают предыдущий API, объединяя как (Split) SelectableButton , так и дочерний радиоуправление ( If7ae8 ).
  • Мы добавили CheckboxButton и SplitCheckboxButton — эти компоненты упрощают предыдущий API, объединяя как (Split) ToggleButton , так и дочерний элемент управления Checkbox ( Ia8f70 ).
  • Мы добавили SwitchButton и SplitSwitchButton — эти компоненты упрощают предыдущий API, объединяя как (Split)ToggleButton , так и дочерний элемент управления Switch ( I0d349 ).
  • Мы обновили документацию AnimatedText , чтобы объяснить поведение выхода за пределы. ( Iff30a )
  • Мы добавили ButtonGroup для объединения 2 или 3 кнопок, чтобы нажатие кнопок создавало скоординированную анимацию. ( Ie27db )
  • Мы добавили дополнительную анимацию формы для IconButton и TextButton при нажатии. ( Иффка5 )
  • Мы добавили дополнительный вариант цвета FilledVariant для Button , IconButton , TextButton , CompactButton и EdgeButton ( I65fc3 ).
  • Мы добавили параметр forcedSize в ImageWithScrimPainter , так что фон изображения кнопки теперь сохраняет размер своего компонента по умолчанию. Установка forcedSize = null вместо этого принимает Painter.instrinsicSize . ( Ic57af )
  • Мы добавили долгое нажатие в кнопки ( Ib613d ).
  • Поддержка длительного нажатия также была добавлена в IconButton и TextButton . ( I38891 )
  • В «Карточки» добавлена поддержка длительного нажатия. ( I305d5 )
  • Мы добавили LocalTextMaxLines , LocalTextAlign , LocalTextOverflow в качестве CompositionLocals и использовали их в качестве параметров по умолчанию для Text . Локальные параметры композиции теперь могут использоваться такими компонентами, как CheckboxButton , SwitchButton , RadioButton для реализации рекомендаций UX, но при необходимости параметры могут быть переопределены разработчиками. ( Iab841 )
  • Мы добавили Placeholder , который помогает маскировать содержимое таких компонентов, как кнопки и карточки, до загрузки данных. ( I1a532 )
  • Мы добавили IconToggleButtonColors и TextToggleButtonColors вместо удаленных ToggleButtonColors . ( Ie0bf1 )

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

  • Мы обновили Button , FilledTonalButton , OutlinedButton , ChildButton , CompactButton , чтобы использовать новые CompositionLocals LocalTextMaxLines , LocalTextAlign , LocalTextOverflow для реализации рекомендаций по UX — при необходимости эти параметры могут быть переопределены разработчиками непосредственно в Text ( Ie51f7 ).
  • Мы изменили ширину обводки LevelIndicator по умолчанию на 6dp чтобы отличать ее от ScrollIndicator , ширина обводки которого равна 4dp . ( Если6f63 )
  • Мы исправили проблему в TimeText , чтобы поддерживать большие углы развертки. ( Ie489f )
  • Исправлена проблема во время рекомпозиции EdgeButton . ( I4cdca )
  • Исправлены макеты разделенных кнопок переключения при предоставлении настраиваемого заполнения контента. ( Ia33d3 )
  • Небольшие значения прогресса округлены как минимум до ширины линии индикатора прогресса. ( I3bd84 )

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

14 мая 2024 г.

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

Изменения API

  • Мы обновили API-интерфейсы ToggleButton и RadioButton , чтобы можно было настроить отключенные цвета. ( Если13а7 )
  • Мы добавили новый индикатор CircularProgressIndicator для Material3. ( Ib3bd7 )

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

  • Мы исправили ошибку, из-за которой выбираемые кнопки объявляли двойное нажатие для переключения, если они уже выбраны. ( I7ed88 )

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

1 мая 2024 г.

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

Изменения API

  • Мы обновили ColorScheme Material3. ( I7b2b8 )
  • Мы обновили переключатель Material3 — помимо некоторых изменений цвета, галочка теперь соответствует галочке, используемой для флажка. ( Icac7b )

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

  • Обновите все демо-версии интеграции, чтобы использовать новый модификатор rotaryScrollable . ( I25090 )

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

17 апреля 2024 г.

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

  • Этот выпуск был запущен из-за технической проблемы в предыдущем выпуске, которая привела к отсутствию файлов исходного кода. В этом выпуске нет новых коммитов.

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

3 апреля 2024 г.

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

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

  • Мы скорректировали альфа-каналы нажатого и сфокусированного состояния Ripple для контраста. ( I59f0a )
  • Мы добавили расстояние между основными и дополнительными метками в Button , ToggleButton и RadioButton в соответствии с последними изменениями в стилях оформления и высоте строк. ( I2c0ba )

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

6 марта 2024 г.

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

Изменения API

  • Мы добавили TimeText в библиотеку Wear Compose Material3. Этот компонент показывает текущее время (и дополнительный статус) вверху экрана. Новый лаконичный API Material3 позволяет избежать дублирования линейного и изогнутого контента. ( I4d7c3 )
  • Мы обновили имена параметров с onSelected на onSelect для RadioButton . ( I1a971 )
  • Токенизировать RadioButton и SplitRadioButton , а также провести рефакторинг существующих методов, чтобы уменьшить объем поиска CompositionLocal , добавив кэшированные экземпляры цветов и сделав методы RadioButtonColors и SplitRadioButtonColors внутренними. ( I02b33 )

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

21 февраля 2024 г.

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

Изменения API

  • Мы переработали шаблон по умолчанию для CardColors , ToggleButtonColors и SplitToggleButtonColors , создав внутренние кэшированные экземпляры и сократив использование CompositionLocal . ( Если3fec )

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

7 февраля 2024 г.

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

Изменения API

  • Мы обновили API кнопок, чтобы использовать buttonColors по умолчанию, и удалили дубликаты filledButtonColors . ( I4fe3b )
  • Мы реорганизовали шаблоны по умолчанию для ButtonColors , IconButtonColors и TextButtonColors , создав внутренний кэшированный экземпляр и сократив использование CompositionLocal . ( I5f51c )
  • Мы устранили накладные расходы на rememberUpdatedState в классах цветов, специфичных для компонентов, и пометили методы доступа внутри классов цветов как внутренние. ( Если6571 )

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

  • Мы обновили Modifier.minimumInteractiveComponentSize для использования Modifier.node . ( Iba6b7 )

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

24 января 2024 г.

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

Новые функции

  • Мы добавили CompactButton , который может использовать те же цвета заливки, тона и контура, что и Button. ( I05df0 ).

Изменения API

  • Мы добавили RadioButton / SplitRadioButton в качестве контейнеров для элементов управления выбором, таких как элемент управления Radio. This differs from the existing ToggleButton in that RadioButton is selectable (and operates within a selection group) whereas ToggleButton is toggleable (and is independent). ( I61275 )
  • We are removing LocalContentAlpha from the Wear Compose Material3 library for consistency with the Compose Material3 library. ( I49a0a )
  • Wear material and wear material3 components exposing a MutableInteractionSource in their API have been updated to now expose a nullable MutableInteractionSource that defaults to null. There are no semantic changes here: passing null means that you do not wish to hoist the MutableInteractionSource , and it will be created inside the component if needed. Changing to null allows for some components to never allocate a MutableInteractionSource , and allows for other components to only lazily create an instance when they need to, which improves performance across these components. If you are not using the MutableInteractionSource you pass to these components, it is recommended that you pass null instead. It is also recommended that you make similar changes in your own components. ( Ib90fc , b/298048146 )
  • Adds new ripple API in wear:compose-material and wear:compose-material3 libraries which replaces the deprecated rememberRipple . Also adds a temporary CompositionLocal , LocalUseFallbackRippleImplementation , to revert Material components to using the deprecated rememberRipple/RippleTheme APIs. This will be removed in the next stable release, and is only intended to be a temporary migration aid for cases where you are providing a custom RippleTheme . See developer.android.com for migration information and more background information behind this change. ( af92b21 )
  • We have made minor improvements to the HorizontalPageIndicator api and its documentation. ( I60efc )
  • We have updated ColorScheme to be immutable, making individual color updates less efficient, but making more common usage of colors more efficient. The reasoning behind this change is that the majority of apps wouldn't have updating individual colors as a main use case. This is still possible but it will recompose more than before, in turn we significantly decrease the amount of state subscriptions through all of material code and will impact initialization and runtime cost of more standard use cases. ( Ibc2d6 )
  • Updated ToggleButton and SplitToggleButton APIs to allow disabled colors to be customized. In addition, Material Design tokens are now used for color and typography values. ( If087c )
  • Updated Button image background colors to use Material Design tokens. ( Iba215 )
  • We have changed the Checkbox , Switch and RadioButton components to be display-only, by removing the click handling. These components are expected to be used in (Split)ToggleButton which handles the click, so the components are now more clearly indicated as display-only (and are not intended for standalone use on Wear). ( I2322e )

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

  • We have added tokens for motion values of durations and easings in Wear Compose Material 3. ( I437cd )
  • We have fixed a bug in the ToggleButton , SplitToggleButton , Checkbox , Switch and RadioButton so that accessibility announcements are not repeated (previously, semantic roles were duplicated). ( Ica281 )
  • We have removed the materialcore layer for CompactButton to improve performance. ( 7902858 )

Version 1.0.0-alpha15

15 ноября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha15 is released. Версия 1.0.0-alpha15 содержит эти коммиты.

Изменения API

  • We have renamed the Foundation level SwipeToDismissBox to BasicSwipeToDismissBox . This makes the distinction clearer between the Foundation level component and the Material3 level SwipeToDismissBox . The latter pulls colors from the MaterialTheme to be used in scrims and delegates the remaining implementation to the BasicSwipeToDismissBox . ( Ibecfc )

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

  • We have removed the material-core layer for Material3 Button to improve performance. ( I55555 )

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

October 18, 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 is released. Версия 1.0.0-alpha14 содержит эти коммиты.

Изменения API

  • We have removed the indicatorStyle parameter from the Material3 HorizontalPageIndicator - instead, it will follow the device screen shape (linear or round). ( I83728 )
  • We have separated the colors for SplitToggleButton from those for ToggleButton , by adding a new SplitToggleButtonColors class. ( I78bee )

Version 1.0.0-alpha13

4 октября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha13 is released. Версия 1.0.0-alpha13 содержит эти коммиты.

Изменения API

  • We have added an optional Subtitle field to TitleCard . ( Ifc45a )
  • We have added Material Design color tokens for TextButton . ( I769dc )

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

20 сентября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha12 is released. Версия 1.0.0-alpha12 содержит эти коммиты.

Изменения API

  • We have updated IconButton to use Material Design tokens. ( I3f137 )
  • We have updated IconToggleButton to use Material Design tokens. ( I7d263 )
  • We have made public the constructors of CheckboxColors , RadioButtonColors , SwitchColors . ( I82b73 )

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

6 сентября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha11 is released. Версия 1.0.0-alpha11 содержит эти коммиты.

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

  • We update updated the typography for Material3 Cards to TitleMedium . ( I597bd )
  • We have updated the typography and alignment for our Material3 ListHeader and ListSubheader . ( Ib5ceb )

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

23 августа 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha10 is released. Версия 1.0.0-alpha10 содержит эти коммиты.

Новые функции

  • Add HorizontalPageIndicator in Wear Material3 library. ( Ifee99 )

Изменения API

  • Update Buttons code to use Material3 design tokens. ( I92fe4 )
  • Declaring Wear Material 3 Stepper and Slider APIs as experimental as the details of the user interface are still being finalized. ( I84d54 )
  • We have removed the ExtraSmall sizes from the round TextButton and TextToggleButton as that size only applies to the IconButton . ( Ibc7d5 )

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

  • We have updated the guidance on typography for TextToggleButton to use LabelLarge for LargeButtonSize ( Ib10fa )
  • We have updated the guidance on typography for TextButton to use LabelLarge for LargeButtonSize ( I8f3a7 )
  • We have set the Card's minimum touch target to be 48dp for accessibility. ( Ieb9b1 )
  • Add AppCard with image demo, removing AppCard with Background demo ( Id735f )
  • Fix a bug in round buttons where modifiers were not chained correctly. ( I5e162 )

Version 1.0.0-alpha09

9 августа 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha09 is released. Версия 1.0.0-alpha09 содержит эти коммиты.

Новые функции

  • We have added ToggleButton for material3 ( I6bed6 )

Изменения API

  • We have turned on the FloatRange annotation as API constraints , which were previously stated in comments. ( Icb401 )
  • We have updated the typography for Wear Material3 to adhere to the latest Material3 guidelines. ( I1bad6 )

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

  • We have updated the colors for Button , IconButton and TextButton in line with Material3 design. ( Ib2495 )
  • We have fixed checkbox tick visibility in disabled states. ( Ib25bf )

Version 1.0.0-alpha08

26 июля 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha08 is released. Версия 1.0.0-alpha08 содержит эти коммиты.

Новые функции

  • We have added the following selection controls for Material3 - Switch , Checkbox , RadioButton . ( Ib918c )
  • We have added IconToggleButton and TextToggleButton to Material3, a circular toggle button with a single slot for icon and text respectively. For different sizes of ToggleButton , we recommend using Modifier.touchTargetAwareSize with the sizes provided in respective toggle buttons. ( I9f015 )
  • We have added ListHeader and ListSubheader to our Material3 components. ( Ibaefe )
  • We have added Material3 SwipeToDismissBox , which calls the new Foundation SwipeToDismissBox and supplies default color values from its theme. ( I275fb )
  • We have added the Material3 InlineSlider to Wear Compose. It allows users to make a selection from a range of values. The range of selections is shown as a bar between the minimum and maximum values of the range, from which users may select a single value. InlineSlider is ideal for adjusting settings such as volume or brightness. ( I7085f )

Изменения API

  • We have updated the Shapes in Wear Material 3 theme to use RoundedCornerShape based instead of Shape. ( Idb133 )
  • We have made the height constants for Button public ( Idbfde )
  • Updated API files to annotate compatibility suppression ( I8e87a , b/287516207 )
  • We have updated InlineSliderColors in Wear Compose Material 3 to have public constructor and public properties. ( I6b632 )
  • We have updated all color classes in Wear Compose Material 3 to have public constructors and public properties. ( I17702 )
  • We have made Button horizontal and vertical padding constants public. ( Ieeaf7 )

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

  • Button will now adjust its height to accommodate content that has grown due to large fonts for accessibility, when required ( Iaf302 )
  • We have updated a number of Button demos to address accessibility issues. ( I61ce9 )
  • Stepper and InlineSlider now support repeated clicks on long press so that you can quickly increase/decrease value of Stepper and InlineSlider by holding the + or - buttons ( I27359 )

Version 1.0.0-alpha07

21 июня 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha07 is released. Версия 1.0.0-alpha07 содержит эти коммиты.

Новые функции

  • We have added the Stepper component to our Compose for Wear OS Material 3 library. This is similar to the previous Material version, but omits range semantics by default, following developer feedback. We provide Modifier.rangeSemantics the cases where range semantics are required. ( Ic39fd )
  • We have added curvedText to our Compose for Wear OS Material 3 library. ( Ia8ae3 )

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

  • We have update wear.compose.foundation to be an API dependency of wear.compose.material3 ( I72004 , b/285404743 )

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

7 июня 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha06 is released. Версия 1.0.0-alpha06 содержит эти коммиты.

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

  • We have updated TextButton to use the toDisabledColor extension function for correct disabled alpha values. ( I814c8 )

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

24 мая 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha05 is released. Версия 1.0.0-alpha05 содержит эти коммиты.

Новые функции

  • We have added TextButton to Material3, a circular button with a single slot for text. For different sizes of TextButton , we recommend using Modifier.touchTargetAwareSize and ExtraSmallButtonSize , SmallButtonSize , DefaultButtonSize and LargeButtonSizeIcon provided in TextButtonDefaults . The default TextButton has no border and a transparent background for low emphasis actions. For actions that require high emphasis, use filledTextButtonColors ; for a medium-emphasis, outlined TextButton , set the border to ButtonDefaults.outlinedButtonBorder ; for a middle ground between outlined and filled, use filledTonalTextButtonColors . ( I667e4 )
  • We have added Card , OutlinedCard , AppCard and TitleCard into the Wear Compose Material3 library. AppCard and TitleCard can also be given the outlined appearance using CardDefaults.outlinedCardColors and CardDefaults.outlinedCardBorder ( I80e72 )

Изменения API

  • We have moved the Button label parameter to the end to support trailing lambda syntax and removed the role parameter (as this can be overridden using Modifier.semantics ). ButtonColors constructors are now public. ( Ie1b6d )

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

10 мая 2023 г.

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

Новые функции

  • We have added IconButton to Material3, a circular button with a single slot for icon/image. There are four variations: IconButton , FilledIconButton , FilledTonalIconButton and OutlinedIconButton . For different sizes of IconButton , we recommend using Modifier.touchTargetAwareSize and ExtraSmallButtonSize , SmallButtonSize , DefaultButtonSize and LargeButtonSizeIcon provided in IconButtonDefaults . We also provide IconButtonDefaults.iconSizeFor to determine the recommended icon size for a given button size. ( I721d4 )

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

19 апреля 2023 г.

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

Изменения API

  • We have added the Material 3 Button component - this is our stadium-shaped button and was formerly named Chip in the Wear Compose Material library (it has been renamed to Button for consistency with the Compose Material 3 library). The default Button has a filled background and there are button variations for FilledTonal (muted background), Outlined (transparent with a thin border) and Child (transparent background and no border, used for supplementary actions with the lowest amount of prominence). Round buttons for simple icon and text content will follow in a future release.( Ia6942 )

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

5 апреля 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha02 is released. Версия 1.0.0-alpha02 содержит эти коммиты.

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

  • We have added a DefaultTextStyle to Wear Compose Material 3 which defaults the PlatformTextStyle.includeFontPadding to true (the current setting). This will allow us to synchronize turning off font padding by default with the Compose libraries in the future (see Fix font padding in Compose for background ). ( I7e461 )

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

22 марта 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha01 is released. Версия 1.0.0-alpha01 содержит эти коммиты.

Новые функции

  • Material 3 is the next evolution of Material Design and includes updated theming and redesigned components. Material 3 on Wear Compose is designed to be cohesive with the Material 3 Compose library on Android. This first alpha release contains early, functional implementations of the following:

    • Material theme - configures the color scheme, typography and shapes consistently across components in the library. The Material3 theme has revised colors which support accessible contrast. ( I84005 )
    • Text/Icon - building blocks for Wear Compose apps ( I8e06a )
  • We will continue to develop Wear Material ( androidx.wear.compose:compose-material ) and Wear Material 3 ( androidx.wear.compose:compose-material3 ) in parallel. Future material3 releases will extend the widget set to include other familiar components from Compose for Wear OS, such as buttons, pickers, and sliders.

  • The Wear Material and Wear Material 3 libraries are mutually exclusive and should not be mixed in the same app, primarily because they reference different themes which would lead to unexpected inconsistencies.

,

Wear Compose Material 3

Write Jetpack Compose applications for Wear OS devices by providing functionality to support different device sizes and navigation gestures using the Material 3 Expressive design system.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-версия Альфа-релиз
27 августа 2025 г. 1.5.0 - - -

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

To add a dependency on Wear, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:

классный

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.5.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material3:1.5.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.5.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0")
    
    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Котлин

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.5.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material3:1.5.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.5.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.5.0")

    // NOTE: DO NOT INCLUDE dependencies on androidx.wear.compose:compose-material
    // or androidx.compose.material:material.
    // androidx.wear.compose:compose-material3 is designed as a replacement,
    // not an addition, to both of these other libraries.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material3, please raise a bug to let us know.
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Создать новый выпуск

Более подробную информацию см. в документации по системе отслеживания проблем .

Wear Compose Material3 Version 1.5

Version 1.5.0

27 августа 2025 г.

androidx.wear.compose:compose-*:1.5.0 is released. Version 1.5.0 contains these commits .

Important changes since 1.4.0

First release of the Wear Compose Material 3 library, which supports the new Material 3 Expressive design system. This release includes:

  • Updated MaterialTheme and dynamic color theming.
  • New AppScaffold, ScreenScaffold , HorizontalPagerScaffold , and VerticalPagerScaffold components to lay out the structure of the screen and coordinate ScrollIndicator , TimeText , HorizontalPageIndicator , and VerticalPageIndicator animations.
  • Shape morphing IconButton , TextButton , IconToggleButton , and TextToggleButton , with variations that animate when pressed or checked.
  • EdgeButton , which has a special shape designed for the bottom of the screen.
  • ButtonGroup implements an expressive group of buttons, in a row that shape-morphs when touched.
  • AlertDialog and ConfirmationDialog with variations for additional dialog content.
  • TimePicker and DatePicker components.
  • Progress indicators include CircularProgressIndicator (with segmented variation), ArcProgressIndicator , and LinearProgressIndicator .

In addition, Wear Compose Foundation 1.5.0 includes the following:

  • TransformingLazyColumn , a lazy, vertically scrolling list that supports scaling and morphing animations.
  • Support for paging in Wear Compose Foundation with HorizontalPager and VerticalPager .
  • Hierarchical Focus Groups - used to annotate composables in an application to keep track of the active part of the composition and coordinate focus.

Read about more about ( Material 3 Expressive for Wear OS )

Version 1.5.0-rc02

13 августа 2025 г.

androidx.wear.compose:compose-*:1.5.0-rc02 is released. Version 1.5.0-rc02 contains these commits .

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

  • Fixed a bug in TimePicker where long, internationalised strings for the period (AM/PM) could break the layout. ( I0fa81 )

Version 1.5.0-rc01

30 июля 2025 г.

androidx.wear.compose:compose-*:1.5.0-rc01 is released. Version 1.5.0-rc01 contains these commits .

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

  • TimePicker is now fully driven by the user's locale, using DateFormat.getBestDateTimePattern to determine the order and content of its pickers and separators. This fixes incorrect column ordering for CJK languages, resolves RTL layout issues in languages like Arabic, uses localized separators, and supports both 0-11 and 1-12 hour formats based on the locale ( I5d543 )
  • DatePicker now displays a numeric month in some locales, such as CJK, to avoid mixing numeric and linguistic formats (eg, 2025 | 07 | 02 instead of 2025 | 7月 | 02). This change applies a heuristic that checks if the locale uses linguistic suffixes for the year and, if so, switches the month format from textual (MMM) to numeric (MM) for consistency. ( Ia93fe )
  • The vertical space for the heading in the Picker component is now constant, preventing a visible shift when a picker column is selected, especially in Talkback mode. ( I7f8b7 )
  • Fixed an accessibility bug caused by HorizontalPageIndicator and VerticalPageIndicator being drawn full screen. The page indicators are no longer full-screen, and will be positioned automatically when used with HorizontalPagerScaffold or VerticalPagerScaffold . When not using a pager scaffold, specify the alignment explicitly using modifier = Modifier.align(Alignment.BottomCenter) with HorizontalPageIndicator and modifier =Modifier.align(Alignment.CenterEnd) with VerticalPageIndicator . ( I3a0ad )
  • The swipe direction in SwipeToReveal is now consistent for both LTR and RTL LayoutDirections . ( I6d427 )
  • Reinstated SwipeToReveal vertical centering for actions. If hasPartiallyRevealedState = true , RevealState should be reset to RevealValue.Covered by the caller when scrolling occurs. ( I6473d )
  • SwipeDismissableNavHost now correctly clips content for API 36 onwards. ( Ib9a44 )

Version 1.5.0-beta06

16 июля 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta06 is released. Version 1.5.0-beta06 contains these commits .

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

  • Fix EdgeButton animation when LazyColumn or ScalingLazyColumn have reverseLayout = true . ( I46a1a )
  • Fixed a bug in ScreenScaffold where touch-to-explore was not working under Talkback if a ScrollIndicator/PageIndicator was provided. ( I6dcee )
  • TransformingLazyColumn now allows for custom morphing from TransformationSpec by reading itemHeight value provided by TransformationSpec in the background painter. ( I6a599 )
  • Animated enabled/disabled color transitions for IconButton , to be consistent with IconToggleButton . ( Ife10a )
  • Removed the minimum section clamping in CircularProgressIndicator to avoid a noticeable jump to the minimum dot size when animating. As part of this change, the targetProgress parameter in drawCircularProgressIndicator is now unused. ( I33309 )
  • Picker now has the semantic role ValuePicker which can be used by screen readers to make pickers more accessible. Picker also has updated accessibility click labels which differentiate between adjusting the value in read-only mode and selecting the current value otherwise. ( I33309 )

Version 1.5.0-beta05

2 июля 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta05 is released. Version 1.5.0-beta05 contains these commits .

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

  • Updated the documentation to clarify usage of Modifier.edgeSwipeToDismiss ( I78cb5 )
  • Addressed bug where multiple revealed items could be shown with SwipeToReveal in lazy lists ( I1d4f6 )
  • Container shapes in TransformingLazyColumn are now scaled, in order to avoid clipping the contents. ( I9221a )
  • The TimePicker and DatePicker label for hour/minute/second or year/month/day now has heading semantics for screen readers ( I77d8b )
  • Removed the pause between loops in the indeterminate CircularProgressIndicator ( Iaf0bb )
  • Fixed an animation bug in TransformingLazyColumn when items are removed. ( I73034 )
  • Corrected handling of anchor items in TransformingLazyColumn when items are removed. ( I841a8 )
  • PickerGroup now animates the Pickers horizontally when autocentering is turned on and the selected (centered) picker is changed. ( Ic82c4 )

Version 1.5.0-beta04

18 июня 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta04 is released. Version 1.5.0-beta04 contains these commits .

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

  • Fix layout bug in TransformingLazyColumn , where content that fits within the screen is now aligned correctly from the top of the screen ( I80115 )
  • Fixed an issue with TransformingLazyColumn where the bottom item was incorrectly scaled when scrolling to the very bottom of a list with an EdgeButton . The scroll progress now follows a gradient descent when restoring the layout. ( Iea375 )
  • TransformingLazyColumn now reads the item height inside the background painter, which allows custom TransformationSpecs to implement morphing. ( I022f0 )
  • SwipeToReveal now vertically centers the revealed actions correctly. ( I4419b )
  • Fixed a bug in SwipeToReveal that prevented it working correctly with swipe-to-dismiss if both views and compose were in use on the screen. ( I5dc0e )
  • Fixed a bug where SwipeToReveal actions were drawn with a vertical offset when scrolling. ( I29444 )
  • AlertDialog , ConfirmationDialog , OpenOnPhoneDialog and SwipeToReveal now round up paddings and sizes that are calculated as a percentage of the screen size. ( I76367 )
  • ButtonDefaults.outlinedButtonBorder now updates following enabled/disabled state changes size( If2ddd )
  • Fixed a bug in EdgeButton height that occurred on complex screens with Pager and ScreenScaffold . ( I946e3 )
  • Fixed a race condition that could cause Placeholder animations to stop. ( I53530 )
  • Improved HorizontalPageIndicator and VerticalPageIndicator performance by drawing to Canvas. ( Ifae1e )
  • Refined the shape of EdgeButton to smooth the transitions between the ellipsis and circles that make up the outline. ( I7721e )
  • Fixed a bug in LevelIndicator that caused animations to stop, due to unnecessary recompositions. ( I45d08 )

Version 1.5.0-beta03

4 июня 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta03 is released. Version 1.5.0-beta03 contains these commits .

Изменения API

  • OpenOnPhoneDialog now announces only the message text under TalkBack, and skips the icon semantics. The OpenOnPhoneDialogDefaults have been updated to remove the iconContentDescription and the contentDescription parameter from icon() . Also, ConfirmationDialogDefaults now has modifier parameters on SuccessIcon and FailureIcon composables. ( Id2ae2 )

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

  • Changed the order in which we apply the effect of SurfaceTransformation parameters. Before, the transformations applied to Wear Material3 components were done as follows: background painter, container transformation, content transformation. Now, the first 2 are inverted, and we apply any passed in modifier between them, so it is affected by container transformations. This fixes cases like using a placeholder shimmer effect with elements in a TLC using the transformation parameter. ( I786cf )
  • RevealState.Saver was added to be used to restore the state of SwipeToReveal when activity or process is recreated. rememberRevealState function now uses this Saver by default. ( Ie0ecb )
  • SwipeToReveal primary and secondary actions buttons should default to ButtonDefault.Height (fixed bug where these were filling the maximum height for taller buttons). ( Ibfba1 )
  • Changed SwipeToReveal to reset the last component interacted with, when the swipe right gesture is performed. ( Ia8450 )
  • SwipeToReveal was changed to settle on the Revealing state when the end position of the swipe is in between the revealing and revealed anchors, and is closer to the Revealing anchor. ( If4458 )
  • Now ButtonGroup 's content is properly inverted in a RTL layout ( Ib378d )
  • AnimatedText now supports RTL text direction ( I4533c )
  • TransformingLazyColumn now resizes items correctly when the bottom item is removed ( Idacab )
  • TransformingLazyColumn now makes just one measuring pass, which improves performance by reducing frame times. ( I501a1 )

Version 1.5.0-beta02

20 мая 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta02 is released. Version 1.5.0-beta02 contains these commits .

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

  • Updated baseline profiles for foundation, material & material3 libraries. ( I53f06 )
  • Fixed a bug in TransformingLazyColumn , where items resized when the bottom item was removed. ( Idacab )
  • Fixed a bug with TransformingLazyColumn , when the list got stuck at the top or bottom of the list. ( I49d00 )
  • OpenOnPhoneDialog under TalkBack should announce the curved text, rather than the icon content description. ( I4efe8 )
  • Fixed a bug in SwipeToReveal that would report the wrong anchor in RevealState.currentValue when hasPartiallyRevealedState is set to false. ( I9c7cf )
  • SwipeToReveal undo buttons are now ButtonDefaults.Height by default. ( I1f6c8 )
  • BasicSwipeToDismissBox performance has been improved by eliminating use of Canvas for drawing scrims. ( I68f2c )
  • Fixed an accessibility bug in Slider, where the announced percentage did not match the value after updates ( I91146 )
  • Fixed a bug on placeholderShimmer implementation. ( Iee39b
  • TransformingLazyColumn performance has been improved, by optimizing ScrollProgress calculation by 30%. ( I4c4cb )

Version 1.5.0-beta01

7 мая 2025 г.

androidx.wear.compose:compose-*:1.5.0-beta01 is released. Version 1.5.0-beta01 contains these commits .

The 1.5.0-beta01 release of Compose for Wear OS indicates that this release of the library is feature complete and the API is locked (except where marked as experimental).

Wear Compose 1.5.0-beta01 includes the Wear Compose Material3 library, which supports the new UI design system called Material 3 Expressive. It is recommended to upgrade from Material to Material3 to embrace the new visual design in apps, and to benefit from the new components as follows:

  • MaterialTheme for updated and extended color schemes, typography, and shapes to bring both depth and variety to your designs.
  • Dynamic Color Theming which automatically generates a color scheme for your app to match the watch face colors.
  • New components automatically adapt to larger screen sizes by default
  • Shape Morphing - round button components like IconButton , TextButton , IconToggleButton and TextToggleButton support variations that animate when pressed or checked.
  • EdgeButton - a new edge-hugging button with a special shape designed for the bottom of the screen.
  • Scaffolds - introducing AppScaffold and ScreenScaffold to lay out the structure of the screen and coordinate ScrollIndicator and TimeText animations.
  • Buttons - numerous stadium-shaped buttons are supported with flexible, single-slot containers and multi-slot variations for buttons with icons and labels. CheckboxButton and SwitchButton are provided when toggle buttons are needed, whilst RadioButton is the available selection button ('Split' variations of the toggle and selection buttons are also provided).
  • ButtonGroup - implements an expressive group of buttons in a row that shape-morph when touched.
  • AlertDialog variations support ok/cancel buttons or an EdgeButton .
  • ConfirmationDialog is available to display a message with a timeout, supporting special animations for success, failure and open-on-phone variations.
  • Pickers - TimePicker and DatePicker variations are supported as well as the Picker and PickerGroup components for building your own picker screens.
  • ProgressIndicators - circular, and linear progress indicators are supported (the CircularProgressIndicator has segmented and indeterminate variations).
  • Cards - a number of card variations are available, including TitleCard which offers specific layouts for cards with title, time, subtitle or content slots. TitleCard can also be given an image background to reinforce the meaning of the information in a card.
  • Pagers - HorizontalPagerScaffold , VerticalPagerScaffold and AnimatedPage components coordinate HorizontalPageIndicator and VerticalPagerIndicator animations. HorizontalPager and VerticalPager are released in the Wear Compose Foundation library.
  • Placeholders - draws a skeleton shape over a component, for situations where no provisional content is available.
  • Sliders and Steppers - both sliders and steppers allow users to make a selection from a range of values. Sliders are more compact and can be segmented, whereas Stepper is a full screen component typically paired with a StepperLevelIndicator .
  • SwipeToReveal - used to add additional actions to a composable when it is swiped right-to-left.

In addition, Wear Compose Foundation 1.5.0-beta01 includes these new components:

  • TransformingLazyColumn - a lazy, vertically scrolling list the supports scaling and morphing animations
  • Hierarchical Focus Groups - used to annotate composables in an application, to keep track of the active part of the composition and coordinate focus.
  • Pagers - HorizontalPager and VerticalPager components, built on the Compose Foundation components with Wear-specific enhancements to improve performance and adherence to Wear OS guidelines.

Изменения API

  • Updated the Hierarchical Focus API - renamed Modifier.hierarchicalFocus to Modifier.hierarchicalFocusGroup and removed the callback parameter; removed the overload of Modifier.hierarchicalFocusRequester with a FocusRequester parameter; created a new CompositionLocal , LocalScreenIsActive so that components can inform and check which screen is the active one. ( I5ff7c ).
  • Deprecated SwipeToReveal from Wear Compose Foundation in favor of SwipeToReveal APIs in Wear Compose Material and Wear Compose Material3. Please replace Wear Foundation SwipeToReveal imports with Wear Compose Material/ Wear Compose Material3 imports to continue using the APIs. ( Ia147d ).
  • Wear Compose Material3 SwipeToReveal dependencies on Foundation were moved to the material3 package, eg RevealValue , RevealDirection , RevealActionType , RevealState , rememberRevealState . Developers should change their imports of these classes and functions from androidx.wear.compose.foundation to androidx.wear.compose.material3 . ( I640e6 ).
  • Updated the Wear Compose Material3 SwipeToReveal API as follows: added primaryAction , onFullSwipe , secondaryAction , undoPrimaryAction , undoSecondaryAction and hasPartiallyRevealedState parameters to the SwipeToReveal composable; removed the ability to customize positionalThreshold and animationSpec from RevealState ; removed lastActionType , revealThreshold and width from RevealState ; changed the RevealState constructor to accept a RevealDirection instead of anchors; removed createRevealAnchors , anchors, and bidirectionalAnchors functions; SwipeToRevealScope functions primaryAction , secondaryAction , undoPrimaryAction and undoSecondaryAction were renamed to PrimaryActionButton , SecondaryActionButton , UndoActionButton and made into Composable functions; marked RevealActionType as internal. ( I885d0 ).
  • Further updated SwipeToReveal API as follows: renamed onFullSwipe to onSwipePrimaryAction ; renamed SwipeToRevealNonAnchoredSample to indicate the use of the hasPartiallyRevealedState parameter; removed actionButtonHeight , since the default is the Button's default height and the larger height can be set using a modifier; removed the SmallActionButtonHeight from SwipeToRevealDefaults ; made the value parameter in RevealValue and RevealDirection constructors private. ( I465ce ).

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

  • Fixed ScreenScaffold 's EdgeButton handling so that, after a TransformingLazyColumn item is removed, the EdgeButton is animated into place. ( I6d366 ).
  • Updated Wear Compose dependencies on Compose libraries to version 1.8.0. ( I2ef3f ).
  • Updated the motion of the indeterminate CircularProgressIndicator so that it no longer regresses temporarily. ( Ieddb1 ).
  • Fixed a SwipeDismissableNavHost bug - the focus was not switching correctly after swiping back, causing rotary input to fail (this was for API 36+, which uses predictive back). ( Ieddb1 ).
  • Amended documentation for the Hierarchical Focus API ( Idf2ff ).
  • Updated the documentation for Button and Card to state how containerPainter and disabledContainerPainter override containerColor and disabledContainerColor ( I4a453 ).
  • Reverted a change to TimeText in the previous release which moved the BroadcastReceiver to a worker thread, because it caused issues for apps that manage their own threading during navigation. ( I34d02 ).
  • Updated the Picker samples to remove unnecessary remember calls and instead use rememberUpdatedState in Picker to remember the latest contentDescription lambda function. ( Icb5b1 ).
  • Updated text styles in TimePicker and DatePicker so that font changes no longer result in truncation. ( I26194 ).
  • ListHeader and ListSubHeader now default text alignment to center-aligned and start-aligned respectively. ( I78339 ).
  • Updated Foundation and Material Swipe to Reveal samples and demos to announce custom accessibility actions (the custom actions must be added as semantics on the content, not on the SwipeToReveal composable itself). ( Ie92a3 ).
  • Updated the default MaxLines set on the EdgeButton content according to its size - it is now 1 for extra small, 2 for small and medium, and 3 for large. ( Ie35f6 ).
  • Simplified LocalReduceMotion so that the observer is only registered once, to improve performance. ( Ib1979 ).
  • Minimized the number of redraws in ScrollIndicator , to improve performance. ( Ia7a67 ).
  • Fixed a bug in TransformingLazyColumn , where the top visible item in the list did not scale correctly when EdgeButton achieved its full height. ( I30580 ).

Wear Compose Material3 Version 1.0

Version 1.0.0-alpha37

23 апреля 2025 г.

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

Изменения API

  • Removed scrollTransform from the public API surface. Use the combination of transformedHeight and graphicsLayer modifiers if you need to get the same functionality. ( Ie181d )
  • Replaced ImageButton and ImageCard composables with Button and Card/TitleCard overloads respectively. Renamed imageButtonColors to buttonWithContainerPainterColors and imageCardColors to cardWithContainerPainterColors . Added public ButtonDefaults.scrimBrush and CardDefaults.scrimBrush . Renamed button imageBackgroundGradientStartColor and imageBackgroundGradientEndColor to scrimGradientStartColor and scrimGradientEndColor . Renamed CardDefaults.ImageContentPadding to CardDefaults.CardWithContainerPainterContentPadding ( I7b8b6 )
  • Picker and PickerGroup now take the contentDescription as a lambda to avoid unnecessary recompositions. ( I002dd )

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

  • Fixed an issue where indeterminate CircularProgressIndicator would wobble during animation if width is not equal to height. ( I76bfe )
  • Fixed an issue with edge button layout on invalid size. Now prevents updating the layout of the edge button when the height is NaN. ( I32b93 )
  • Increased the max sweep angle in OpenOnPhoneDialog so that the default 'Check your phone' text is not clipped with the largest font size. ( I90af9 )

Version 1.0.0-alpha36

9 апреля 2025 г.

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

Изменения API

  • Replaced ButtonDefaults.imageBackgroundButtonColors with ImageButton , ButtonDefaults.imageButtonColors , ButtonDefaults.containerPainter and ButtonDefaults.disabledContainerPainter . And similar changes for Card. The painters are removed from ButtonColors and CardColors . ( I8c6a1 )
  • Updated placeholders to simplify the API. We now provide two Modifiers, Modifier.placeholderShimmer to apply a shimmer effect at the component level, and Modifier.placeholder to apply a mask on top of unloaded content ( Iaee7a )

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

  • Integrated overscroll into the ScrollIndicator . ( Icfb7f )
  • Address blank backgrounds and missing dialogs when launching material3 dialogs. ( Ice597 )
  • Fixed issues in FadingExpandingLabel when text spans multiple lines. ( I04eb7 )
  • Updated padding between primary and secondary labels on buttons. ( I99b7b )
  • ArcLarge has been reduced from 20sp to 18sp , and letter spacings on ArcLarge and ArcSmall have been updated. ConfirmationDialog / OpenOnPhoneDialog now use the default ArcLarge instead of overriding it to 18sp . ( Id39a8 )

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

  • This library now targets Kotlin 2.0 language level and requires KGP 2.0.0 or newer. ( Idb6b5 )

Version 1.0.0-alpha35

26 марта 2025 г.

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

Изменения API

  • AlertDialog top padding is now reduced by default when an icon is provided - this makes best use of the screen size available. ( Ief06c )
  • PagerScaffoldDefaults.FadeOutAnimation has been renamed to PagerScaffoldDefaults.FadeOutAnimationSpec . The page parameter on AnimatedPage has been renamed to pageIndex . ( I701f2 )
  • Updated naming for TransformingLazyColumn 's SurfaceTransformation - applyTransformation split into applyContainerTransformation and applyContentTransformation , and renamed createBackgroundPainter to createContainerPainter . Further naming updates to TransformationSpec and ResponsiveTransformationSpec . ( I1c534 )
  • The AppScaffold backgroundColor has been renamed to containerColor . ( I4e63f )

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

  • Fixed an issue in FadingExpandingLabel where the text did not always expand correctly. ( I0e773 )
  • ArcLarge has been reduced from 20sp to 18sp, and letter spacings on ArcLarge and ArcSmall have been updated. ConfirmationDialog/OpenOnPhoneDialog now use the default ArcLarge instead of overriding it to 18sp. ( Id39a8 )
  • Updated the heading animation for DatePicker and TimePicker based, so that the fade-out and fade-in animation act as one Spring animation. ( I68963 )
  • Optimized PagerScaffold by avoiding the reading of currentPageOffsetFraction in the AnimatedPage composable. ( I433ef )
  • All type scales have been updated to have proportional numerals by default, because that is seen as the most frequent use case and defaulting to tabular resulted in too much spacing between certain number pairings. TimePicker and DatePicker continue to apply FontFeatureSetting=tnum for tabular numerals. ( I88929 )
  • Corrected the initial RSB input focus for TimePicker and DatePicker . ( I1c773 )
  • Updated the default text on OpenOnPhoneDialog to "Check your phone". ( I00a3f )
  • Updated weights for ArcLarge and ArcMedium from 600 to 599 to workaround an issue where weight 600 is treated as bold ( I2a51d )
  • Update SwipeToReveal paddings between content and action buttons, and also the padding between the icon and text of the action buttons. ( Ic46cb )

Version 1.0.0-alpha34

12 марта 2025 г.

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

Изменения API

  • PagerScaffold no longer emits a Pager component - instead this must be provided via the content Composable. AnimatedPage and snapWithSpringFlingBehaviour are now public and can be used along with Wear Foundation Pager to achieve previous M3 PagerScaffold behaviour. (See updated samples). ( Ia4724 )
  • Updated PagerState , removing the Compose Foundation PagerState as the base class and adding currentPage , currentPageOffsetFraction and pageCount properties. Updated the GestureInclusion interface, renaming the method to ignoreGestureStart . ( I4ae07 )
  • LevelIndicator sweep angle parameters are now annotated with FloatRange(0, 360) ( I7e636 )
  • We have added CurvedModifier.clearAndSetSemantics to provide a means by which curved semantics can be turned off. CurvedText continues to default the content description to the text, but timeTextCurvedText and timeTextSeparator do not now announce their contents. ( I4b568 )
  • Added a background and default content color parameters to AppScaffold . ( I56652 )
  • HorizontalPager 's default handling of swipe gestures has been renamed to PagerDefaults.gestureInclusion . The default behavior is now to only ignore swipe gestures that start on the left edge of the first page, and only then when Talkback is turned off. In other cases, the default behavior is that swipe gestures will not be ignored by the pager, so they will not be available to swipe-to-dismiss handlers. ( Iee486 )
  • Added a SurfaceTransformation parameter to button, card and list header components, so that they can apply different background and content transformations when used in containers that change items appearance based on their position, such as TransformingLazyColumn . ( Iabe3f )
  • We have updated 'public const val' properties in our Wear Compose Material3 API to 'public val', to avoid the values being inlined. ( Ib0f32 )
  • Added support for an edge-swipe zone to SwipeToReveal . Foundation SwipeToReveal 's default behavior is now to disallow swiping when the gesture starts from the edge. Material3 SwipeToReveal' s default behavior is now to disallow swiping when the gesture starts from the edge, when the SwipeDirection is set to single direction. ( I32ef0 )
  • Added FadingExpandingLabel composable, which allows it to fade in text with animation line by line. ( Ic60fa )
  • TransformingLazyColumn now uses empty contentPadding by default instead of putting first and last items into center. ( I77ab7 )
  • Removed SwipeToReveal 's rememberRevealState from the Wear Compose Material3 library. ( I8c0e0 )

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

  • Wear Compose libraries have been updated to the Kotlin 2.0 compiler. ( I2de79 )
  • Support for non-round ScrollIndicator and PageIndicator has been removed from Material3. Square screen support is also no longer part of the Wear OS requirements, see the Getting Started guide for more information. ( I9a852 )
  • The CurvedTextStyle used in ConfirmationDialogDefaults and OpenOnPhoneDialogDefaults has been updated to use ArcLarge typography with size 18sp and letter spacing 1.8sp . ( Ic9ced )
  • Card , ListHeader , RadioButton , CheckboxButton , SwitchButton no longer constrain the height of its contents by default. Where necessary, use Modifier.height(IntrinsicSize.Min) to restore the previous behavior if needed. ( I80bb8 )
  • We have updated the default TimeText and ScrollIndicator colors to include more gray tones, because using OnBackground (white) directly carried too much visual weight when competing with other content on screen like titles. ( I8b36f )
  • We have reduced the timeout for animating the TimeText and ScrollIndicator in scaffold components to 2 seconds. ( I52021 )
  • We have updated the motion of Dialog so that the scale of the background of the Dialog is synchronised with swiping to dismiss. ( I925a9 )
  • Add demo of M3 SwipeToReveal using edgeSwipeToDismiss modifier. ( I02b07 )
  • We have added a heading to DatePicker and TimePicker under TalkBack so that the user is informed to scroll to set date/time. ( Id738d )
  • AnimatedText now follows the reduce motion setting. ( Ib6578 )
  • The optimisation to use AppScaffold for display Dialog content has been improved to allow multiple dialogs to be displayed on top of each other ( I1209c )

Version 1.0.0-alpha33

26 февраля 2025 г.

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

Изменения API

  • We have removed the label parameter from SwipeToRevealScope 's primaryAction and secondaryAction . Custom action semantics should be added to the content of the SwipeToReveal component directly, by the developer. ( Ia67f3 )
  • We have removed the 'Button' prefixes from sizes, text styles and color functions in IconToggleButtonDefaults and TextToggleButtonDefaults ( I5471d )
  • We have removed the experimental LocalMinimumInteractiveComponentEnforcement ( I4ad8a )
  • We have replaced the PickerGroupScope DSL with a composable. As such, we removed the pickerGroupItem method from PickerGroupScope , and instead added @Composable PickerGroupItem that should be used to add a Picker to PickerGroup . We also updated the type of PickerGroup 'content' parameter to @Composable PickerGroupScope.() -> Unit . ( Ic6aec )
  • We have added a LevelIndicator overload for fractional values and added a Stepper prefix to those overloads that include a range parameter (which are suitable for use with the Stepper component). ( If4234 )
  • We have added TransformingLazyColumn 's TransformationSpec to the API, which allows the definition of the exact transformations happening to the items as they are being scrolled through the TLC. ( I21856 )
  • We have updated IconButtonShapes , IconToggleButtonShapes , TextButtonShapes and TextToggleButtonShapes to be consistent with the compose/material3 classes ( I5a081 )
  • We have added an overscrollEffect parameter added to ScalingLazyColumn , TransformingLazyColumn and ScreenScaffold . ( I0cee8 )
  • We have renamed the swipeDirection parameter to revealDirection in rememberRevealState . ( I7472f )
  • Wear Pager now has its own PagerScope instead of using Compose PagerScope . ( I9195b )
  • We have removed the LinearProgressIndicatorContent composable, please use LinearProgressIndicator directly so that changes to values are animated by default. ( I2c4ad )
  • We have removed the CircularProgressIndicatorStatic composable and added a public DrawScope function drawCircularProgressIndicator with the same functionality. Please use CircularProgressIndicator directly so that changes are animated by default, but build your own composable from drawCircularProgressIndicator if custom animations are needed. ( Ie762f )
  • We have reordered the parameters in DrawScope.drawCircularProgressIndicator to move up the targetProgress parameter. ( I8ab92 )
  • The OpenOnPhoneDialog api was updated for better clarity and consistency with other Dialogs. The show parameter was renamed to visible and curvedText is now provided by the caller instead of having a default value. ( Idec2d )
  • We have renamed openOnPhoneCurvedText to openOnPhoneDialogCurvedText ( I65bdd )
  • We have added ScrollIndicatorColors for providing custom colors to ScrollIndicator . ( I9eb8c )
  • Allow the configuration of the color used to draw a background behind TimeText . ( I9f5d9 )
  • Updated ArcLarge , ArcMedium and ArcSmall typographies to be CurvedTextStyle ( Iffc41 )
  • We have removed ScreenScaffoldDefaults.contentPaddingWithEdgeButton . ( Ia923e )
  • We have added errorDim to the ColorScheme , for high priority errors or emergency actions such as safety alerts, failed dialog overlays or stop buttons. ( I70998 )

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

  • We have pinned wear.compose.material3 to version 1.15.0 of androidx.core.core ( I132e9 )
  • We have improved Dialog's performance by using the AppScaffold to layer dialogs over other screen content ( I1b9a4 )
  • Reduced EdgeButton 's internal vertical padding. ( I1a5bb )
  • We have added Button semantics to Slider buttons. ( I80cc6 )

Version 1.0.0-alpha32

January 29, 2025

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

Изменения API

  • On CurvedTextStyle , we have split letter spacing into clockwise letter spacing and counter clockwise letter spacing. This is required because clockwise letters fan out from the baseline whereas counter-clockwise letters fan in (so larger letter spacing is needed) ( I4b848 )
  • We have updated IconButtonShapes , IconToggleButtonShapes , TextButtonShapes and TextToggleButtonShapes to improve consistency across Material3 libraries. This change also introduces shape caching to reduce the number of allocations. ( I049fc )
  • We have removed the pressedShapeCornerSizeFraction parameter from the variantAnimatedShape method in IconToggleButton and TextToggleButton ( I58a65 )
  • We are introducing improvements to curved text rendering (including TimeText ) that are incompatible with non-round screens. Non-round screen support is also no longer part of the Wear OS requirements, see the Getting Started guide for more information. ( I1cc1c )
  • We have updated ButtonGroup 's ButtonGroupScope , replacing the DSL-based ButtonGroupItem with Modifier.weight , Modifier.minWidth and Modifier.enlargeOnPress . ( I16c3c )
  • In the ButtonGroup API, we have updated the new modifier-based ButtonGroupScope : enlargeOnPress is now called animateWidth , and it takes an InteractionSource , rather than MutableInteractionSource because it is not necessary to mutate it. We have also added public constant ButtonGroupDefaults.DefaultMinWidth , the default minimum width of buttons in a ButtonGroup . ( Ie27ec )
  • We have updated ListHeaderDefaults.contentColor to start with a lowercase letter as it is a composable property ( I125a5 )
  • We have added a content description parameter to SliderDefaults.DecreaseIcon and SliderDefaults.IncreaseIcon , with suitable default values ( I2e1a7 )
  • We have renamed the spacing parameter in Picker and PickerGroup to verticalSpacing ( Ib75cc )
  • We have removed ConfirmationDialogDefaults.successText and failureText because it is expected that callers of ConfirmationDialog will provide strings with more context. Also renamed confirmationCurvedText to confirmationDialogCurvedText . Finally, renamed the Dialog show parameter to visible for consistency with other recent updates to dialogs. ( I10074 )
  • IconButton renamed disabledImageOpacity to DisabledImageOpacity . ( I5f94a )

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

  • We have fixed a bug in EdgeButton animation so that the correct size is used in each frame ( Id3b58 )
  • Fixed an issue with animateContentSize not working with Button . ( Ib18a0 )
  • We have changed the Title Large type scale to have font size 18dp ( Ic9d52 )
  • We have updated AlertDialog spacing and icon size ( Iac28c )
  • We have fixed inconsistencies in large screen breakpoints (screens at and above 225dp are large screen) ( I36474 )
  • Fixed a minor bug in button positioning ( I952c2 )

Version 1.0.0-alpha31

15 января 2025 г.

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

Изменения API

  • We have updated all Wear Compose libraries to 'explicit API' mode. ( Iebf9f )
  • We have updated the ScreenScaffold and EdgeButton APIs, so that it is easier to specify content paddings on screens that include an EdgeButton . In the new API the EdgeButton 's size is only passed to the EdgeButton , and the ScreenScaffold takes an edgeButtonSpacing parameter for the spacing between EdgeButton and list content. ( I424fd )
  • In DatePicker , we have renamed parameters minDate to maxDate , and minValidDate to maxValidDate . In DatePickerColors , we have renamed parameter selectedPickerContentColor to activePickerContentColor , and unselectedPickerContentColor to inactivePickerContentColor ( Iba17b )
  • We have updated the ArcProgressIndicator defaults to strokeWidth=6dp and recommended diameter = 81.24% of screen height ( I6f248 )
  • We have updated the Confirmation API to reflect its usage as a dialog. The composable is now called ConfirmationDialog , with associated updates to the naming of colors and defaults classes. We have also renamed the show parameter to visible for compatibility with other Compose animation APIs. In addition, we have made ConfirmationDialogContent , SuccessConfirmationDialogContent , FailureConfirmationDialogContent available for situations where developers need to customize the intro/outro dialog animations. ( Iaeb33 )
  • We have updated CircularProgressIndicatorContent to CircularProgressIndicatorStatic (the non-animated variation of CircularProgressIndicator ) so that it can now be used to build CircularProgressIndicator with custom animations. ( I1346f )
  • We have fixed the parameter ordering on the ArcProgressIndicator , putting the modifier parameter first ( I4656a )
  • Improved the SwipeToReveal API to receive a text slot parameter for the labels of the actions (except secondary action) and to remove label parameters from undo action ( I5b3db )

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

  • We have fixed a bug where LongPress haptics were triggered more than once in Button , Card , IconButton , TextButton ( Ia8b0f )
  • Changes to the UX of AlertDialog - on large screens the confirm and dismiss buttons are now smaller. There is also increased spacing below the confirm and dismiss buttons. ( I4f066 )
  • We have changed the animation specs of the action button label of the SwipeToReveal component. ( Ib87fb )
  • Changed SwipeToReveal to expand the container at the same time that the text is displayed. ( I44cf8 )
  • Improved SwipeToReveal to perform haptic feedback when the swipe passes the threshold where the primary action is committed. ( I23efe )
  • We have updated SwipeToReveal to display ellipsis on text overflow by default, for primary and undo actions. ( I71f5a )
  • We have fixed an issue causing jitter on ButtonGroup animations. ( I63f8f )
  • We have added text semantics to AnimatedText ( I6063c )
  • Dialog now resets background scaling when the dialog is removed from the composition (without this fix, the launching screen may have been left in a scaled down state) ( Id24ac )
  • We have added a shape morph animation to the buttons in the Stepper component ( Id6ed3 )

Version 1.0.0-alpha30

11 декабря 2024 г.

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

Изменения API

  • The scrollTransform modifier for TransformingLazyColumn was refactored which triggered an API change. ( I0c6dc )
  • We have updated IconToggleButtonShapes and TextToggleButtonShapes to have two different shape parameters uncheckedPressed and checkedPressed ( I85dbd )
  • Invalid month/day options are now visible in the DatePicker , with a new invalidPickerContentColor , when using minDate or maxDate . ( If4541 )
  • We have updated the Stepper API to provide increaseIcon and decreaseIcon slots - the content for these can be built as usual from the Icon composable. ( Id35da )
  • We have updated dynamicColorScheme by removing the optional defaultColorScheme parameter and now returning nullable ColorScheme . This means that the caller must explicitly handle the fallback case when a dynamic color scheme is not provided. ( I6d62e )
  • We have updated the icon sizes in ButtonDefaults for use with CompactButton . A CompactButton containing only an icon should use ButtonDefaults.SmallIconSize = 24.dp , whereas a CompactButton containing both icon and text should use ButtonDefaults.ExtraSmallIconSize = 20.dp . It is recommended that CompactButton wrap its content (rather than filling the max width) and samples have been updated to show that. ( I0582c )
  • We have added EdgeButtonDefaults with recommended icon sizes for the 4 different EdgeButtonSizes . Also, updated the EdgeButton layout so that it has slightly larger bottom padding than top padding, which improves appearance for both Icon and Text content. ( Id772a )
  • We have added motion to LinearProgressIndicator and exposed LinearProgressIndicatorContent which provides the visual content without animations. ( Idee99 )
  • We have added a new CircularProgressIndicatorContent composable to display the visual content of CircularProgressIndicator without animations. ( Ie33d4 )
  • TransformingLazyColumn newly provides the composition local LocalTransformingLazyColumnItemScope which Card s, Button s and ListHeader s now use to automatically morph when placed inside a TransformingLazyColumn . Callers can disable automatic morphing using the new TransformExclusion wrapper. ( I1652f )
  • We have updated the type of ButtonDefaults.shape to RoundedCornerShape ( Iccdf2 )

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

  • We have fixed a bug to respect existing alpha on background for TimeText ( I1eb60 )
  • We have set TextMotion to Animated by default in our typography, to avoid text jitter due to snapping letter glyphs to pixel boundaries during scaling operations. ( I626fa )
  • We have updated the appearance of the ScrollIndicator by increasing width and gap size, to improve visibility. ( Ied7cb )
  • We have fixed a bug on Modifier.scrollTransform when adding/removing/moving items. ( I6830f )
  • We have fixed a round button animation issue for short taps (previously, the minimum animation duration was not always observed). ( I757a7 )
  • We have updated the sweep angle for LevelIndicator to 20% (ie 72 degrees). ( Idde5c )
  • We have fixed ScrollIndicator positioning when ScalingLazyColumn was used with AutoCenteringParams . ( I387dd )
  • We have updated the colors and typography for ListHeader and ListSubHeader . Also the colors for the toggle controls on CheckboxButton and SwitchButton . ( I39817 )
  • We have fixed ScrollIndicator positioning in LazyColumn and ScalingLazyColumn with ContentPadding . ( I2bc51 )
  • We have fixed a bug seen in OpenOnPhoneDialog progress animation by using the new CircularProgressIndicatorContent . ( I3e443 )
  • We have updated the HorizontalPagerScaffold and VerticalPagerScaffold to disable animations when reduce motion is enabled ( Iaaf68 )
  • We have implemented a separate animation for circular progress indicators when progress reaches over 100%. ( I47135 )
  • We have fixed a bug where EdgeButton could be drawn with an incorrect shape in Pager components ( I91db9 )

Version 1.0.0-alpha29

13 ноября 2024 г.

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

Изменения API

  • We have updated TimeText to provide default content that shows the time. ( Id23b3 )
  • We have simplified the ScrollInfoProvider for PagerState by removing the orientation parameter, which is no longer needed. The new behavior is for TimeText to remain in place for both horizontal and vertical paging. ( I71767 )
  • LocalHapticFeedback now provides a default HapticFeedback implementation when the Vibrator API indicates that haptics are supported. The following have been added to the HapticFeedbackType - Confirm , ContextClick , GestureEnd , GestureThresholdActivate , Reject , SegmentFrequentTick , SegmentTick , ToggleOn , ToggleOff , VirtualKey . Wear Compose long-clickable components such as Button , IconButton , TextButton , and Card now perform the LONG_PRESS haptic when a long-click handler has been supplied. ( I5083d )

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

  • We have updated the motion for Confirmations. ( I04bff )
  • We have updated the minimum API dependency to 1.7.4 for Compose libraries. ( I88b46 )
  • New motion was added for the OpenOnPhone dialog. ( I1e10a )
  • We have fixed a bug in the LevelIndicator so that it is now correctly displayed with the level is zero. ( Ie95a4 )
  • We have updated the HorizontalPageIndicator and VerticalPageIndicator animations. ( I5c8f3 )
  • We have added a shrink-to-dot animation to the indeterminate ArcProgressIndicator . ( I9fd51 )

Version 1.0.0-alpha28

30 октября 2024 г.

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

Изменения API

  • We have added an arc variation on the indeterminate circular progress indicator ( I2efc1 )
  • We have made public the AlertDialogContent and Dialog composables that make up the AlertDialog API, so that it is possible to add customization if necessary (such as customizing AlertDialog animation whilst keeping the recommended content layout). In addition, we have added Modifier and Color parameters to the EdgeButton , ConfirmButton and DismissButton members of AlertDialogDefaults . ( I4eb71 )
  • We have updated the Placeholder API as follows: renamed PlaceholderState.startPlaceholderAnimation to PlaceholderState.animatePlaceholder , PlaceholderState.isShowContent to PlaceholderState.isHidden , and PlaceholderDefaults.shape to PlaceholderDefaults.Shape ; renamed the painter parameter in painterWithPlaceholderOverlayBackgroundBrush to originalPainter ; changed visibility of PlaceholderState.placeholderProgression from public to internal and renamed it to placeholderShimmerProgression ; added placeholder animation duration constants to PlaceholderDefaults . ( Ie5a59 )
  • We have updated the EdgeButton API as follows: renamed the parameter on ScreenScaffold from bottomButton to edgeButton ; made EdgeButtonSize a value class. ( Ieef15 )
  • We have changed the visibility of copy() to public in wear material3 Colors classes ( I0287f )

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

  • Added minimum animation duration for IconToggleButton and TextToggleButton on click ( Ieb333 )
  • Added minimum duration on IconButton and TextButton shape animation ( Iebcee )
  • Corrected the repeat option state of DatePicker . ( I3587c )
  • Added motion for Alert and Confirmation dialogs. ( I173b1 )

Version 1.0.0-alpha27

16 октября 2024 г.

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

Изменения API

  • We have updated the ScreenScaffold and ScrollIndicator following the renaming of Wear Compose Foundation LazyColumn to TransformingLazyColumn . ( I0608b )
  • EdgeButton 's preferredHeight parameter has been renamed to buttonSize and its value can only be chosen from 4 constants in the newly introduced EdgeButtonSize value class. ( Icdd70 )
  • We have changed the naming of ListSubheader to ListSubHeader and added publicly accessible default values for ListHeader and ListSubHeader . ( I96730 )
  • We have added new HorizontalPagerScaffold and VerticalPagerScaffold components for Wear which provide new animations and coordination between time text and page indicator components. ( Iff7d0 )
  • We have added rotary support to HorizontalPagerScaffold and VerticalPagerScaffold , enabling users to navigate pagers using rotary input devices. ( I9770d )
  • We have made MotionScheme API changes to simplify the usage and improve consistency. Removed inlined remember functions and moved the built-in Motion Schemes to a dedicated MotionScheme companion object. Renamed the standardMotionScheme and the expressiveMotionScheme to standard and expressive. ( I5fd45 )
  • We have added support for a dynamic color scheme based on system colors. ( I073e9 )
  • We have updated the Stepper to the latest UX specs. ( I622bb )

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

  • We have updated typography and paddings for Card components. ( I3ae48 )
  • We have changed the padding in AlertDialog between Confirm/Dismiss buttons and the rest of the content from 8dp to 12dp according to UX specs ( Ie55f0 )
  • We have updated the color opacity for the Slider component. ( Idb383 )

Version 1.0.0-alpha26

2 октября 2024 г.

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

Изменения API

  • We have updated the API and appearance of HorizontalPageIndicator and added VerticalPageIndicator for use with VerticalPager ( Ic9309 )
  • AlertDialog now supports the ability to omit the default bottom button from the button stack variation, for custom layouts in which EdgeButton is not required. ( I34fa9 )
  • We have added a SwipeToReveal component for Wear Material 3 ( Ic38b2 )
  • We have added support for bi-directional swiping in SwipeToReveal , for rare cases where the current screen does not support swipe to dismiss. The default is still to swipe-to-reveal only on right-to-left swipes and it is strongly advised to respect the default behavior to avoid conflict with swipe to dismiss. ( Ifac04 )
  • We have renamed EdgeButton 's buttonHeight parameter to preferredHeight . ( I4fab3 )
  • The Kotlin version has been updated to 1.9 ( I1a14c )
  • We have renamed OpenOnPhoneDialogDefaults.Icon to OpenOnPhoneDialogDefaults.OpenOnPhoneIcon to avoid clashing with Icon ( I0f391 )
  • We have added support for ScrollIndicator in LazyColumn . ( Ia546a )
  • We have updated default values for TextToggleButton and IconToggleButton . ( I7aaa9 )
  • We have simplified the Picker and PickerGroup API. ( Id0653 )
  • We have added CardDefaults.Shape and CardDefaults.Height , which (being tokens) were otherwise private to developers using the library. ( I1594a , b/347649765 )
  • We have renamed the progress parameter for the binary segmented circular progress indicator to segmentValue . ( Ib72d9 )
  • We have updated the colors and layout for Slider. ( Ic3eec )

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

  • We have updated the openOnPhone icon animation ( I66f85 )
  • We are now using Google Symbols icons in Slider , TimePicker and DatePicker . ( I46c7c )
  • We have updated the paddings in Confirmation and OpenOnPhoneDialog . ( Iaa82e )

Version 1.0.0-alpha25

18 сентября 2024 г.

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

Изменения API

  • We have added an Indeterminate circular progress indicator. ( I427a7 )
  • We have added support for progress overflow (>100% progress) for both the CircularProgressIndicator and the SegmentedCircularProgressIndicator . When the progress exceeds 1.0, this will be indicated by the new overflowTrack color. ( Iaaa3d )
  • The round IconToggleButton and TextToggleButton now support a new shape animation variation, in which different shapes represent checked, unchecked and pressed states. The earlier animated shape variation for the just pressed state continues to be supported. ( I29f03 )
  • We have removed support for using EdgeButton with Column , due to the need to specify the EdgeButton height explicitly in ScreenScaffold . ( Ie353d )
  • We have added support for the Wear Compose LazyColumn with our ScreenScaffold (and added an implementation of ScrollInfoProvider for LazyColumnState ). ( Ib8d29 )
  • We have combined LocalTextMaxLines , LocalTextAlign , LocalTextOverflow into a single LocalTextConfiguration composition local to provide a more scalable solution going forwards. ( I5edbc )
  • We have added arc-large as an additional typescale, reserved for short header text strings at the very top or bottom of the screen, like in Confirmation overlays. ( I60e3e )
  • We have added defaults to Button for recommended large and extra large icon sizes and content padding. ( I84675 )

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

  • We have updated the colors for IconButton and TextButton . ( I48324 )
  • We have changed the base Button overloads to be vertically center-aligned for consistency with other overloads. To restore the previous behavior, use Modifier.align from the RowScope . ( I66e57 )

Version 1.0.0-alpha24

4 сентября 2024 г.

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

Изменения API

  • We have added a Motion scheme into the Material3 theme. This will be used by components across the library to apply animation specifications such as springs for expressive motion. ( I54ff3 )
  • We have added AppScaffold and ScreenScaffold components to the Material3 library, which include functionality to coordinate layering and transitions of TimeText and ScrollIndicator . AppScaffold provides a top level of scaffold components that sit on top of all screens. As such, adding TimeText to the AppScaffold allows it to remain in place while swiping between screens. Screens can themselves override or hide the time text. ScreenScaffold provides a slot for the ScrollIndicator and automatically animates the scroll indicator when scrolling, including timeout to hide the scroll indicator after inactivity. ( I047d6 )
  • We have added ScrollIndicator featuring the new Material3 design. It has a fixed thumb size based on initial list contents, in order to avoid size variations when lazy content is loaded into the list. ( Ic228d )
  • We have changed the ScrollAway API such that ScreenStage is a value class instead of an enum class, to allow for additional stages to be added as needed going forwards. ( I48c93 )
  • We have added EdgeButton , a distinctive Wear-specific button with a shape that follows the curvature of the bottom of the screen ( I16369 )
  • We have added a new slot to the ScreenScaffold for a bottom button (such as EdgeButton ), that will be shown and resized depending on the scrolling content ( I032eb )
  • We have added Modifier.scrollTransform and Modifier.targetMorphingHeight to add Material3 motion effects to items in LazyColumn . ( Ie229a )
  • We have added SegmentedCircularProgressIndicator as a variation on CircularProgressIndicator . The segmented variation either shows a single progress value across all segments or shows each segment as being on/off. ( I6e059 )
  • We have added LinearProgressIndicator as an alternative to the existing CircularProgressIndicator . ( I89182 )
  • We have added AlertDialog , providing layouts for presenting important prompts to the user. Variations are included for either a pair of confirm/dismiss buttons or a single bottom button (typically an EdgeButton) below a stack of options. Both variations have slots for icon, title and additional text to provide further details. ( Ieb873 )
  • We have added OpenOnPhoneDialog , which should be used to indicate an action that will continue on the user's phone. OpenOnPhoneDialog is dismissed after a specified timeout. ( I978fd )
  • We have added Confirmation , a dialog component that has slots for an icon and either curved or linear text. Specific variations are provided for success/failure messages. Confirmations are automatically dismissed after a timeout. ( Ib43e8 )
  • We have added a background to TimeText to mitigate issues where the underlying content and the TimeText overlapped, and obscured the time. ( Ia11fd )
  • We have added LevelIndicator , which shows the value of a setting such as volume, and can be used with the existing Stepper component to construct a volume screen. LevelIndicator is similar to ScrollIndicator , but is displayed on the opposite side of the screen and has a wider stroke width and different indicator color by default. ( I8a4ac )
  • We have added TimePicker , with layouts for 24 hour time (with or without seconds), or 12 hour time with am/pm selection. ( Ia5124 )
  • We have added DatePicker , with configuration for column ordering (ie day-month-year, month-day-year or year-month-day) and optional min/max dates. ( Ibf13b )
  • We have added a weight parameter to the TimeText 's text function. In cases where TimeText is made up of more than one text element, this allows control over how the space is distributed. ( I36700 )
  • We have added RadioButton and SplitRadioButton - these components simplify the previous API by combining both the (Split) SelectableButton and the child radio control ( If7ae8 )
  • We have added CheckboxButton and SplitCheckboxButton - these components simplify the previous API by combining both the (Split) ToggleButton and the child Checkbox control ( Ia8f70 )
  • We have added SwitchButton and SplitSwitchButton - these components simplify the previous API by combining both the (Split)ToggleButton and the child Switch control ( I0d349 )
  • We have updated AnimatedText documentation to explain overshooting behavior. ( Iff30a )
  • We have added ButtonGroup to combine 2 or 3 buttons such that button presses produce a coordinated animation. ( Ie27db )
  • We have added optional shape animation for IconButton and TextButton when pressed. ( Iffca5 )
  • We have added an additional color variation, FilledVariant , to Button , IconButton , TextButton , CompactButton and EdgeButton ( I65fc3 )
  • We have added the forcedSize parameter to ImageWithScrimPainter , such that Button image backgrounds now maintain their component size by default. Setting the forcedSize = null adopts the Painter.instrinsicSize instead. ( Ic57af )
  • We have added long-click to Buttons ( Ib613d )
  • Long click support has also been added to IconButton and TextButton . ( I38891 )
  • Long click support has been added to Cards. ( I305d5 )
  • We have added LocalTextMaxLines , LocalTextAlign , LocalTextOverflow as CompositionLocals and used them as parameter defaults on Text . The composition locals can now be used by components such as CheckboxButton , SwitchButton , RadioButton to implement UX guidance, but the parameters can be overridden by developers if necessary. ( Iab841 )
  • We have added Placeholder to help in masking the content of components like buttons & cards until the data is loaded. ( I1a532 )
  • We have added IconToggleButtonColors and TextToggleButtonColors to replace the now removed ToggleButtonColors . ( Ie0bf1 )

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

  • We have updated Button , FilledTonalButton , OutlinedButton , ChildButton , CompactButton to use the new CompositionLocals LocalTextMaxLines , LocalTextAlign , LocalTextOverflow to implement UX guidance - these parameters can be overridden by developers on Text directly if necessary ( Ie51f7 )
  • We have changed the default stroke width of the LevelIndicator to 6dp to differentiate it from the ScrollIndicator which has a stroke width of 4dp . ( If6f63 )
  • We have fixed an issue in TimeText so that larger sweep angles are supported. ( Ie489f )
  • Fixed an issue during EdgeButton recomposition. ( I4cdca )
  • Corrected layouts of split toggle buttons when customized content padding is provided. ( Ia33d3 )
  • Rounded up small progress values to at least the line width of the progress indicator. ( I3bd84 )

Version 1.0.0-alpha23

14 мая 2024 г.

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

Изменения API

  • We have updated ToggleButton and RadioButton APIs such that disabled colors can be configured. ( If13a7 )
  • We have added a new CircularProgressIndicator for Material3. ( Ib3bd7 )

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

  • We have fixed a bug where selectable buttons announced double tap to toggle when already selected. ( I7ed88 )

Version 1.0.0-alpha22

1 мая 2024 г.

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

Изменения API

  • We have updated the Material3 ColorScheme . ( I7b2b8 )
  • We have updated the Material3 Switch - as well as some color changes, the tick now matches that used for the Checkbox. ( Icac7b )

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

  • Update all integration demos to use new rotaryScrollable modifier. ( I25090 )

Version 1.0.0-alpha21

17 апреля 2024 г.

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

  • This release was triggered due to a technical issue in the previous release that resulted in missing source jars. There are no new commits in this release.

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

3 апреля 2024 г.

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

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

  • We have adjusted the Ripple pressed and focused state alphas for contrast. ( I59f0a )
  • We have added spacing between primary and secondary labels in Button , ToggleButton and RadioButton , following the latest changes to typography styles and line heights. ( I2c0ba )

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

6 марта 2024 г.

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

Изменения API

  • We have added TimeText to the Wear Compose Material3 library. This component shows the current time (and additional status) at the top of the screen. The new, concise Material3 API avoids duplication between linear and curved content. ( I4d7c3 )
  • We have updated parameter names from onSelected to onSelect for RadioButton . ( I1a971 )
  • Tokenize RadioButton and SplitRadioButton and also refactor the existing methods to reduce the amount of CompositionLocal lookup by adding cached instances of colors, and making methods of RadioButtonColors and SplitRadioButtonColors internal. ( I02b33 )

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

21 февраля 2024 г.

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

Изменения API

  • We have refactored the defaults pattern for CardColors , ToggleButtonColors and SplitToggleButtonColors by creating cached instances internally and reducing the usage of CompositionLocal . ( If3fec )

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

7 февраля 2024 г.

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

Изменения API

  • We have updated the Button API to use buttonColors by default and removed the duplicate filledButtonColors . ( I4fe3b )
  • We have refactored default patterns for ButtonColors , IconButtonColors and TextButtonColors by creating a cached instance internally and reducing the usage of CompositionLocal . ( I5f51c )
  • We have removed the overhead of rememberUpdatedState in Component specific color classes and marked accessor methods inside color classes as internal. ( If6571 )

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

  • We have updated Modifier.minimumInteractiveComponentSize to use Modifier.node . ( Iba6b7 )

Version 1.0.0-alpha16

24 января 2024 г.

androidx.wear.compose:compose-material3:1.0.0-alpha16 is released. Версия 1.0.0-alpha16 содержит эти коммиты.

Новые функции

  • We have added CompactButton , which can use the same filled, filled tonal and outlined colors as Button.( I05df0 )

Изменения API

  • We have added RadioButton / SplitRadioButton as containers for selection controls, such as the Radio control. This differs from the existing ToggleButton in that RadioButton is selectable (and operates within a selection group) whereas ToggleButton is toggleable (and is independent). ( I61275 )
  • We are removing LocalContentAlpha from the Wear Compose Material3 library for consistency with the Compose Material3 library. ( I49a0a )
  • Wear material and wear material3 components exposing a MutableInteractionSource in their API have been updated to now expose a nullable MutableInteractionSource that defaults to null. There are no semantic changes here: passing null means that you do not wish to hoist the MutableInteractionSource , and it will be created inside the component if needed. Changing to null allows for some components to never allocate a MutableInteractionSource , and allows for other components to only lazily create an instance when they need to, which improves performance across these components. If you are not using the MutableInteractionSource you pass to these components, it is recommended that you pass null instead. It is also recommended that you make similar changes in your own components. ( Ib90fc , b/298048146 )
  • Adds new ripple API in wear:compose-material and wear:compose-material3 libraries which replaces the deprecated rememberRipple . Also adds a temporary CompositionLocal , LocalUseFallbackRippleImplementation , to revert Material components to using the deprecated rememberRipple/RippleTheme APIs. This will be removed in the next stable release, and is only intended to be a temporary migration aid for cases where you are providing a custom RippleTheme . See developer.android.com for migration information and more background information behind this change. ( af92b21 )
  • We have made minor improvements to the HorizontalPageIndicator api and its documentation. ( I60efc )
  • We have updated ColorScheme to be immutable, making individual color updates less efficient, but making more common usage of colors more efficient. The reasoning behind this change is that the majority of apps wouldn't have updating individual colors as a main use case. This is still possible but it will recompose more than before, in turn we significantly decrease the amount of state subscriptions through all of material code and will impact initialization and runtime cost of more standard use cases. ( Ibc2d6 )
  • Updated ToggleButton and SplitToggleButton APIs to allow disabled colors to be customized. In addition, Material Design tokens are now used for color and typography values. ( If087c )
  • Updated Button image background colors to use Material Design tokens. ( Iba215 )
  • We have changed the Checkbox , Switch and RadioButton components to be display-only, by removing the click handling. These components are expected to be used in (Split)ToggleButton which handles the click, so the components are now more clearly indicated as display-only (and are not intended for standalone use on Wear). ( I2322e )

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

  • We have added tokens for motion values of durations and easings in Wear Compose Material 3. ( I437cd )
  • We have fixed a bug in the ToggleButton , SplitToggleButton , Checkbox , Switch and RadioButton so that accessibility announcements are not repeated (previously, semantic roles were duplicated). ( Ica281 )
  • We have removed the materialcore layer for CompactButton to improve performance. ( 7902858 )

Version 1.0.0-alpha15

15 ноября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha15 is released. Версия 1.0.0-alpha15 содержит эти коммиты.

Изменения API

  • We have renamed the Foundation level SwipeToDismissBox to BasicSwipeToDismissBox . This makes the distinction clearer between the Foundation level component and the Material3 level SwipeToDismissBox . The latter pulls colors from the MaterialTheme to be used in scrims and delegates the remaining implementation to the BasicSwipeToDismissBox . ( Ibecfc )

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

  • We have removed the material-core layer for Material3 Button to improve performance. ( I55555 )

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

October 18, 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 is released. Версия 1.0.0-alpha14 содержит эти коммиты.

Изменения API

  • We have removed the indicatorStyle parameter from the Material3 HorizontalPageIndicator - instead, it will follow the device screen shape (linear or round). ( I83728 )
  • We have separated the colors for SplitToggleButton from those for ToggleButton , by adding a new SplitToggleButtonColors class. ( I78bee )

Version 1.0.0-alpha13

4 октября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha13 is released. Версия 1.0.0-alpha13 содержит эти коммиты.

Изменения API

  • We have added an optional Subtitle field to TitleCard . ( Ifc45a )
  • We have added Material Design color tokens for TextButton . ( I769dc )

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

20 сентября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha12 is released. Версия 1.0.0-alpha12 содержит эти коммиты.

Изменения API

  • We have updated IconButton to use Material Design tokens. ( I3f137 )
  • We have updated IconToggleButton to use Material Design tokens. ( I7d263 )
  • We have made public the constructors of CheckboxColors , RadioButtonColors , SwitchColors . ( I82b73 )

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

6 сентября 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha11 is released. Версия 1.0.0-alpha11 содержит эти коммиты.

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

  • We update updated the typography for Material3 Cards to TitleMedium . ( I597bd )
  • We have updated the typography and alignment for our Material3 ListHeader and ListSubheader . ( Ib5ceb )

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

23 августа 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha10 is released. Версия 1.0.0-alpha10 содержит эти коммиты.

Новые функции

  • Add HorizontalPageIndicator in Wear Material3 library. ( Ifee99 )

Изменения API

  • Update Buttons code to use Material3 design tokens. ( I92fe4 )
  • Declaring Wear Material 3 Stepper and Slider APIs as experimental as the details of the user interface are still being finalized. ( I84d54 )
  • We have removed the ExtraSmall sizes from the round TextButton and TextToggleButton as that size only applies to the IconButton . ( Ibc7d5 )

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

  • We have updated the guidance on typography for TextToggleButton to use LabelLarge for LargeButtonSize ( Ib10fa )
  • We have updated the guidance on typography for TextButton to use LabelLarge for LargeButtonSize ( I8f3a7 )
  • We have set the Card's minimum touch target to be 48dp for accessibility. ( Ieb9b1 )
  • Add AppCard with image demo, removing AppCard with Background demo ( Id735f )
  • Fix a bug in round buttons where modifiers were not chained correctly. ( I5e162 )

Version 1.0.0-alpha09

9 августа 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha09 is released. Версия 1.0.0-alpha09 содержит эти коммиты.

Новые функции

  • We have added ToggleButton for material3 ( I6bed6 )

Изменения API

  • We have turned on the FloatRange annotation as API constraints , which were previously stated in comments. ( Icb401 )
  • We have updated the typography for Wear Material3 to adhere to the latest Material3 guidelines. ( I1bad6 )

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

  • We have updated the colors for Button , IconButton and TextButton in line with Material3 design. ( Ib2495 )
  • We have fixed checkbox tick visibility in disabled states. ( Ib25bf )

Version 1.0.0-alpha08

26 июля 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha08 is released. Версия 1.0.0-alpha08 содержит эти коммиты.

Новые функции

  • We have added the following selection controls for Material3 - Switch , Checkbox , RadioButton . ( Ib918c )
  • We have added IconToggleButton and TextToggleButton to Material3, a circular toggle button with a single slot for icon and text respectively. For different sizes of ToggleButton , we recommend using Modifier.touchTargetAwareSize with the sizes provided in respective toggle buttons. ( I9f015 )
  • We have added ListHeader and ListSubheader to our Material3 components. ( Ibaefe )
  • We have added Material3 SwipeToDismissBox , which calls the new Foundation SwipeToDismissBox and supplies default color values from its theme. ( I275fb )
  • We have added the Material3 InlineSlider to Wear Compose. It allows users to make a selection from a range of values. The range of selections is shown as a bar between the minimum and maximum values of the range, from which users may select a single value. InlineSlider is ideal for adjusting settings such as volume or brightness. ( I7085f )

Изменения API

  • We have updated the Shapes in Wear Material 3 theme to use RoundedCornerShape based instead of Shape. ( Idb133 )
  • We have made the height constants for Button public ( Idbfde )
  • Updated API files to annotate compatibility suppression ( I8e87a , b/287516207 )
  • We have updated InlineSliderColors in Wear Compose Material 3 to have public constructor and public properties. ( I6b632 )
  • We have updated all color classes in Wear Compose Material 3 to have public constructors and public properties. ( I17702 )
  • We have made Button horizontal and vertical padding constants public. ( Ieeaf7 )

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

  • Button will now adjust its height to accommodate content that has grown due to large fonts for accessibility, when required ( Iaf302 )
  • We have updated a number of Button demos to address accessibility issues. ( I61ce9 )
  • Stepper and InlineSlider now support repeated clicks on long press so that you can quickly increase/decrease value of Stepper and InlineSlider by holding the + or - buttons ( I27359 )

Version 1.0.0-alpha07

21 июня 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha07 is released. Версия 1.0.0-alpha07 содержит эти коммиты.

Новые функции

  • We have added the Stepper component to our Compose for Wear OS Material 3 library. This is similar to the previous Material version, but omits range semantics by default, following developer feedback. We provide Modifier.rangeSemantics the cases where range semantics are required. ( Ic39fd )
  • We have added curvedText to our Compose for Wear OS Material 3 library. ( Ia8ae3 )

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

  • We have update wear.compose.foundation to be an API dependency of wear.compose.material3 ( I72004 , b/285404743 )

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

7 июня 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha06 is released. Версия 1.0.0-alpha06 содержит эти коммиты.

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

  • We have updated TextButton to use the toDisabledColor extension function for correct disabled alpha values. ( I814c8 )

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

24 мая 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha05 is released. Версия 1.0.0-alpha05 содержит эти коммиты.

Новые функции

  • We have added TextButton to Material3, a circular button with a single slot for text. For different sizes of TextButton , we recommend using Modifier.touchTargetAwareSize and ExtraSmallButtonSize , SmallButtonSize , DefaultButtonSize and LargeButtonSizeIcon provided in TextButtonDefaults . The default TextButton has no border and a transparent background for low emphasis actions. For actions that require high emphasis, use filledTextButtonColors ; for a medium-emphasis, outlined TextButton , set the border to ButtonDefaults.outlinedButtonBorder ; for a middle ground between outlined and filled, use filledTonalTextButtonColors . ( I667e4 )
  • We have added Card , OutlinedCard , AppCard and TitleCard into the Wear Compose Material3 library. AppCard and TitleCard can also be given the outlined appearance using CardDefaults.outlinedCardColors and CardDefaults.outlinedCardBorder ( I80e72 )

Изменения API

  • We have moved the Button label parameter to the end to support trailing lambda syntax and removed the role parameter (as this can be overridden using Modifier.semantics ). ButtonColors constructors are now public. ( Ie1b6d )

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

10 мая 2023 г.

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

Новые функции

  • We have added IconButton to Material3, a circular button with a single slot for icon/image. There are four variations: IconButton , FilledIconButton , FilledTonalIconButton and OutlinedIconButton . For different sizes of IconButton , we recommend using Modifier.touchTargetAwareSize and ExtraSmallButtonSize , SmallButtonSize , DefaultButtonSize and LargeButtonSizeIcon provided in IconButtonDefaults . We also provide IconButtonDefaults.iconSizeFor to determine the recommended icon size for a given button size. ( I721d4 )

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

19 апреля 2023 г.

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

Изменения API

  • We have added the Material 3 Button component - this is our stadium-shaped button and was formerly named Chip in the Wear Compose Material library (it has been renamed to Button for consistency with the Compose Material 3 library). The default Button has a filled background and there are button variations for FilledTonal (muted background), Outlined (transparent with a thin border) and Child (transparent background and no border, used for supplementary actions with the lowest amount of prominence). Round buttons for simple icon and text content will follow in a future release.( Ia6942 )

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

5 апреля 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha02 is released. Версия 1.0.0-alpha02 содержит эти коммиты.

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

  • We have added a DefaultTextStyle to Wear Compose Material 3 which defaults the PlatformTextStyle.includeFontPadding to true (the current setting). This will allow us to synchronize turning off font padding by default with the Compose libraries in the future (see Fix font padding in Compose for background ). ( I7e461 )

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

22 марта 2023 г.

androidx.wear.compose:compose-material3:1.0.0-alpha01 is released. Версия 1.0.0-alpha01 содержит эти коммиты.

Новые функции

  • Material 3 is the next evolution of Material Design and includes updated theming and redesigned components. Material 3 on Wear Compose is designed to be cohesive with the Material 3 Compose library on Android. This first alpha release contains early, functional implementations of the following:

    • Material theme - configures the color scheme, typography and shapes consistently across components in the library. The Material3 theme has revised colors which support accessible contrast. ( I84005 )
    • Text/Icon - building blocks for Wear Compose apps ( I8e06a )
  • We will continue to develop Wear Material ( androidx.wear.compose:compose-material ) and Wear Material 3 ( androidx.wear.compose:compose-material3 ) in parallel. Future material3 releases will extend the widget set to include other familiar components from Compose for Wear OS, such as buttons, pickers, and sliders.

  • The Wear Material and Wear Material 3 libraries are mutually exclusive and should not be mixed in the same app, primarily because they reference different themes which would lead to unexpected inconsistencies.