Создание текста в Wear OS
| Последнее обновление | Основная версия | Release Candidate | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 7 октября 2026 г. | 1.7.1 | - | - | 1.8.0-alpha01 |
Как объявлять зависимости
Чтобы добавить зависимость от Wear, необходимо добавить в проект хранилище Google Maven. Подробная информация приведена в репозитории Google Maven.
Добавьте в файл build.gradle приложения или модуля зависимости для нужных артефактов:
классный
dependencies { implementation "androidx.wear.compose:compose-foundation:1.7.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.7.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.7.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.7.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Котлин
dependencies { implementation("androidx.wear.compose:compose-foundation:1.7.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.7.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.7.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.7.0") // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material. // androidx.wear.compose:compose-material is designed as a replacement // not an addition to androidx.compose.material:material. // If there are features from that you feel are missing from // androidx.wear.compose:compose-material please raise a bug to let us know. }
Подробнее о зависимостях приведено в статье Добавление зависимостей сборки.
Отзыв
Ваши отзывы помогают нам улучшать Jetpack. Если вы обнаружите проблемы или решите что-то предложить, отправьте отзыв. Прежде чем создавать новую проблему, ознакомьтесь с существующими. Вы можете добавить свой голос к существующей проблеме, нажав на значок звездочки.
Дополнительную информацию можно найти в документации по системе отслеживания ошибок.
Версия 1.8
Версия 1.8.0-alpha01
7 октября 2026 г.
Выход androidx.wear.compose:compose-*:1.8.0-alpha01. Версия 1.8.0-alpha01 содержит эти коммиты.
Изменения в API
- Добавлены новые перегрузки
AppScaffoldиScreenScaffoldбез параметраtimeText, которые задают рекомендуемое направление для перехода с Wear Compose 1.8 на новую строку системного статуса. Если на устройстве установлена более старая версия ОС без строки системного статуса, новые перегрузки будут заменяться на значение по умолчаниюTimeText. Существующие перегрузки теперь по умолчанию переносятся в строку состояния системы, если не указан специальный пользовательский элементtimeText. (I40a5e) - Добавлен вспомогательный компонент
StatusBarSuppression, позволяющий скрыть строку состояния системы в полноэкранных и наложенных компонентах. (I387c3) - Добавлен модификатор Introduced Modifier.
curveToEdge, который использует шейдер, чтобы изогнуть компонент к границе родительского контейнера вокруг центра, всегда рассматривая контейнер как круг. Известные проблемы: у компонентов, на которые можно нажать, будут неправильные границы, аTalkBackне будет выделять компоненты. (I8bbaa) - В Wear Compose Material 3 добавлены элементы
PullToRefreshBoxиPullToRefreshStateс расстояниями перетаскивания и порогами обновления, адаптированными для устройств Wear OS.(Iee9a5) - Перенос функций
PullToRefreshBox,PullToRefreshDefaultsиPullToRefreshStateв стабильные общедоступные API в Wear Compose Material 3. (I079b6) - Добавляет перегрузку
SwipeToRevealс параметром преобразования для поддержки преобразований контейнеров вTransformingLazyColumn. (I328ce) - Теперь библиотеки предназначены для Kotlin 2.2 и требуют kotlinc 2.2 (I82396, b/498369605).
- Удален флаг экспериментальной функции
WearComposeFoundationFlags.isTransformingLazyColumnClickableThresholdEnabled. Порог кликабельности вTransformingLazyColumnтеперь всегда включен. (Ib68c8) - Удален экспериментальный флаг
WearComposeFoundationFlags.isTransformingLazyColumnPinnableContainerEnabled. (Ibad2e)
Исправление ошибок
- Исправлена ошибка в Wear Compose Foundation
HorizontalPager, из-за которой при обработке жестов неправильно определялся приоритет между пролистыванием и проведением для закрытия. (I54caf) - Добавлен элемент
Modifier.testTag("time_text")вTimeText, чтобы его можно было обнаружить в отчетах о тестировании, когда строка состояния системы возвращается к composable-функцииTimeTextпо умолчанию. (Iacb09) - Устранено исключение
IllegalStateExceptionвOneHandedGestureModifier.updateCompositionLocals, возникающее при попытке доступа к узлам до их подключения. (I662271) - Добавлена поддержка жеста
AlertDialog, поэтому прокрутка вниз и нажатия кнопкиConfirmдоступны по умолчанию. (I51f81) - Устранена проблема с мерцанием экрана в приложении
TimeTextпри переходе к унаследованной строке состояния. Для этого мы улучшили логику подавления видимости вScreenContent. (I12dd01) - Устранена проблема, из-за которой компоненты, подавляющие строку системного статуса (например, Stepper), возвращались к отрисовке в приложении
TimeText. (I86830) - Исправлена ошибка, из-за которой
StatusBarSuppression()не учитывалLocalStatusBarEnabled, когда глобальная строка статуса была отключена, что приводило к лишним проходам макета в диалоговых окнах. (I4f77f6) - Исправлена проблема в Wear Material3
Scaffold, из-за которойcurrentScrollInfoProviderне наследовал значения от экранов, расположенных ниже, если верхний экран предоставлял нулевое значение. (I97874) - Добавлена поддержка скрытия строки состояния
Dialogи вложенных элементовScreenScaffoldв Wear Material3 Scaffold. (I01772) - Устранена проблема в
AppScaffold, из-за которой при прокрутке снова появлялось наложение строки состояния, когда верхний элемент был закреплен. (I421b3) - Устранена проблема, из-за которой верхнее поле
ScreenScaffoldсворачивалось при открытии экранов с отключенным режимом строки состояния. (I7cf4f) - Добавлена поддержка оркестровки строки состояния в многооконном режиме для каркасов Wear Compose Material3, позволяющая диалоговым окнам и отдельным окнам управлять собственными контроллерами строки состояния системы. (Ibf82c)
- Улучшена
TransformingLazyColumnобработка отрицательных значений интервалов между элементами (I99ac7). - Оптимизированы индикаторы жестов: фон указателя индикатора в ресурсах заменен на функции холста с использованием путей. (Iee2b7)
- Оптимизированы индикаторы жестов: основные и закрывающие AVD в ресурсах заменены функциями рисования с использованием путей. (Ib2d05)
- Зависимость
androidx.lifecycle:lifecycle-runtimeбыла обновлена до версии 2.10.0. Эта версия необходима для выполнения встроенных проверок lint времени выполнения жизненного цикла с AGP версии 9.5.0-alpha04 или более поздней. (I99bfd, b/556807521) - Обновлены базовые профили для библиотек Wear Compose Foundation, Material3 и Navigation3. (I9b0a3)
Версия 1.7
Версия 1.7.1
7 октября 2026 г.
Выход androidx.wear.compose:compose-*:1.7.1. Версия 1.7.1 содержит эти коммиты.
Исправление ошибок
- Исправлено мерцание анимации
OneHandedGestureHintScrollIndicator(I650c6) - Удалите блокировку прокрутки из
OneHandedGestureScrollIndicatorи управляйте видимостью индикатора вScreenScaffoldс помощью локальной композиции (I13050). - Исправьте ошибку
IllegalStateExceptionвModifier.oneHandedGesture(I35151)
Версия 1.7.0
23 сентября 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0. Версия 1.7.0 содержит эти коммиты.
Важные изменения с версии 1.6.0
- Добавлен новый API для управления одной рукой, который включает обработчики жестов для основного действия (двойное сведение пальцев) и действия "Закрыть" (поворот запястья), а также анимированные индикаторы для нажатия, прокрутки и перехода на другую страницу, которые появляются, когда жесты доступны.
- Добавлена поддержка
PinnableContainerвTransformingLazyColumnдля хранения объекта в памяти вместо его удаления, когда он прокручивается за пределы области просмотра. TransformingLazyColumnтеперь поддерживает анимацию элементов, когда они выходят за пределы области просмотра. Благодаря этому они плавно исчезают с экрана, а не просто исчезают.- Добавлен параметр
firstLayoutItemProviderвTransformingLazyColumnв качестве необязательной настройки для первого элемента макета. Если указан поставщик, он определяет объект и его край, используемые в качестве исходной точки размещения. Это позволяет контролировать направление сдвига контента при динамическом обновлении объектов. - Улучшения
SwipeToRevealдля поддержки вложенной прокрутки, быстрого пролистывания, второго тактильного отклика при частичном раскрытии иactionContentSpacingдля расстояния между основным контентом и кнопками действий. - Добавлены аннотации
@FrequentlyChangingValueи@RememberInComposition, которые позволяют получать предупреждения от инструмента lint, чтобы предотвратить проблемы с производительностью, вызванные чтением часто обновляемых данных о состоянии или невозможностью запомнить объекты во время композиции.
Исправление ошибок
- Зависимость
androidx.lifecycle:lifecycle-runtimeбыла обновлена до версии 2.10.0. Эта версия необходима для выполнения встроенных проверок lint времени выполнения жизненного цикла с AGP версии 9.5.0-alpha04 или более поздней. (If8e16)
Версия 1.7.0-rc01
9 сентября 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-rc01. Версия 1.7.0-rc01 содержит эти коммиты.
- В этом выпуске версия Compose для Wear OS 1.7.0 стала релиз-кандидатом, но в остальном он не отличается от версии 1.7.0-beta02.
Версия 1.7.0-beta02
26 августа 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-beta02. Версия 1.7.0-beta02 содержит эти коммиты.
Исправление ошибок
- Обновлены базовые профили для библиотек Wear Compose Foundation, Material3 и Navigation3. (I9b0a3)
- Исправлено мерцание анимации подсказки жеста в
OneHandedGestureScrollIndicator. (6e0c1cb)
Версия 1.7.0-beta01
12 августа 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-beta01. Версия 1.7.0-beta01 содержит эти коммиты.
Версия 1.7.0-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован. В Wear Compose 1.7.0-beta01 добавлены следующие новые функции:
- Поддержка жестов одной рукой, включая обработчики жестов для основного действия (например, двойного щипка) и действия закрытия (например, поворота запястья), а также анимированные индикаторы, которые показывают, когда жесты доступны для кликабельных элементов интерфейса (например, кнопок и карточек), списков с возможностью прокрутки и пейджеров.
- Добавлена поддержка
PinnableContainerвTransformingLazyColumnдля хранения объекта в памяти вместо его удаления, когда он прокручивается за пределы области просмотра. TransformingLazyColumnтеперь поддерживает анимацию элементов, когда они выходят за пределы области просмотра. Благодаря этому они плавно исчезают с экрана, а не просто исчезают.- Добавлен параметр
firstLayoutItemProviderвTransformingLazyColumnв качестве необязательной настройки для первого элемента макета. Если указан поставщик, он определяет объект и его край, используемые в качестве исходной точки размещения. Это позволяет контролировать направление сдвига контента при динамическом обновлении объектов. - Улучшения
SwipeToRevealдля поддержки вложенной прокрутки, быстрого пролистывания, второго тактильного отклика при частичном раскрытии иactionContentSpacingдля расстояния между основным контентом и кнопками действий. - Добавлены аннотации
@FrequentlyChangingValueи@RememberInComposition, которые позволяют получать предупреждения от инструмента lint, чтобы предотвратить проблемы с производительностью, вызванные чтением часто обновляемых данных о состоянии или невозможностью запомнить объекты во время композиции.
Изменения в API
- Переименованы следующие объекты:
GestureActionвOneHandedGestureAction,GesturePriorityвOneHandedGesturePriorityиGestureIndicatorSizeвOneHandedGestureIndicatorSize(Ifc7f4, b/522761843).
Исправление ошибок
- Исправлена проблема в
ScrollInfoProvider, из-за которойTimeTextмигал или исчезал при изменении или изменении размера элементов списка. (Ief762, b/537433564)
Версия 1.7.0-alpha07
29 июля 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha07. Версия 1.7.0-alpha07 содержит эти коммиты.
Изменения в API
- Изменен код API
OneHandedGesture. Вместо логического индикатора состояния (который требовал сброса после показа индикатора) используется функция приостановки для запуска анимации. У каждого типа индикатора теперь есть собственный класс состояния, в котором заключена логика анимации. Переименовано сkeyнаgestureIdвGestureConfiguration. (I7974f, b/522761843) - Добавлен переизбыток контента в одном слоте
CompactButton(Idaffc, b/527889640) - Добавление поддержки
PinnableContainerвTransformingLazyColumn(Id3dc9, b/492418172)
Исправление ошибок
- Добавлены и обновлены документы на уровне модулей для Wear Compose Foundation, Material 3 и Navigation 3. (I111d7, b/498153783)
- Исправлена проблема в
ScreenScaffold, из-за которой повторные композиции могли приводить к тому, что не запомненные элементыScrollInfoProviderсбрасывали состояние отслеживания прокрутки. (I8be02, b/524620765) - Ошибка адреса
IllegalArgumentException: maxWidth must be >= than minWidth, вызванная большими горизонтальными отступами (I014e8, b/531192734) - Исправлена анимация
EdgeButtonпри быстром перелистывании. (I9657f, b/512700520)
Версия 1.7.0-alpha06
15 июля 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha06. Версия 1.7.0-alpha06 содержит эти коммиты.
Изменения в API
- Перемещены функции
ButtonContent,AppCardContentиTitleCardContentдля Material3 в объектыButtonDefaultsиCardDefaultsсоответственно. (I8d589, b/527889640) - Удалите значение по умолчанию из параметра
Modifier.oneHandedGesturegestureLabel(Ica100, b/527068051). - Переименуйте параметр
gestureLabelвonGestureLabelвModifier.oneHandedGestureи сделайте его допускающим нулевое значение, чтобы обеспечить согласованность с другими параметрамиcontentDescription(I952a8, b/527068051). - Добавлен параметр
OneHandedGestureIndicatorState, чтобы координировать видимость и анимацию междуModifier.oneHandedGesture()и индикаторами жестов. ЗаменитеInteractionSourceна подход, основанный на статусе, чтобы улучшить управление жизненным циклом. Добавлен параметрwrapAroundвOneHandedGestureDefaults.scrollToNextPageдля единообразия с другими функциями прокрутки по умолчанию. (I9e1e3, b/522761843)
Исправление ошибок
- В документацию по параметру
interactionSourceдля параметраModifier.oneHandedGestureдобавлено описание того, какие взаимодействия передаются (I2dc8d). - Поддержка жестов одной рукой в
AlertDialogпо умолчанию временно удалена из-за проблем с зависимостью от Wear SDK в потребителях, которые в противном случае не используют Wear SDK или жесты одной рукой. (Ib19e0, b/503841738) - Улучшен объект
TransformingLazyColumn: теперь он поддерживает анимацию размещения для элементов, выходящих за пределы области просмотра. Благодаря этому они не исчезают, а скользят за экран. Также исправлена проблема с визуальным прилипанием, из-за которой динамически масштабируемые объекты мгновенно переходили к целевой высоте во время анимации размещения (I89d84, b/525071281). - Используйте
ItemInfoна основе индекса вfirstVisibleItemLayoutItemInfo. (I256e3, b/527881678) - Исправлено поведение анимации
TimePickerпри включенной функции "Меньше движения". (Ic9150, b/467288916)
Версия 1.7.0-alpha05
1 июля 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha05. Версия 1.7.0-alpha05 содержит эти коммиты.
Изменения в API
В библиотеку Foundation добавлен интерфейс
TransformingLazyColumnFirstLayoutItemProvider, позволяющий настраивать контент, который меняет направление при обновлении. В библиотеке Material3 реализованы готовые решенияrememberTransformingLazyColumnFirstLayoutItemProviderиrememberTransformingLazyColumnFirstVisibleItemProvider. (I54814, b/503353428)В
TransformingLazyColumnFirstLayoutItemProviderпараметр по умолчанию переименован сcurrentнаcenterItem. Добавлены расширенияTransformingLazyColumnStatefirstVisibleItemLayoutItemInfoиlayoutItemInfoOf, а также обновлено расширениеrememberTransformingLazyColumnFirstLayoutItemProvider, чтобы использовать чистую лямбда-функцию на основе параметров. (I9a8d9, b/503353428)Добавлены перегрузки для многослотовых кнопок и карточек Material3, которые можно использовать при управлении одной рукой. (I74ccb, b/515718015, b/490343658)
Добавлена поддержка специальных возможностей для жестов одной рукой. (I0054d, b/519085906)
Переименование
OneHandedGestureDefaults.scrollToNextItem()вOneHandedGestureDefaults.scrollDownToNextItemи добавление параметраwrapAroundв функции прокруткиOneHandedGestureDefaults(I940ce, b/509639667)Добавьте non-composable
Modifier.oneHandedGesture(), если разработчик хочет указать ключ вручную. (I191e1, b/504712626)Переименуйте API
offsetOfвRevealStateнаpositionOf. (I2675f, b/522387997)Добавлен параметр
actionContentSpacingвSwipeToReveal, позволяющий разработчикам настраивать расстояние между слотами действий и контентом. (I2abaf, b/507073912)
Исправление ошибок
- Исправлена проблема в
ScreenScaffold, из-за которой повторные композиции могли приводить к тому, что не запомненные элементыScrollInfoProviderсбрасывали состояние отслеживания прокрутки. (I98f6d, b/524620765) TransformingLazyColumnЦвет полосы прокрутки соответствует цвету фона индикатора жеста во время анимации индикатора (I353fb, b/524915104)- Изменено значение по умолчанию
gestureIndicatorTintнаLocalContentColorдляOneHandedGestureIndicator(I1abd3, b/524228063) - Параметризируйте описание контента для выбора дня и года в
DatePicker, чтобы поддерживать локализацию. (I5dcd9, b/430563857) - Внедрение адаптивной частоты обновления для
GestureIndicatorsв зависимости от того, отрисовывается ли индикатор внутри или за пределами компонента интерфейса хоста. (Ic618f, b/515071642) - Исправлена проблема с одновременным выполнением жестов одной рукой (I7b95f, b/512086558).
Версия 1.7.0-alpha04
3 июня 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha04. Версия 1.7.0-alpha04 содержит эти коммиты.
Изменения в API
- Добавлены функции
RevealState.drag(),SwipeToRevealDragScopeи пользовательский параметрflingBehaviorвSwipeToReveal, чтобы можно было программно управлять жестами пролистывания, смещениями и анимацией перехода в конечное состояние. (Ibfe56, [b/484185090] - Расширенная поддержка
OneHandedGestureIndicatorдля основных и дополнительных действий, переход на архитектуру привязкиInteractionSourceдля автоматического управления жизненным циклом. (I7e893, [b/512836472] - Добавлен новый способ прокрутки с помощью жестов для компонентов на основе ScalingLazyColumn и диалоговых окон с предупреждениями. В этом обновлении по умолчанию задана прокрутка экрана на 50 %, чтобы сделать навигацию более предсказуемой. Кроме того, добавлен режим привязки к объекту для точной навигации. (Ie9cfb, [b/509639667]
- Замените флаг
isOneHandedGesturesInAlertDialogEnabledв Wear Compose Material3 на флагиLocalOneHandedGestureEnabledCompositionLocal, которые можно использовать для отключения жестов одной рукой в иерархиях компонентов. (Ib9240, [b/516777416]) - Прекращена поддержка функции
ButtonDefaults.ExtraSmallIconSizeиButtonDefaults.SmallIconSize. Эти значения по умолчанию были специфичны дляCompactButtonи были перенесены вCompactButtonDefaults.ExtraSmallIconSizeиCompactButtonDefaults.SmallIconSizeсоответственно. (Id747c, [b/513588028]
Исправление ошибок
- Исправлена анимация
EdgeButtonпри быстром перелистывании. (I88215, [b/512700520] - Исправлена ошибка, из-за которой
AppScaffoldTimeTextне обновлялись при рекомпозиции. (Iecea5, [b/512439755] ScreenScaffoldдолжен явно использоватьPaddingValues, предоставленный лямбда-функцией внутреннего контента. (I20d71, [b/512355364]- Добавлены аннотации @
FrequentlyChangingValueи @RememberInComposition, чтобы показывать предупреждения lint и предотвращать проблемы с производительностью, вызванные чтением часто обновляемых данных или забыванием объектов во время композиции. (I955f4, [b/409488336] - Убедитесь, что эффект пульсации исходит из центра кнопки, когда для объектов
Buttonактивируется жест одной рукой. (Ie61ec, [b/514600304] - Устранена проблема конфликта клавиш в
Modifier.oneHandedGestureпутем включения действия жеста и приоритета в автоматически сгенерированную клавишу. (I49760, [b/517045657]
Версия 1.7.0-alpha03
19 мая 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha03. Версия 1.7.0-alpha03 содержит эти коммиты.
Изменения в API
- Добавьте non-composable
Modifier.oneHandedGesture(), если разработчик хочет указать ключ вручную. (I191e1, b/504712626) - Удалены индикаторы жестов из
OneHandedGestureDefaultsи добавлена поддержка цвета для жестов одной рукой (I7934f, b/505009712, b/504712626). - В
AlertDialogдобавлена явная обработка жестов закрытия одной рукой. (Id71e8, b/509675781) DeferredTargetAnimationбольше не является экспериментальной функцией. Отключите ее. (I1e4ae, b/500030165)
Исправление ошибок
- Исправлена проблема с одновременным выполнением жестов одной рукой (I7b95f, b/512086558).
- Исправлена ошибка, из-за которой индикаторы жестов одной рукой зеркально отражались в зависимости от ориентации запястья, а не
LayoutDirection. (I6db5d, b/512003346) - Исправлена отрисовка границ в элементах TLC (I0c3c1, b/510772213)
- Добавлены встроенные изображения для примеров в Kdoc для файлов
SurfaceTransformation.kt,SwitchButton.kt иTextButton.kt. Теперь эти изображения будут показываться в документации на страницах Wear Compose Material 3 DAC, чтобы разработчики могли сразу понять, как выглядит каждый вариант кнопки и пример ее использования. (Ib53ae, b/484905061) - Добавлены встроенные изображения для всех примеров в файле Kdoc Button.kt. Теперь эти изображения будут показываться прямо в документации на страницах DAC Material 3 для Wear Compose, чтобы разработчики могли сразу видеть, как выглядит каждый вариант кнопки и пример ее использования. (Ie2fb5, b/484905061)
- Добавлены встроенные предпросмотры изображений для примеров в KDoc в
Card.kt,IconButton.kt,LevelIndicator.ktиListHeader.kt. Теперь эти изображения будут показываться в документации на страницах Wear Compose Material 3 DAC. (I371bc, b/484905061) - Добавлены встроенные предварительные просмотры изображений для примеров в KDoc для
Picker,SegmentedCircularProgressIndicator,SliderиStepper. Теперь эти изображения будут показываться в документации на страницах Wear Compose Material 3 DAC, чтобы разработчики могли сразу понять, как выглядят эти компоненты и примеры. (I6c6ef, b/484905061) - Добавлены встроенные изображения для примеров в KDoc для
CheckboxButton,SplitCheckboxButton,CircularProgressIndicator,ConfirmationDialog,SuccessConfirmationDialog,FailureConfirmationDialogиcurvedText. Теперь эти изображения будут показываться в документации на страницах Wear Compose Material 3 DAC, чтобы разработчики могли сразу понять, как выглядят эти компоненты и примеры. (Ie4662, b/484905061) Fix AlertDialogScreenshotTest test(I9be58, b/508678506)- Добавлены встроенные изображения для примеров в KDoc для
NonClickableCard,OpenOnPhoneDialog,VerticalPageIndicator,VerticalPagerScaffoldиRadioButton. Теперь эти изображения будут показываться в документации на страницах Wear Compose Material 3 DAC, чтобы разработчики могли сразу понять, как выглядят эти компоненты и примеры. (I2aa2d, b/484905061)
Версия 1.7.0-alpha02
6 мая 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha02. Версия 1.7.0-alpha02 содержит эти коммиты.
Исправление ошибок
- Фиксированный размер
GestureIndicatorвAlertDialogs(I0c16e, b/504912009) - Изменены анкеры
LeftRevealed/RightRevealedобъектаSwipeToRevealдля позиционирования с выходом за границы. (Id84ff, b/498681589) - Добавление описания статуса в
CheckboxиSwitch(Iba12e, b/485098874) - Исправлена визуальная ошибка в
FadingExpandingLabel, из-за которой при уменьшении количества строк появлялся старый текст. (Ia40c9, b/503709020) - Добавление поддержки жестов одной рукой по умолчанию в
Material3 AlertDialog(I5848e, b/479098589) - Удалена встроенная логика видимости в режиме управления одной рукой (I8c602, b/502903320).
Версия 1.7.0-alpha01
8 апреля 2026 г.
Выход androidx.wear.compose:compose-*:1.7.0-alpha01. Версия 1.7.0-alpha01 содержит эти коммиты.
Изменения в API
- Добавлен новый API для жестов одной рукой, в котором можно регистрировать приоритетные обратные вызовы для основных действий и действий по закрытию. Система автоматически определяет наиболее подходящий экранный объект, чтобы жесты и их индикаторы срабатывали только для элементов, которые пользователь может видеть и с которыми может взаимодействовать. Добавьте
Modifier.oneHandedGestureв composable-функцию, связанную с жестом (например, в кнопку), и используйтеOneHandedGestureDefaults.GestureIndicator, чтобы сообщить пользователю, когда действие жеста доступно. Прокрутку и переход на страницу также можно активировать с помощью основного жеста. В обратных вызовах рекомендуется использоватьOneHandedGestureDefaults.scrollDownиOneHandedGestureDefaults.scrollToNextPage. ПараметрыOneHandedGestureDefaults.ScrollGestureIndicatorиOneHandedGestureDefaults.VerticalPageGestureIndicatorпредоставляются в качестве альтернативы параметрамScrollIndicatorиPageIndicatorсоответственно, чтобы временно показывать пользователю индикатор жеста. (Ic6324, b/479098447, b/485488443) - В
TransformingLazyColumnStateдобавлен атрибутrequestAnchorItem, а также атрибутTransformingLazyColumnAnchorType, чтобы разработчики могли точно управлять направлением развертывания элемента и привязкой макета. (I0c1e6, b/494301025) - Добавлен флаг
isSwipeToRevealDualFlingThresholdEnabled, который включен по умолчанию, но может быть отключен, если исправления ошибок в поведении прокрутки вSwipeToRevealв этом выпуске вызывают регрессию (в этом случае как можно скорее сообщите об ошибке) (Ie6db6, b/497743775).
Исправление ошибок
- Улучшена функция
SwipeToReveal, которая теперь поддерживает быстрые жесты смахивания, позволяя пользователям полностью раскрывать действия независимо от расстояния смахивания (эту функцию можно отключить, выключив флаг isSwipeToRevealDualFlingThresholdEnabled). (I833fd, b/490728860) - Исправлена ошибка
SwipeToReveal, из-за которой для полного перехода к следующему экрану требовалось провести пальцем по 75% ширины экрана (это изменение можно отключить, выключив флагisSwipeToRevealDualFlingThresholdEnabled). (Id5604, b/490728860) - Добавлен второй виброотклик для
SwipeToReveal, когда при проведении пальцем достигается состояние частичного раскрытия (это изменение можно отключить, выключив флагisSwipeToRevealDualFlingThresholdEnabled). (Ic27e3, b/492273799) - Исправлена проблема в
TransformingLazyColumn, из-за которой перестала работать анимация элементов (Modifier.animateItem). (I904ec, b/493167084) - Исправлена ошибка в
PickerGroup(и, следовательно, вDatePicker), из-за которой несколько нажатий приводили к прокрутке в невыбранных столбцах инструмента выбора (Id76c5, b/378646798).
Wear Compose версии 1.6
Версия 1.6.2
19 мая 2026 г.
Выход androidx.wear.compose:compose-*:1.6.2. Версия 1.6.2 содержит эти коммиты.
Исправление ошибок
Исправлено рисование границ для объектов
TransformingLazyColumn(I0c3c1, b/510772213)Исправьте назначение
itemSpacingв стратегии измерения отступов контентаTransformingLazyColumn(I12d2f, b/498137919)
Версия 1.6.1
8 апреля 2026 г.
Выход androidx.wear.compose:compose-*:1.6.1. Версия 1.6.1 содержит эти коммиты.
Исправление ошибок
- Исправлена проблема, из-за которой анимация объектов (с помощью
Modifier.animateItem) перестала работать вTransformingLazyColumn. (I904ec, b/493167084)
Версия 1.6.0
25 марта 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0. Версия 1.6.0 содержит эти коммиты.
Важные изменения с версии 1.5.0
- Представлена библиотека Wear Compose Navigation3, которая интегрируется с компонентами
NavDisplayиSceneStrategyбиблиотеки Navigation 3 и добавляет логику закрытия с помощью свайпа, характерную для Wear, используя новый компонентSwipeDismissableSceneStrategy. - Добавлена поддержка
TransformingLazyColumnдляreverseLayout, привязки с помощьюTransformingLazyColumnDefaults.snapFlingBehaviorиModifier.minimumVerticalContentPadding, что позволяет задавать предпочтительные поля для элементов списка, когда они находятся вверху или внизу. - Добавлены новые перегрузки для
AlertDialog, в которых используетсяTransformingLazyColumnдля согласованности с прокруткой на других экранах Material3. - Улучшена отрисовка изогнутого текста, особенно рукописных шрифтов, благодаря добавлению искажения текста с помощью нового параметра
CurvedTextStylewarpOffset, который включен по умолчанию для API 34 и более поздних версий. - Добавлен новый
CompositionLocalLocalAmbientModeManager, который позволяет задавать разные интерфейсы и поведение для интерактивного и фонового режимов. - Более полный список функций, добавленных в версии 1.6.0, можно найти в примечаниях к выпуску beta01.
Версия 1.6.0-rc01
11 марта 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0-rc01. Версия 1.6.0-rc01 содержит эти коммиты.
- В этом выпуске версия Compose для Wear OS 1.6.0 стала релиз-кандидатом, но в остальном он не отличается от версии 1.6.0-beta01.
Версия 1.6.0-beta01
25 февраля 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0-beta01. Версия 1.6.0-beta01 содержит эти коммиты.
Версия 1.6.0-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован (за исключением экспериментальных функций). В Wear Compose 1.6.0-beta01 добавлены следующие новые функции:
- Библиотека Wear Compose Navigation3, которая интегрируется с компонентами
NavDisplayиSceneStrategyбиблиотеки Navigation 3 и добавляет логику закрытия с помощью свайпа, характерную для Wear OS, используя новый компонентSwipeDismissableSceneStrategy. - Добавлена поддержка
TransformingLazyColumnдляreverseLayout, привязки с помощьюTransformingLazyColumnDefaults.snapFlingBehaviorиModifier.minimumVerticalContentPadding, что позволяет задавать предпочтительные поля для элементов списка, когда они находятся вверху или внизу. - Добавлены новые перегрузки для
AlertDialog, в которых используетсяTransformingLazyColumnдля согласованности с прокруткой на других экранах Material3. - Улучшена отрисовка изогнутого текста, особенно рукописных шрифтов, благодаря добавлению искажения текста с помощью нового параметра
CurvedTextStylewarpOffset, который включен по умолчанию для API 34 и более поздних версий. - Добавлен новый
CompositionLocalLocalAmbientModeManager, который позволяет задавать разные интерфейсы и поведение для интерактивного и фонового режимов. - В
TimePickerдобавлен новый типMinutesSecondsи параметрinitialSelection, позволяющий указать изначально выбранный компонент времени. - Новые перегрузки для карточек, позволяющие создавать некликабельные варианты, которые предназначены только для отображения и не реагируют на нажатия пользователей.
- Добавлен параметр
LocalRippleConfiguration, позволяющий управлять внешним видом эффекта пульсации. - Добавлен параметр
snapSensitivityдляRotaryScrollableDefaults.snapBehaviorиPagerScaffoldDefaults. Теперь он включает рекомендуемые значения по умолчанию дляSnapPositionalThresholdиHighSnapPositionalThreshold, которые можно использовать сPagerDefaults.snapFlingBehavior.
Изменения в API
- Рекомендуемые значения по умолчанию для атрибута "отступ контента"
Modifier.minimumVerticalContentPaddingбыли переименованы сminimumListVerticalContentPaddingнаminimumVerticalListContentPadding, чтобы подчеркнуть, что отступ относится к списку. Также была обновлена связанная документация. (I496ca, b/426154225) - Теперь по умолчанию для изогнутого текста используется деформация, что улучшает его отображение, особенно для рукописных шрифтов. (I6979d, b/450526792, b/481617443)
Исправление ошибок
- Исправьте взаимодействие между TLC
animateItemиminimumVerticalContentPadding. (Ia865c, b/483663045) - Искажение смещения для изогнутого текста теперь по умолчанию включено только для API 34 и более поздних версий. Это связано с зависимостью от
PathIteratorиз библиотекиandroidx.graphics.path, которая недоступна для тестирования разработчиками в Robolectric до API 34 (из-за чего существующие тесты разработчиков не работают). (Ie5bae, b/484319336) - Улучшена работа с изогнутым текстом. (If2b34, b/483390353)
- Обновление
ConfirmationDialogDefaults.SuccessIcon: игнорируется направление макета справа налево, чтобы флажок не был перевернут. (Ic6add, b/481966029)
Версия 1.6.0-alpha10
11 февраля 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha10. Версия 1.6.0-alpha10 содержит эти коммиты.
Изменения в API
- Интерфейс
ResponsiveVerticalPaddingпереименованModifier.responsiveVerticalPaddingвModifier.minimumVerticalContentPadding, а параметры отступов теперь задаются в единицах dp. Рекомендуемые значения по умолчанию перенесены изResponsiveVerticalPaddingDefaultsв объекты по умолчанию для определенных компонентов, напримерButtonDefaults,CardDefaultsи т. д. (Icaab2, b/426154225) - Добавлен элемент управления
WearComposeFoundationFlags.isTransformingLazyColumnClickableThresholdEnabledдля новой функции, представленной вTransformingLazyColumn. Теперь клики, выходящие за пределы порога в 20 dp в верхней и нижней частях макета, игнорируются, чтобы предотвратить случайные нажатия, когда элемент виден лишь частично. Кроме того, мы изменили код так, чтобы перехватывались только клики по крайним элементам в событиях, которые находятся в пределах зоны касания, чтобы не игнорировать жесты перетаскивания. (I1ba28, b/480910891) - Теперь
rememberAmbientModeManagerиспользуетLocalActivity, чтобы получить текущее действие, а не принимает его в качестве параметра (Idf114, b/473603258). - Изменено значение
AmbientMode, чтобы оно не было исчерпывающим для расширяемости (I92cc3, b/473603258) - В
rememberSwipeDismissableSceneStrategyStateудален параметрswipeToDismissBoxState, поскольку он относится к реализации только до API 35 (I5907c, b/476105162). - [TLC] В
TransformingLazyColumnдобавлен параметрModifier.responsiveVerticalPadding, позволяющий автоматически настраивать отступы в соответствии с рекомендациями по дизайну Material 3 для Wear OS. (Ia7e73, b/426154225)
Исправление ошибок
- Изменено условие предварительной выборки
TransformingLazyColumn, чтобы срочность рассчитывалась на основе границ области просмотра без отступов (I48d85, b/476420552). Pickerтеперь поддерживает прозрачность настраиваемых фонов, например градиентов или изображений, передаваяColor.Unspecifiedв качествеgradientColorинструмента выбора. В случае сTimePickerиDatePickerэтого эффекта можно добиться, локально переопределивMaterialTheme.colorScheme.backgroundнаColor.Unspecified. (Icc476, b/458429791, b/458429791)- Для элементов
TransformingLazyColumn, расположенных вверху и внизу экрана, введен порог кликабельности в 20 dp, чтобы предотвратить случайные нажатия, когда элементы почти скрыты. (I2c9cb, b/443285887) - Улучшена обработка функции "Меньше движения" в
OpenOnPhoneDialog. (Ib1d12, b/48558283)
Версия 1.6.0-alpha09
28 января 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha09. Версия 1.6.0-alpha09 содержит эти коммиты.
Изменения в API
- Переименование
PagerScaffoldDefaults.SnapPositionalThresholdвLowSnapPositionalThresholdиRotaryScrollableDefaults.SnapSensitivityвLowSnapSensitivity(I157ee, b/449949891) - Удален модификатор из
SwipeDismissableSceneStrategy. (Iff30f, b/449949891)
Исправление ошибок
- Исправлена задержка анимации прокрутки с помощью поворотного переключателя при использовании функции привязки (I7db89, b/474016470).
- Исправлена ошибка, из-за которой система блокировки
SwipeDismissableSceneStrategyвозвращалась к API 36+ (Icf20b, b/476105162). - Исправлена ошибка, из-за которой анимация
SwitchButtonмасштабировалась или исчезала как отдельная фигура (I7a7eb, b/378644361). - Улучшена анимация значка "Проверка"
CheckboxButton(I89944, b/378646769)
Версия 1.6.0-alpha08
14 января 2026 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha08. Версия 1.6.0-alpha08 содержит эти коммиты.
Изменения в API
- Параметр
RotaryScrollableDefaults.snapBehaviorтеперь принимает параметр с плавающей запятойsnapSensitivity, а параметрPagerScaffoldDefaultsтеперь делает общедоступными рекомендуемые значения по умолчаниюSnapPositionalThresholdиHighSnapPositionalThresholdдля использования сPagerDefaults.snapFlingBehavior. (I7e11c, b/449949891) - Добавлена поддержка привязки к
TransformingLazyColumnдля сенсорного и поворотного ввода. При настройке привязки рекомендуется указывать какflingBehaviorс помощьюTransformingLazyColumnDefaults.snapFlingBehavior, так иrotaryScrollableBehaviorс помощьюRotaryScrollableDefaults.snapBehavior, чтобы обеспечить единообразное взаимодействие с пользователем. (I5326f, b/422455104) - Добавлен новый компонент
LocalAmbientModeManager, с помощью которого можно легко задавать различные элементы интерфейса и поведение для интерактивного и фонового режимов. (I00161, b/427724331)
Исправление ошибок
- Исправлена проблема, из-за которой списки с поведением привязки к повороту не возвращались после прокрутки за пределы. (I05216, b/470317969)
- Исправлена проблема с эффектом пульсации для кнопок увеличения и уменьшения в ползунке Material3. Теперь эффект волны правильно распространяется на всю ширину компонента ползунка. (I8c0c4, b/378658409)
Версия 1.6.0-alpha07
17 декабря 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha07. Версия 1.6.0-alpha07 содержит эти коммиты.
Изменения в API
- Добавлен объект библиотеки
wear-compose:compose-navigation3(I01b5c, b/427463127) - Добавлен
SwipeDismissableSceneStrategyдля интеграции Wear OS сNavigation3. Его можно использовать сNavDisplayдля показа контента Wear Compose. (I7aa08, b/427463127) - Представляем
ResponsiveTransformingLazyColumn– новый компонент Material3, созданный на основеTransformingLazyColumnиз wear compose foundation. Он автоматически рассчитывает и применяет адаптивные вертикальные отступы в зависимости от типа контента списка. (I102f4, b/426154225)
Исправление ошибок
- Исправлена проблема, из-за которой значок
PageIndicatorнеправильно перерисовывался при изменении индекса текущей страницы вPagerState(например, при вызовеscrollToPage()или использованииanimateScrollToPage()с уменьшенным движением). (I97150, b/465669950) - Исправлена семантика
TransformingLazyColumnи расчетscrollOffset(Idec30, b/417941554) - Исправлено
SwipeToRevealотмены действия (I770f8, b/382259843) - Реализован
PredictiveBackSceneдля обработкиNavigation3в API 36 и более поздних версий. (Idedf6, b/427463127)
Версия 1.6.0-alpha06
3 декабря 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha06. Версия 1.6.0-alpha06 содержит эти коммиты.
Изменения в API
- Добавлен параметр
LocalRippleConfiguration, позволяющий управлять появлением эффекта ряби (I9e0fa, b/382336566). - Добавлены новые перегрузки для
AlertDialog, в которых используетсяTransformingLazyColumnдля расширенного управления анимацией прокрутки элементов. Улучшены макеты для больших экранов. (I862ff, b/438468382) - Добавлен параметр преобразования в
ButtonGroupдля использования с динамически изменяющимися контейнерами, напримерTransformingLazyColumn. (I8743b, b/453710565)
Исправление ошибок
- Исправлена проблема с заголовком
AlertDialogи кнопками подтверждения/отклонения, которые несколько раз появлялись в письме (I8e1b0, b/463955367). - Сделайте код
TimeTextболее надежным при прослушивании измененийTimeZone. (I1c276, b/457909952) - Улучшена производительность функций
SplitRadioButtonиSplitCheckboxButtonза счет уменьшения количества перекомпоновок. (I3ddc9, b/455845192)
Версия 1.6.0-alpha05
19 ноября 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha05. Версия 1.6.0-alpha05 содержит эти коммиты.
Изменения в API
- Добавлены значения
RotarySnapSensitivityдля поведения при повороте иPagerSensitivityдля поведения при пролистывании, чтобы приложения могли настраивать чувствительность к этим действиям, особенно при использовании пейджеров. (Ic3a83, b/449949891) - Упрощенные изменения в
rememberTransformingLazyColumnState, внесенные при добавлении обратной разметки дляTransformingLazyColumn, объединение в одну функцию и использование контрольного значения для индекса якоря по умолчанию. (I09302, b/453731755) - Добавлен новый значок ошибки по умолчанию
GenericFailureIcon, который будет использоваться вFailureConfirmationDialog. Существующий элементFailureIconпереименован вConnectionFailureIcon. (I8e965, b/453730430)
Исправление ошибок
- Повышена надежность функции
TimePickerпри анализе сложных шаблонов локали. (I7b169, b/456538838) - Исправлена проблема с первоначальным макетом
TransformingLazyColumn, когдаverticalArrangementимеет значениеArrangement.Center. (Id18ef, b/451481233) - Конструктор
TransformingLazyColumnStateприведен в соответствие с функциейrememberTransformingLazyColumnState(I36d6a, b/453731755) - Изменен значок галочки для
CheckboxButton. Теперь он имеет закругленные края. (Ie645e, b/378645751) - Изменен значок галочки для
SwitchButton. Теперь он имеет закругленные края. (I31fbf, b/378642590) - Исправлено смещение
scrollToItemвTransformingLazyColumn, из-за которого направление прокрутки было обратным. (Ib2c93, b/451481233) - Улучшена производительность
SwitchButtonиSplitSwitchButton. (I708de, b/448781327)
Версия 1.6.0-alpha04
22 октября 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha04. Версия 1.6.0-alpha04 содержит эти коммиты.
Изменения в API
- Реализация
reverseLayoutдляTransformingLazyColumn(I19f9e, b/352513793) - Добавлен
ConfirmationDialogDefaults.VariantFailureIconдля использования вFailureConfirmationDialog. В некоторых случаях этот значок может быть предпочтительнее, чемConfirmationDialogDefaults.FailureIcon, который указывает на отсутствие подключения к телефону. (Ifc851, b/443115305)
Исправление ошибок
- Повышена производительность выбора за счет рефакторинга использования
LaunchedEffect. (I94519, b/418192973) - Исправлена ошибка в
SwipeDismissableNavHostна API36+, из-за которой при нажатии кнопки "Назад" во время анимации подсказки для жеста "Назад" анимация прерывалась и запускалась заново. Теперь вместо Animatable используетсяSeakableTransitionState.animateTo, что немного повышает производительность. (I2241f, b/428156670) - Исправлена ошибка, из-за которой кнопка подтверждения в
AlertDialogозвучивалась как "Кнопка". Confirm" вместо стандартного "Confirm". Кнопка. (Ic2381, b/429378202) - Улучшена видимость числа
TimePickerна небольших экранах. (I68386, b/447625365) - Удалена ветка Lazy Layout из Wear Compose Foundation. Это означает, что
TransformingLazyColumnтеперь использует реализацию Lazy Layout из Compose Foundation, включая предварительную выборку, и в большинстве случаев обеспечивает более высокую производительность при отрисовке кадров. (Idd743, b/445911630)
Версия 1.6.0-alpha03
8 октября 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha03. Версия 1.6.0-alpha03 содержит эти коммиты.
Изменения в API
- В функцию
TimePickerдобавлен параметр, позволяющий указать, какой компонент времени будет выбран изначально. По умолчанию выбирается первый доступный компонент на основе региональных настроек иTimePickerType. (Ie5dfe, b/437015874) - Удален неиспользуемый параметр
targetProgressв методеCircularProgressIndicatordrawCircularProgressIndicator. (Ieeb3c, b/430544552)
Исправление ошибок
- Добавлена поддержка
TransformingLazyColumnverticalAlignment. Теперь поддерживаются стандартные варианты расположения: сверху, снизу или по центру. (I2e630, b/444143326) - Улучшен расчет ширины изогнутого текста с учетом пробелов до и после него (может привести к проблемам со скриншотами, на которых есть изогнутый текст, особенно если у него есть фон, например
TimeText). (I924a4, b/446601899) - Обновлена библиотека Compose Foundation с версии
WarpedCurvedTextRendererдоEmojiCompatInitializer(вместоandroidx.emoji2), чтобы исправить ошибку класса времени выполнения. (I589b4, b/444422736) - Обновлено
ScalingLazyColumn, чтобы оно фокусировалось на прокручиваемом узле сCollectionInfo. Теперь оно работает с поворотным переключателем в большем количестве контекстов, например наMaterial3AlertDialog. (I6be3c, b/445332360)
Версия 1.6.0-alpha02
24 сентября 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha02. Версия 1.6.0-alpha02 содержит эти коммиты.
Изменения в API
- Улучшена визуализация изогнутого текста, особенно рукописных шрифтов, благодаря добавлению параметра
CurvedTextStylewarpOffset, позволяющего искажать текст. (If5dcb)
Исправление ошибок
- Оптимизированное кеширование анимации элементов при прокрутке в
TransformingLazyColumn. (I62ae8) - Варианты
OpenOnPhoneDialogиConfirmationDialogбыли обновлены, чтобы задатьFLAG_KEEP_SCREEN_ON, чтобы анимация выполнялась до конца, а диалоговые окна закрывались автоматически, как и предполагалось. (Iad7d4) - Исправлена ошибка, из-за которой
Modifier.edgeSwipeToDismissдавал сбой при использовании сSwipeDismissableNavHostв API 36 и более поздних версий. (Ifc13d) - Обновлена документация и комментарии, связанные с новым параметром
CurvedTextStyle warpOffset, чтобы правильно ссылаться на случай "Не указано". (I41aa5)
Версия 1.6.0-alpha01
10 сентября 2025 г.
Выход androidx.wear.compose:compose-*:1.6.0-alpha01. Версия 1.6.0-alpha01 содержит эти коммиты.
Изменения в API
- Добавлены варианты без возможности клика для
Card,TitleCard,OutlinedCardиAppCard(I509bb, b/406690146) - Из новых API для некликабельных карточек удален параметр
interactionSource. (If0c7a, b/440323280) - В компонент
TimePickerдобавлен новый типMinutesSeconds, который отображает только столбцы минут и секунд, исключая столбец часов (Ia9e94, b/438004664).
Исправление ошибок
- Исправьте использование параметра модификатора атрибута
HorizontalPagerScaffold, чтобы при добавлении атрибутаModifier.fillMaxSize()(I07ae1, b/441682601) атрибутHorizontalPagerне терял индикатор страницы. - По умолчанию направление
ScrollIndicatorдолжно совпадать с направлением макета контента. (I0da0f, b/441489028) - Исправлена проблема с
ScrollAwayпри использовании сTransformingLazyColumn.TimeTextне прокручивался должным образом после перехода на другой экран и возврата. (Ic0ef1, b/433549148) - Исправлено
TransformingLazyColumnпредставление семантикиSCROLL_BACKWARDSиSCROLL_FORWARDSдля крайних случаев в верхней и нижней частях экрана. (I5c28d, b/405205994) - Исправлена ошибка в
SwipeDismissableNavHost, из-за которой переходы, находящиеся в процессе, не отмечались как завершенные после возврата на API 36. (Ife72e, b/441089689) - Измените значение по умолчанию
OpenOnPhoneMaxSweepAngleна 200 градусов, чтобы избежать обрезки некоторых переводов фразы "Проверьте телефон". (Ib2e4c, b/428243902)
Wear Compose версии 1.5
Версия 1.5.6
3 декабря 2025 г.
Выход androidx.wear.compose:compose-*:1.5.6. Версия 1.5.6 содержит эти коммиты.
Исправление ошибок
- Оптимизация кеширования анимации элементов при прокрутке в
TransformingLazyColumn. (I62ae8, b/441701460) - Варианты
OpenOnPhoneDialogиConfirmationDialogбыли обновлены, чтобы задатьFLAG_KEEP_SCREEN_ON, чтобы анимация выполнялась до конца, а диалоговые окна закрывались автоматически, как и предполагалось. (Iad7d4, b/437986990) - Исправлена ошибка, из-за которой
Modifier.edgeSwipeToDismissдавал сбой при использовании сSwipeDismissableNavHostв API 36 и более поздних версий. (Ifc13d, b/441901722)
Версия 1.5.5
5 ноября 2025 г.
Выход androidx.wear.compose:compose-*:1.5.5. Версия 1.5.5 содержит эти коммиты.
Исправление ошибок
- Улучшена видимость номера
TimePickerна небольших экранах (I70fbe)
Версия 1.5.4
22 октября 2025 г.
Выход androidx.wear.compose:compose-*:1.5.4. Версия 1.5.4 содержит эти коммиты.
Исправление ошибок
- Повышена производительность выбора за счет рефакторинга использования
LaunchedEffect. (I94519, b/418192973) - Исправлена ошибка в
SwipeDismissableNavHostна API36+, из-за которой при нажатии кнопки "Назад" во время анимации подсказки для жеста "Назад" анимация прерывалась и запускалась заново. Теперь вместо Animatable используетсяSeakableTransitionState.animateTo, что немного повышает производительность. (I2241f, b/428156670) - Исправлена ошибка, из-за которой кнопка подтверждения в
AlertDialogозвучивалась как "Кнопка". Confirm" вместо стандартного "Confirm". Кнопка. (Ic2381, b/429378202)
Версия 1.5.3
8 октября 2025 г.
Выход androidx.wear.compose:compose-*:1.5.3. Версия 1.5.3 содержит эти коммиты.
Исправление ошибок
- Добавлена поддержка
TransformingLazyColumnverticalAlignment. Теперь поддерживаются стандартные варианты расположения: сверху, снизу или по центру. (I2e630, b/444143326)
Версия 1.5.2
24 сентября 2025 г.
Выход androidx.wear.compose:compose-*:1.5.2. Версия 1.5.2 содержит эти коммиты.
Исправление ошибок
- Оптимизированное кеширование анимации элементов при прокрутке в
TransformingLazyColumn. (I62ae8) - В вариантах
OpenOnPhoneDialogиConfirmationDialogтеперь задан флаг FLAG_KEEP_SCREEN_ON, чтобы анимация воспроизводилась до конца, а диалоговые окна закрывались автоматически. (Iad7d4) - Исправлена ошибка, из-за которой
Modifier.edgeSwipeToDismissдавал сбой при использовании сSwipeDismissableNavHostв API 36 и более поздних версий. (Ifc13d) - Обновлена документация и комментарии, связанные с новым параметром
CurvedTextStyle warpOffset, чтобы правильно ссылаться на случай "Не указано". (I41aa5)
Версия 1.5.1
10 сентября 2025 г.
Выход androidx.wear.compose:compose-*:1.5.1. Версия 1.5.1 содержит эти коммиты.
Исправление ошибок
- Исправлена ошибка
HorizontalPagerScaffold, из-за которой при добавленииModifier.fillMaxSize()(I07ae1, b/441682601) индикатор страницы исчезал из HorizontalPager. - По умолчанию направление
ScrollIndicatorдолжно совпадать с направлением макета контента. (I0da0f, b/441489028) - Исправлена проблема с
ScrollAwayпри использовании сTransformingLazyColumn.TimeTextне прокручивался должным образом после перехода на другой экран и возврата. (Ic0ef1, b/433549148) - Исправлено
TransformingLazyColumnпредставление семантикиSCROLL_BACKWARDSиSCROLL_FORWARDSдля крайних случаев в верхней и нижней частях экрана. (I5c28d, b/405205994) - Исправлена ошибка в
SwipeDismissableNavHost, из-за которой переходы, находящиеся в процессе, не отмечались как завершенные после возврата на API 36. (Ife72e, b/441089689) - Измените значение по умолчанию
OpenOnPhoneMaxSweepAngleна 200 градусов, чтобы избежать обрезки некоторых переводов фразы "Проверьте телефон". (Ib2e4c, b/428243902)
Версия 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 для Wear OS…
Дополнительные изменения
- Более полный список функций, добавленных в версии 1.5.0, можно найти в примечаниях к выпуску beta01.
Версия 1.5.0-rc02
13 августа 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-rc02. Версия 1.5.0-rc02 содержит эти коммиты.
Исправление ошибок
- Исправлена ошибка в
TimePicker, из-за которой длинные строки с символами разных языков для обозначения времени суток (до полудня/после полудня) могли нарушать макет. (I0fa81)
Версия 1.5.0-rc01
30 июля 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-rc01. Версия 1.5.0-rc01 содержит эти коммиты.
Исправление ошибок
TimePickerтеперь полностью зависит от региона пользователя. Чтобы определить порядок и содержание селекторов и разделителей, используетсяDateFormat.getBestDateTimePattern. Исправлен неправильный порядок столбцов для языков CJK, устранены проблемы с макетом RTL для таких языков, как арабский, используются локализованные разделители и поддерживаются форматы времени 0–11 и 1–12 в зависимости от региона (I5d543).- В некоторых регионах, например в Китае, Японии и Корее, в формате
DatePickerтеперь используется числовое обозначение месяца, чтобы избежать сочетания числового и языкового форматов (например, 2025 | 07 | 02 вместо 2025 | 7月 | 02). Это изменение касается эвристического алгоритма, который проверяет, используются ли в региональных настройках суффиксы для обозначения года. Если используются, то формат месяца меняется с текстового (MMM) на числовой (MM) для согласованности. (Ia93fe) - Вертикальное пространство для заголовка в компоненте Picker теперь постоянное, что предотвращает видимый сдвиг при выборе столбца, особенно в режиме
Talkback. (I7f8b7) - Исправлена ошибка специальных возможностей, вызванная тем, что символы
HorizontalPageIndicatorиVerticalPageIndicatorотображались на весь экран. Индикаторы страниц больше не будут занимать весь экран и будут автоматически размещаться при использовании сHorizontalPagerScaffoldилиVerticalPagerScaffold. Если вы не используете каркас пейджера, укажите выравнивание явно, используяmodifier = Modifier.align(Alignment.BottomCenter)сHorizontalPageIndicatorиmodifier =Modifier.align(Alignment.CenterEnd)сVerticalPageIndicator. (I3a0ad) - Направление пролистывания в
SwipeToRevealтеперь одинаково для языков с письмом слева направо (LTR) и справа налево (RTL)LayoutDirections. (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, из-за которой функция "Изучение касанием" не работала в 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). - Исправлена ошибка, из-за которой в списках с отложенной загрузкой (lazy lists) с помощью
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теперь обновляется после изменения состояния (включено/отключено) size(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
- Теперь при использовании TalkBack
OpenOnPhoneDialogозвучивает только текст сообщения, а не семантику значка. ВOpenOnPhoneDialogDefaultsбыли внесены изменения: изicon()удалены параметрcontentDescriptionи функцияiconContentDescription. Кроме того, вConfirmationDialogDefaultsтеперь есть параметры модификатора для композицийSuccessIconиFailureIcon. (Id2ae2)
Исправление ошибок
- Изменен порядок применения эффекта параметров
SurfaceTransformation. Раньше преобразования, применяемые к компонентам Wear Material3, выполнялись в следующем порядке: отрисовка фона, преобразование контейнера, преобразование контента. Теперь первые два значения инвертированы, и мы применяем к ним любой переданный модификатор, поэтому они зависят от преобразований контейнера. Это позволяет устранить такие проблемы, как использование эффекта мерцания плейсхолдера с элементами в TLC с помощью параметра преобразования. (I786cf) RevealState.Saverбыл добавлен для восстановления состоянияSwipeToRevealпри воссоздании операции или процесса. Теперь функцияrememberRevealStateпо умолчанию использует этот режим. (Ie0ecb)- Кнопки
SwipeToRevealосновных и дополнительных действий должны по умолчанию иметь значениеButtonDefault.Height(исправлена ошибка, из-за которой для более высоких кнопок использовалась максимальная высота). (Ibfba1) - Изменено значение
SwipeToReveal, чтобы сбрасывать последний компонент, с которым взаимодействовал пользователь, при выполнении жеста пролистывания вправо. (Ia8450) - Значение
SwipeToRevealбыло изменено наRevealing, когда конечная позиция свайпа находится между раскрывающим и раскрытым якорями и ближе к раскрывающему якорю. (If4458) - Теперь контент
ButtonGroupправильно отображается в интерфейсах с письмом справа налево (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 содержит эти коммиты.
Исправление ошибок
- Обновлены базовые профили для библиотек foundation, material и material3. (I53f06)
- Исправлена ошибка в
TransformingLazyColumn, из-за которой размер объектов менялся при удалении нижнего объекта. (Idacab) - Исправлена ошибка в приложении
TransformingLazyColumn, из-за которой список застревал вверху или внизу. (I49d00) OpenOnPhoneDialogв TalkBack должен озвучивать изогнутый текст, а не описание значка. (I4efe8)- Исправлена ошибка в
SwipeToReveal, из-за которой при значении false дляhasPartiallyRevealedStateвRevealState.currentValueуказывался неправильный якорь. (I9c7cf) - Кнопки отмены
SwipeToRevealтеперь по умолчанию имеют видButtonDefaults.Height. (I1f6c8) BasicSwipeToDismissBox. Повышена производительность за счет отказа от использования Canvas для рисования затемняющих экранов. (I68f2c)- Исправлена ошибка доступности в ползунке, из-за которой объявленный процент не соответствовал значению после обновления (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 содержит эти коммиты.
Версия 1.5.0-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован (за исключением экспериментальных функций).
В Wear Compose 1.5.0-beta01 входит библиотека Wear Compose Material3, которая поддерживает новую систему дизайна интерфейса Material 3 Expressive. Мы рекомендуем перейти с Material на Material3, чтобы использовать новый визуальный дизайн в приложениях и воспользоваться преимуществами новых компонентов:
MaterialTheme– обновленные и расширенные цветовые схемы, типографика и формы, которые помогут сделать дизайн более глубоким и разнообразным.- Динамическая цветовая тема, которая автоматически создает цветовую схему для приложения в соответствии с цветами циферблата.
- Новые компоненты по умолчанию автоматически адаптируются к большим экранам
- Преобразование формы. Компоненты круглых кнопок, такие как
IconButton,TextButton,IconToggleButtonиTextToggleButton, поддерживают варианты, которые анимируются при нажатии или выборе. EdgeButton– новая кнопка, расположенная внизу экрана.- Каркасы – компоненты
AppScaffoldиScreenScaffold, которые позволяют задать структуру экрана и координировать анимациюScrollIndicatorиTimeText. - Кнопки. Поддерживаются многочисленные кнопки в форме стадиона с гибкими однослотовыми контейнерами и многослотовыми вариантами для кнопок со значками и ярлыками.
CheckboxButtonиSwitchButtonиспользуются, когда нужны кнопки-переключатели, аRadioButton– это кнопка выбора (также доступны варианты кнопок-переключателей и выбора с разделением). ButtonGroup– реализует выразительную группу кнопок в строке, которые меняют форму при нажатии.- Варианты
AlertDialogподдерживают кнопки "ОК" и "Отмена" илиEdgeButton. ConfirmationDialogпозволяет показывать сообщения с тайм-аутом, а также специальные анимации для успешного или неудачного выполнения действия и открытия на телефоне.- Поддерживаются варианты
TimePickerиDatePicker, а также компоненты Picker иPickerGroupдля создания собственных экранов выбора. ProgressIndicators– поддерживаются круговые и линейные индикаторы выполнения (CircularProgressIndicatorимеет сегментированные и неопределенные варианты).- Карточки. Доступно несколько вариантов карточек, в том числе
TitleCard, который предлагает специальные макеты для карточек с заголовком, временем, подзаголовком или контентом.TitleCardтакже может иметь фоновое изображение, чтобы подчеркнуть смысл информации на карточке. - Компоненты
HorizontalPagerScaffold,VerticalPagerScaffoldиAnimatedPageкоординируют анимацииHorizontalPageIndicatorиVerticalPagerIndicator.HorizontalPagerиVerticalPagerвыпущены в библиотеке Wear Compose Foundation. - Заполнители – рисует каркас компонента, если нет предварительного контента.
- Ползунки и счетчики позволяют пользователям выбирать значения из диапазона. Ползунки более компактны и могут быть разделены на сегменты, а пошаговый элемент занимает весь экран и обычно используется вместе с
StepperLevelIndicator. SwipeToReveal– используется для добавления дополнительных действий в composable-функцию, когда пользователь проводит по ней пальцем слева направо.
Кроме того, в Wear Compose Foundation 1.5.0-beta01 добавлены следующие новые компоненты:
TransformingLazyColumn– ленивый список с вертикальной прокруткой, поддерживающий масштабирование и анимацию трансформации.- Иерархические группы фокуса используются для аннотирования композиций в приложении, чтобы отслеживать активную часть композиции и координировать фокус.
- Компоненты Pagers –
HorizontalPagerиVerticalPager, созданные на основе компонентов Compose Foundation с улучшениями для Wear OS, которые повышают производительность и соответствие рекомендациям Wear OS.
Изменения в API
- Обновлен API иерархического фокуса: параметр
Modifier.hierarchicalFocusпереименован вModifier.hierarchicalFocusGroup, а параметр обратного вызова удален; удалена перегрузкаModifier.hierarchicalFocusRequesterс параметромFocusRequester; созданы новые параметрыCompositionLocalиLocalScreenIsActive, чтобы компоненты могли сообщать и проверять, какой экран активен. (I5ff7c). - Устаревший
SwipeToRevealиз Wear Compose Foundation заменен на APISwipeToRevealв Wear Compose Material и Wear Compose Material3. Чтобы продолжить использовать API, замените импорт Wear FoundationSwipeToRevealна импорт 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в composable-функциюSwipeToReveal; удалили возможность настраиватьpositionalThresholdиanimationSpecизRevealState; удалилиlastActionType,revealThresholdи ширину изRevealState; изменили конструкторRevealState, чтобы он принималRevealDirectionвместо якорей; удалили функцииcreateRevealAnchors, якоря иbidirectionalAnchors; функцииSwipeToRevealScopeprimaryAction,secondaryAction,undoPrimaryActionиundoSecondaryActionбыли переименованы вPrimaryActionButton,SecondaryActionButton,UndoActionButtonи преобразованы в composable-функции; пометилиRevealActionTypeкак внутреннюю. (I885d0). - В API
SwipeToRevealвнесены следующие изменения:onFullSwipeпереименован вonSwipePrimaryAction;SwipeToRevealNonAnchoredSampleпереименован, чтобы указать на использование параметраhasPartiallyRevealedState;actionButtonHeightудален, поскольку по умолчанию используется высота кнопки, а более высокую кнопку можно задать с помощью модификатора;SmallActionButtonHeightудален изSwipeToRevealDefaults; параметр value в конструкторахRevealValueиRevealDirectionсделан частным. (I465ce).
Исправление ошибок
- Исправлена обработка
ScreenScaffoldEdgeButton, чтобы после удаления элементаTransformingLazyColumnEdgeButtonанимировался на место. (I6d366). - Зависимости Wear Compose от библиотек Compose обновлены до версии 1.8.0. (I2ef3f).
- Изменено движение неопределенного индикатора
CircularProgressIndicator, чтобы он больше не возвращался назад. (Ieddb1). - Исправлена
SwipeDismissableNavHostошибка: фокус переключался неправильно после возврата назад, из-за чего не работало управление с помощью поворотного переключателя (для API 36 и более поздних версий, в которых используется прогнозируемый возврат). (Ieddb1). - Измененная документация по Hierarchical Focus API (Idf2ff).
- В документацию по кнопкам и карточкам добавлена информация о том, как параметры
containerPainterиdisabledContainerPainterпереопределяют параметрыcontainerColorиdisabledContainerColor(I4a453). - В предыдущей версии мы перенесли
BroadcastReceiverв рабочий поток, но это вызвало проблемы в приложениях, которые управляют собственными потоками во время навигации. Поэтому мы вернулиTimeTextк прежнему состоянию. (I34d02). - В примерах Picker удалены ненужные вызовы remember. Вместо этого в Picker используется
rememberUpdatedState, чтобы запомнить последнюю лямбда-функцию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).
Версия 1.5.0-alpha14
23 апреля 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha14. Версия 1.5.0-alpha14 содержит эти коммиты.
Изменения в API
- Все зависимости Material
SwipeToRevealот FoundationSwipeToRevealбыли перенесены в пакет Material, напримерRevealValue,RevealDirection,RevealActionType,RevealState,rememberRevealState. Разработчикам следует изменить импорт этих классов и функций сandroidx.wear.compose.foundationнаandroidx.wear.compose.material. (Ib7cb8) - Обновлен API
HierarchicalFocusCoordinator: теперь вместо композиций используются модификаторы. - Примечания к переносу:
HierarchicalFocusCoordinator(function, content)можно заменить, добавивModifier.hierarchicalFocus(function())вcontentили в окружающий компонуемый элемент.ActiveFocusListener { if (it) focusRequester.requestFocus() }можно заменить, добавивModifier.hierarchicalFocusRequester(focusRequester).- В других редких случаях использования
ActiveFocusListenerможно использовать новый параметр вModifier.hierarchicalFocus. - Функцию
focusRequester(rememberActiveFocusRequester())можно заменить наhierarchicalFocusRequester(). - Функцию
val focusRequester = rememberActiveFocusRequester()можно заменить наremember { FocusRequester() }и добавитьModifier.hierarchicalFocusRequester(focusRequester). (Ie319a)
Исправление ошибок
- Порог скорости, который должен быть превышен при жестах пролистывания для изменения состояния, был увеличен для следующих компонентов:
SwipeToReveal,BasicSwipeToDismissBoxиSwipeDismissableNavHost(только для API 35 и ниже дляSwipeDismissableNavHost). (If47bf) - Исправлена проблема с анимацией при добавлении новых объектов в
TransformingLazyColumn. (I589b2)
Версия 1.5.0-alpha13
9 апреля 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha13. Версия 1.5.0-alpha13 содержит эти коммиты.
Изменения в API
- Для проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздней версии (Idb6b5).
- В
PagerStateдобавлено свойствоtargetPage(I4de8b).
Исправление ошибок
- Предотвращение ненужной рекомпозиции при использовании предпросмотра для жеста "Назад". (Iecd6d)
- Исправлено свойство
isScrollableобъектаScrollInfoProvider, чтобы возвращать текущее значение. (Icbfb8)
Версия 1.5.0-alpha12
26 марта 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha12. Версия 1.5.0-alpha12 содержит эти коммиты.
Изменения в API
- Улучшить реализацию
gestureInclusionпо умолчанию вSwipeToReveal, чтобы жесты игнорировались только в том случае, если компонент находится в состоянии Covered (Закрыт). (I7e3d6) - В
SwipeToRevealпараметрbidirectionalGestureInclusionтеперь является значением, а не функцией. В параметрedgeZoneFractionвgestureInclusionдобавлен параметр@FloatRange. (Ica7c3)
Исправление ошибок
- Измените
SwipeToRevealbidirectionalGestureInclusion, чтобы возвращать объект, а не класс. (I29597) - Отключено использование тактильной обратной связи при выполнении тестов в
RoboElectric. (I58bd1) - Измените
SwipeToRevealполя между контентом и кнопками действий, а также между значком и текстом кнопок действий. (Ic46cb)
Версия 1.5.0-alpha11
12 марта 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha11. Версия 1.5.0-alpha11 содержит эти коммиты.
Изменения в API
- Обновлен
PagerState: удален класс Compose FoundationPagerStateв качестве базового и добавлены свойстваcurrentPage,currentPageOffsetFractionиpageCount. Обновлен интерфейсGestureInclusion. Метод переименован вignoreGestureStart. (I4ae07) - Добавьте
requireOffsetвSwipeToDismissBoxStateкак рекомендуемый способ получения смещенияSwipeToDismissBoxState. (I21042) - Добавлен тег
CurvedModifier.semantics, который изначально поддерживает описание контента и индекс перехода (I0b093). - Мы добавили
CurvedModifier.clearAndSetSemantics, чтобы можно было отключить изогнутую семантику.CurvedTextпо-прежнему по умолчанию описывает контент текстом, ноtimeTextCurvedTextиtimeTextSeparatorтеперь не озвучивают свое содержимое. (I4b568) - Обработка жестов пролистывания по умолчанию в
HorizontalPagerпереименована вPagerDefaults.gestureInclusion. Теперь по умолчанию игнорируются только жесты пролистывания, которые начинаются на левом краю первой страницы, и только если TalkBack отключен. В остальных случаях жесты пролистывания не будут игнорироваться пейджером, поэтому они будут доступны для обработчиков жестов пролистывания для закрытия. (Iee486) - Добавлена поддержка прокрутки с помощью жеста вращения для API
rotaryScrollable. В поведение прокруткиrotaryScrollableдобавлены перепрокрутка и вложенная прокрутка. Это изменение позволит привести к единому стандарту функциональность прокрутки с помощью сенсорного экрана и колесика прокрутки, в том числе при прокрутке за пределы экрана и вложенной прокрутке. (I71926) - Добавлена поддержка зоны для проведения пальцем от края экрана в
SwipeToReveal. Теперь по умолчанию в FoundationSwipeToRevealзапрещено пролистывание, если жест начинается с края экрана. По умолчанию Material3SwipeToRevealзапрещает пролистывание, если жест начинается с края экрана и дляSwipeDirectionзадано одно направление. (I32ef0) - Теперь по умолчанию в TLC используется пустой параметр contentPadding, а не центрирование первого и последнего элементов. (I77ab7)
Исправление ошибок
- Библиотеки Wear Compose обновлены до компилятора Kotlin 2.0. (I2de79)
- Исправлена ошибка с изогнутым образцом
LetterSpacingна основе. (Iebf7c)
Версия 1.5.0-alpha10
26 февраля 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha10. Версия 1.5.0-alpha10 содержит эти коммиты.
Изменения в API
- Сделайте
SwipeToRevealDefaultsобщедоступным. (I0c34c) - Мы заменили параметр
swipeToDismissEdgeZoneFractionвHorizontalPager. Вместо него был добавлен новый параметрgestureInclusion, который позволяет реализовать нужный алгоритм закрытия с помощью пролистывания.gestureInclusionпринимает экземплярGestureInclusion, который определяет, следует ли выполнять последующее событие прокрутки. Если жест разрешен, то он обрабатывается компонентом Pager, а не другими элементами, например обработчиком жеста "провести, чтобы закрыть". Теперь по умолчанию жесты на левом краю первой страницы в Pager запрещены, поэтому в этой области можно использовать пролистывание для закрытия. На всех остальных страницах Pager будет обрабатывать все жесты, поэтому с них нельзя будет закрыть страницу с помощью свайпа. Чтобы реализовать функцию "Проведите, чтобы закрыть" на всех страницах, просто предоставьте специальный экземплярGestureInclusion(см.PagerDefaults.disableLeftEdgeOnFirstPage), который игнорирует текущую страницу. Ещё одно важное изменение: компонент Pager больше не занимает весь экран по умолчанию. Чтобы он занимал весь экран, добавьтеModifier.fillMaxSize(). (I9d3aa) - Мы переименовали
createAnchorsвcreateRevealAnchorsв API для показа контента при проведении пальцем по экрану(If5999). - Мы удалили
RevealScopeиз API для показа контента при пролистывании. (Ie4ad5) - Мы удалили Revealing и Revealed из
RevealValueв API для показа при проведении пальцем. (I8dbc5) - В API для объявлений, которые показываются при проведении пальцем, мы переименовали
SwipeDirectionвRevealDirection. (I7472f) - Мы изменили сигнатуру параметра
positionalThresholdфункцииrememberRevealStateобъектаSwipeToReveal. (I29c0a) - Мы добавили новый параметр
overscrollEffectвScalingLazyColumn,TransformingLazyColumnиScreenScaffold. (I0cee8) - При использовании
PagerDefaults#snapFlingBehaviourпараметрpagerSnapDistanceзаменен на параметр IntmaxFlingPages, который можно использовать, чтобы указать максимальное количество страниц, которые должен пролистывать Pager. (I8cfc0) - У Wear Pager теперь есть собственная
PagerScope, а неPagerScopeиз Compose Foundation. (I9195b) - Мы добавили поддержку свойства
lineHeightдля изогнутого текста (I1c936). - Мы добавили
initialAnchorItemIndexиinitialAnchorItemOffsetвTransformingLazyColumnStateиrememberTransformingLazyColumnState, чтобы исходное положение прокрутки можно было задать вTransformationLazyColumn. (I0a0d5) - Мы отказались от использования параметра
runWithTimingDisabledв пользу параметраrunWithMeasurementDisabled, который более точно описывает поведение: все показатели приостановлены. Кроме того, мы добавили суперклассMicrobenchmarkScope, поскольку нельзя переопределить функциюrunWithMeasurementDisabled, чтобы открыть доступ, так как она встроена. (I9e23b, b/389149423, b/149979716) - Мы добавили в API параметр
TransformingLazyColumnItemScrollProgress.Unspecified, чтобы избежать появления рамок наTransformingLazyColumnItemScrollProgress. (I0835d)
Исправление ошибок
- Улучшение Kdoc для
CurvedTextStyle(Id45e3) - Мы сделали библиотеку
SwipeableV2(часть реализацииSwipeToReveal) внутренней, а не общедоступной, но с ограничением доступа для группы библиотек. (Idbb94) - Мы добавили тесты в
HierarchicalFocusCoordinator(I1ce54, b/395548918) - Мы улучшили
SwipeToRevealв примерах Wear Compose Foundation. (I5f307) - Исправлены семантические данные оси прокрутки для
verticalScrollAxisRangeвTransformingLazyColumnдля специальных возможностей (I68123) - Улучшена работа тактильной обратной связи на устройствах Wear4+ за счет удаления ненужных фоновых потоков (I39cfe).
- Замените
SwipeDismissableNavHostнаPredictiveBackNavHostтолько в API 36 и более поздних версий. (I59bed) - Мы добавили защиту от сбоев при доступе к настройке "Уменьшение движения". (I01e2c)
- Мы реализовали предварительную загрузку для
TransformingLazyColumn, чтобы уменьшить количество временных зависаний (Icca88)
Версия 1.5.0-alpha09
29 января 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha09. Версия 1.5.0-alpha09 содержит эти коммиты.
Изменения в API
- В версии
CurvedTextStyleмежсимвольный интервал разделен на интервал по часовой стрелке и против часовой стрелки. Это необходимо, поскольку буквы, написанные по часовой стрелке, расходятся от базовой линии, а буквы, написанные против часовой стрелки, сходятся к ней (поэтому требуется больший интервал между буквами) (I4b848). - Функция
CompositionLocalLocalReduceMotionбыла упрощена и теперь возвращает логическое значение вместо объектаReduceMotion. ИнтерфейсReduceMotionбольше не поддерживается. Предыдущие вызовы, напримерLocalReduceMotion.current.enabled(), можно заменить наLocalReduceMotion.current(I4937f). - В
PagerDefaultsпараметрsnapAnimationSpecпереименован вSnapAnimationSpec. (I20c9a)
Версия 1.5.0-alpha08
15 января 2025 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha08. Версия 1.5.0-alpha08 содержит эти коммиты.
Изменения в API
- Мы обновили все библиотеки Wear Compose до режима явного API. (Iebf9f)
- Параметр анимации при переходе между страницами теперь является частью
PagerDefaults. (Ifff64) - Мы добавили параметр смещения в
SwipeToDismissBoxState. (I586bd)
Исправление ошибок
- Теперь тактильная обратная связь на платформе Rotary вызывается для версий Wear OS после V (Idb03e)
Версия 1.5.0-alpha07
11 декабря 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha07. Версия 1.5.0-alpha07 содержит эти коммиты.
Изменения в API
TransformingLazyColumnStateтеперь позволяет отслеживать текущий прогресс прокрутки на основе индексов закрепленных элементов. (I72b01)- Мы добавили анимацию в
TransformingLazyColumnпри добавлении, удалении и перемещении объектов, если у них есть новыйModifier.animateItem. (Iecb9c) - Теперь в
TransformingLazyColumnможно посмотреть значения дляbeforeContentPaddingиafterContentPadding. (Iccd5f) TransformingLazyColumnтеперь предоставляет композицию localLocalTransformingLazyColumnItemScope, которую компоненты (например,CardиButtonв Material3) могут использовать для автоматической трансформации при размещении внутриTransformingLazyColumn. Звонящие могут отключить автоматическое изменение голоса с помощью нового оберточного элементаTransformExclusion. (I1652f)
Исправление ошибок
- Мы обновили минимальную и максимальную скорости прокрутки для устройств с ОС версии U и более поздних. (I33559)
- Мы исправили сбой, который возникал, если объект в
TransformingLazyColumnне содержал композиций (Idb99d). - Мы добавили поддержку
ScrollFeedbackProviderдля роторной тактильной обратной связи в Android Vanilla ice cream. (Ibc553) - Мы увеличили значение параметра "Допуск на промах" при использовании
SwipeToReveal, чтобы уменьшить вероятность случайного запуска прокрутки при вертикальной прокрутке. (Ic0672) - Мы обновили
SwipeDismissableNavHost, чтобы при наличии API 35 и более поздних версий использовалсяPredictiveBackHandler. В таком случае будут применены новые анимации. (I08c11)
Версия 1.5.0-alpha06
13 ноября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha06. Версия 1.5.0-alpha06 содержит эти коммиты.
Изменения в API
- Мы упростили
ScrollInfoProviderдляPagerState, удалив параметрorientation, который больше не нужен. Новое поведение заключается в том, чтоTimeTextостается на месте при переходе на следующую страницу как по горизонтали, так и по вертикали. (I71767) TransformingLazyColumnбыл представлен в более ранних версиях. Мы удаляем псевдонимыLazyColumn(которые перенаправляли наTransformingLazyColumn) и переходим на новое названиеTransformingLazyColumn. Мы также удалили свойствоheightизTransformingLazyColumnVisibleItemInfo. Вместо него используйтеmeasuredHeight. (I0ea1e)- Мы изменили
PagerDefaults.snapFlingBehaviorsnapAnimationSpecсTweenнаSpring(I10d02, b/349781047, b/303807950). - Мы перевели версию
LocalReduceMotionCompositionLocalв стабильную (Ia6f32).
Исправление ошибок
- Мы обновили свойство
Modifier.rotaryScrollable, чтобы использоватьfocusTargetWithSemanticsдля более эффективной поддержки семантики при работе с поворотным переключателем. (Ief0a0) - Мы обновили минимальную зависимость API до версии 1.7.4 для библиотек Compose. (I88b46)
- Мы отключили изменение ширины в
TransformingLazyColumn, чтобы устранить ошибку обрезки. (I3dfb8) - Мы исправили ошибку, из-за которой элементы исчезали после прокрутки с помощью
TransformingLazyColumn(Id7668). - Мы добавили
LazyLayoutSemanticsдляTransformingLazyColumn. (Ia8f56)
Версия 1.5.0-alpha05
30 октября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha05. Версия 1.5.0-alpha05 содержит эти коммиты.
Изменения в API
- Мы добавили поддержку
animateScrollToвTransformingLazyColumnState, чтобы прокрутка к элементу сопровождалась анимацией. (I4097d) - Мы добавили
requestScrollToнаTransformingLazyColumnState, чтобы отложить прокрутку до следующего измерения. (I20a5e) - Мы добавили поддержку свойства
contentPaddingв структурированных данныхTransformingLazyColumn. (I3a69c)
Исправление ошибок
- Мы исправили ошибку, из-за которой
TransformingLazyColumnнеправильно отображался, когда высота контента была меньше высоты экрана. (I6c3e1) - Значение
ScrollInfoProvderдляTransformingLazyColumnтеперь правильно отслеживает первый элемент. (I1e4a3) TransformingLazyColumnStateтеперь сохраняет свое состояние (anchorItemIndexиanchorItemScrollOffset). (I3d265)
Версия 1.5.0-alpha04
16 октября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha04. Версия 1.5.0-alpha04 содержит эти коммиты.
Изменения в API
- Мы переименовали библиотеку Wear Compose Foundation
LazyColumnвTransformingLazyColumn, чтобы было проще отличать ее от библиотеки Compose FoundationLazyColumn. (I0608b) - Добавлена поддержка вращающегося элемента управления для горизонтальных и вертикальных пейджеров. Теперь пользователи могут перемещаться по пейджерам с помощью вращающихся элементов управления. (I9770d)
- Мы обновили новый
PagerDefaults, чтобы было понятно, что по умолчанию пейджер будет привязываться к странице. (Iff7d0) TransformingLazyColumnItemScrollProgressтеперь является классом значений, что должно повысить эффективность. (Ic399e)TransformingLazyColumnтеперь поддерживает поворотный переключатель. (I05206)TransformingLazyColumnStateтеперь поддерживаетscrollToItem. (I507b3)- Удален параметр
@ExperimentalWearFoundationApiиз APISwipeToReveal(I34a66)
Версия 1.5.0-alpha03
2 октября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha03. Версия 1.5.0-alpha03 содержит эти коммиты.
Изменения в API
- Мы добавили поддержку двунаправленных жестов пролистывания в
SwipeToRevealдля редких случаев, когда текущий экран не поддерживает закрытие с помощью жеста пролистывания. . По умолчанию раскрытие контента происходит только при проведении пальцем справа налево. Мы настоятельно рекомендуем не менять это поведение, чтобы избежать конфликта с функцией закрытия. (Ifac04) - Мы обновили
LazyColumnState, чтобы переопределитьcanScrollForwardиcanScrollBackward. Теперь прокрутка останавливается, когда первый или последний элемент находится точно в центре экрана. (Ia77d7) - Мы добавили новые компоненты
HorizontalPagerиVerticalPager, которые помогают устранять распространенные проблемы, например с обработкой фокуса и взаимодействием с системным жестом для закрытия, которые могут возникать на устройствах Wear. (I2902b) - Мы добавили поддержку
LazyColumn, чтобы показыватьkeyиcontentTypeклиента черезlayoutItems. (I1bd9c)
Исправление ошибок
- Мы улучшили анимацию изогнутого текста, сделав ее более плавной с помощью флагов рисования. (I73a15)
- Мы обновили документацию по диалоговому окну Material Dialog, чтобы отразить, что
onDismissRequestне вызывается, если флаг show имеет значение false. (Ifd8d6) - Мы исправили ошибку с анимацией виньетки в диалоговом окне Material (I126bf).
Версия 1.5.0-alpha02
18 сентября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha02. Версия 1.5.0-alpha02 содержит эти коммиты.
Изменения в API
- Мы добавили поддержку Wear Compose
LazyColumnвScreenScaffold(и реализовалиScrollInfoProviderдляLazyColumnState). (Ib8d29) - Мы добавили
viewportSizeвLazyColumnLayoutInfo. (I4187f)
Исправление ошибок
- Мы исправили ошибку, из-за которой при установке флага
userScrollEnabledв значениеfalseвScalingLazyColumnне отключалась прокрутка с помощью поворотного переключателя. (I490ab, b/360295825) - Мы исправили ошибку, из-за которой при использовании изогнутого текста появлялись неожиданные вертикальные отступы. Высота изогнутого текста теперь более точно соответствует фактическому пространству, занимаемому текстом. Обратите внимание, что это может привести к сбоям в тестах скриншотов, которые включают изогнутый текст (Iaa6ef).
- Мы отменили исправление ошибки в
Dialog, из-за которой обратный вызовonDismissRequestвызывался, когда дляshowDialogбыло задано значение false, поскольку в некоторых случаях это приводило к многократному вызовуonDismissRequest. (I64656)
Версия 1.5.0-alpha01
4 сентября 2024 г.
Выход androidx.wear.compose:compose-*:1.5.0-alpha01. Версия 1.5.0-alpha01 содержит эти коммиты.
Изменения в API
- Мы добавили в библиотеку Wear Compose Foundation новый класс
LazyColumnи связанные с ним APILazyColumnStateиLazyColumnScope. Это основа для создания масштабируемых и трансформируемых эффектов с помощью Wear Compose. (Ib3b22) - Мы добавили индексированную версию
itemsIndexedвLazyColumnScopeв рамках нового APILazyColumn. (Ib4a57) - Мы добавили модификаторы
LazyColumn, чтобы поддерживать масштабирование и морфинг. (Ie229a) - Версия
HierarchicalFocusCoordinatorстала стабильной. (I31035) - Мы добавили поддержку расстояния между буквами для изогнутого текста. (I3c740)
- В файл
CurvedLayout.curvedComposableдобавлен параметрrotationLocked, чтобы запретить поворот компонентов. (I66898) - Временный API
LocalUseFallbackRippleImplementationиз wear material и wear material3 был удален (I62282). - Пользователь
WearDevices.SQUAREудален из мультипредпросмотра@WearPreviewDevices(I11c02).
Исправление ошибок
SwipeToRevealтеперь размещает показанные элементы на видимой части экрана. Это помогает, когдаSwipeToRevealиспользуется в списке, поскольку элементы всегда доступны для взаимодействия и не выходят за пределы экрана. (I38929)SwipeToRevealтеперь сбрасывает значениеlastActionTypeна None, когдаanimatedToзавершает работу. (I59b03)- Улучшена документация по новому параметру
rotationLockedна страницеcurvedComposable. (Ifbd57) - Исправлена ошибка, из-за которой происходил сбой при передаче
NaNвperformFlingобъектаScalingLazyColumnSnapFlingBehavior. (Ic13da) - Исправлена ошибка, связанная с модификатором размера изогнутого макета (I0fedf).
- Добавлена поддержка интервалов между буквами, заданных в атрибуте "sp". (I9f6e3)
- Мы исправили ошибку в диалоговом окне Material2, из-за которой обратный вызов
onDismissRequestне вызывался, когда диалоговое окно становилось невидимым (I64656). - Параметр
LayoutCoordinates.introducesFrameOfReferenceпереименован вLayoutCoordinates.introducesMotionFrameOfReference, чтобы лучше отражать его назначение. Переименована связанная функция для расчета координат на основе этого флага. (I3a330)
Версия 1.4
Версия 1.4.1
12 февраля 2025 г.
Выход androidx.wear.compose:compose-*:1.4.1. Версия 1.4.1 содержит эти коммиты.
Исправление ошибок
- Мы устранили проблему, из-за которой происходил сбой при доступе к глобальной настройке "Уменьшение движения". Она возникала на некоторых платформах, где эта настройка не была предусмотрена. (I01e2c)
Версия 1.4.0
4 сентября 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0. Версия 1.4.0 содержит эти коммиты.
Важные изменения с версии 1.3.0
ScalingLazyColumnиPickerтеперь по умолчанию поддерживают ввод с помощью поворотного переключателя. Рекомендуем удалить явную обработку поворотного переключателя и использовать системное поведение по умолчанию. При необходимости используйте параметрrotaryScrollableBehavior, чтобы настроить прокрутку или прилипание. Для прилипания рекомендуется использовать параметрflingBehavior, чтобы задать прилипание и прокрутку касанием.Modifier.rotaryScrollable– новый модификатор, который связывает события вращения с контейнерами с возможностью прокрутки, позволяя пользователям прокручивать контент с помощью заводной головки или вращающегося безеля на устройстве Wear OS.SwipeDismissableNavHostтеперь предоставляет анимацию входа для переходов в приложении.PositionIndicatorтеперь показывается по умолчанию при первом появлении экрана.
Дополнительные изменения
- Полный список изменений, представленных в версии 1.3.0, можно найти в примечаниях к выпуску beta01.
Версия 1.4.0-rc01
21 августа 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-rc01. Версия 1.4.0-rc01 содержит эти коммиты.
- Мы обновили зависимости Compose до версии 1.7.0-rc01 и закрепили Wear Compose Navigation на androidx.lifecycle 2.8.3.
Версия 1.4.0-beta03
12 июня 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-beta03. Версия 1.4.0-beta03 содержит эти коммиты.
Исправление ошибок
- Мы обновили
Modifier.rotaryScrollable, заменив атрибут focusable на focusTarget, чтобы повысить производительность. (Id294b) - Мы устранили проблему, из-за которой игра "
ProgressIndicator" повторяла объявление в разделе "TalkBack". (I94563) - Мы обновили базовые профили библиотеки Wear Compose. (I3cbc3)
Версия 1.4.0-beta02
29 мая 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-beta02. Версия 1.4.0-beta02 содержит эти коммиты.
Исправление ошибок
- Мы увеличили ширину границ, передаваемых программам чтения с экрана из изогнутого текста, чтобы устранить проблемы с усечением (Id865f).
- Мы ограничили границы объекта
HorizontalPageIndicator, который передается программам чтения с экрана. Ранее индикатор занимал весь экран (Id8d7a).
Версия 1.4.0-beta01
14 мая 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-beta01. Версия 1.4.0-beta01 содержит эти коммиты.
Версия 1.4-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован (за исключением экспериментальных функций). В Wear Compose 1.4 добавлены следующие новые функции:
- Мы добавили новый модификатор
Modifier.rotaryScrollable, который связывает события вращения с контейнерами с возможностью прокрутки. Благодаря этому пользователи могут прокручивать контент с помощью заводной головки или вращающегося безеля на устройстве Wear OS. Кроме того, в приложенияхScalingLazyColumnиPickerтеперь по умолчанию поддерживается ввод с помощью поворотного переключателя. Используйте параметрrotaryScrollableBehavior, чтобы настроить прокрутку или привязку. Для привязки рекомендуется также указывать параметрflingBehaviorпри прокрутке с помощью сенсорного экрана. SwipeDismissableNavHostтеперь предоставляет анимацию входа для переходов в приложении.PositionIndicatorтеперь показывается по умолчанию при первом появлении экрана.- Свойства
SelectableChipиSplitSelectableChipбыли добавлены как вариант свойстваToggleChip. Используйте их вместе со свойствомRadioButton, чтобы обеспечить доступность с помощью семантики, которую можно выбрать, а не переключить. ListHeaderтеперь поддерживает корректировку высоты, если контенту требуется дополнительная высота для размещения шрифтов большого размера.
Исправление ошибок
- Мы исправили ошибку, из-за которой при выборе чипов, которые можно выбрать, дважды нажималось "Переключить", когда они уже были выбраны. (I7ed88)
Версия 1.4.0-alpha08
1 мая 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha08. Версия 1.4.0-alpha08 содержит эти коммиты.
Изменения в API
- Мы внесли следующие изменения в новый API для вращающегося элемента: переименовали
Modifier.rotaryвModifier.rotaryScrollable, интерфейсRotaryBehaviorвRotaryScrollableBehavior, функциюhandleScrollEventвperformScroll, а также переименовалиRotaryScrollableAdapterвRotaryScrollableLayoutInfoProviderи удалили свойствоscrollableState. (I0c8a6) - Мы внесли дополнительные изменения в Rotary API: переименовали
RotaryScrollableLayoutInfoProviderвRotarySnapLayoutInfoProvider(поскольку этот поставщик нужен только для поворотного контроллера с привязкой); изменили тип параметраsnapOffsetвRotaryScrollableDefaults.snapBehavior snapOffsetс Int на Dp. (Iddebe) - Мы переименовали параметр
clickInteractionSourceна страницеSplitSelectableChipвcontainerInteractionSource. (Ia8f84) - Мы изменили названия параметров обратного вызова клика для
SplitSelectableChip: сonClickнаonSelectionClickи сonBodyClickнаonContainerClick. (I32237)
Исправление ошибок
- Мы изменили горизонтальные отступы для
PositionIndicatorна 2 dp (было 5 dp), чтобы исправить ошибку, из-за которойPositionIndicator(полоса прокрутки) перекрывала контент с возможностью прокрутки. Обратите внимание, что из-за изменения отступов существующие скриншоты, на которых есть значокPositionIndicator, могут отображаться некорректно. (I57472) - Мы улучшили документацию по новому API для вращающегося элемента управления, добавив описание различий между устройствами с низким и высоким разрешением. (I63abe)
- Мы исправили исключение, связанное с выходом за пределы диапазона, в
SwipeDismissableNavHost. Оно могло возникать, когда интерполированные альфа-значения были меньше нуля. (Ib75a1, b/335782510)
Версия 1.4.0-alpha07
17 апреля 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha07. Версия 1.4.0-alpha07 содержит эти коммиты.
Изменения в API
- Мы добавили новый модификатор
Modifier.rotary, который связывает события вращения с контейнерами с возможностью прокрутки. Благодаря этому пользователи могут прокручивать контент с помощью заводной головки или вращающегося безеля на устройстве Wear OS. Кроме того,ScalingLazyColumnи Picker теперь по умолчанию поддерживают ввод с помощью поворотного переключателя. В них добавлены новые перегрузки, включающие параметрrotaryBehavior, который позволяет задать конфигурацию прокрутки или привязки. Если для параметраrotaryBehaviorзадано значение snap, рекомендуется также указать snap для параметраflingBehavior, чтобы включить прокрутку с прилипанием. (I2ef6f) - Источники
NestedScroll"Перетаскивание" и "Бросок" заменяются наUserInputиSideEffect, чтобы учесть расширенное определение этих источников, которое теперь включает анимацию (Side Effect), а также колесико мыши и клавиатуру (UserInput). (I40579) - Мы добавили значки
SelectableChipиSplitSelectableChip, чтобы было проще различать переключатели, напримерSwitch/Checkbox, и элементы управления, напримерRadioButton. Это заменяет ранее добавленные перегрузкиToggleChip/SplitToggleChipпараметрамиselectionControl. (Ia0217) - Изменен тип доступа к
IndeterminateStrokeWidthвProgressIndicatorDefaultsна открытый. (I5b5a4)
Версия 1.4.0-alpha06
3 апреля 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha06. Версия 1.4.0-alpha06 содержит эти коммиты.
Исправление ошибок
- Мы добавили внутреннюю версию поддержки вращающегося элемента управления в рамках более масштабной работы по переносу поведения этого элемента из Horologist в AndroidX. (I617d1)
- Мы добавили внутреннюю версию поддержки тактильных ощущений в рамках более масштабной работы по переносу поведения Rotary из Horologist в AndroidX. (I5568a)
Версия 1.4.0-alpha05
20 марта 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha05. Версия 1.4.0-alpha05 содержит эти коммиты.
Изменения в API
- Мы сделали общедоступными свойства
initialCenterItemIndexиinitialCenterItemScrollOffsetобъектаScalingLazyListState. (I0c616) - Мы сделали
FullScreenStrokeWidthизProgressIndicatorDefaultsобщедоступным. (Ibea23)
Исправление ошибок
- Мы улучшили производительность
PositionIndicator, уменьшив количество вызововlayoutInfoизScalingLazyColumn. (Idc83d)
Версия 1.4.0-alpha04
6 марта 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha04. Версия 1.4.0-alpha04 содержит эти коммиты.
Изменения в API
- Мы добавили новую перегрузку для
ToggleChipиSplitToggleChip, которая принимает параметрselectionControlвместо параметраtoggleControl. Этот атрибут следует использовать вместе с элементом управленияRadioButton, чтобы обеспечить доступность (I1d6d9) и предоставить семантику с возможностью выбора вместо семантики с возможностью переключения. - Мы изменили названия параметров для новой перегрузки
selectionControlсonSelectedнаonSelectдляToggleChipиSplitToggleChip(I1a971)
Версия 1.4.0-alpha03
21 февраля 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha03. Версия 1.4.0-alpha03 содержит следующие коммиты:
Изменения в API
- Поддержка контейнера
Modifier.inspectableпрекращена. Этот API создает больше недействительных значений модификатора, чем необходимо, поэтому его использование не рекомендуется. Разработчикам рекомендуется реализовать методinspectableProperties()вModifierNodeElement, если они хотят предоставить доступ к свойствам модификатора. (Ib3236)
Исправление ошибок
- Мы исправили ошибку в документации по аннотациям
WearPreview*. (Id526d)
Версия 1.4.0-alpha02
7 февраля 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha02. Версия 1.4.0-alpha02 содержит следующие коммиты:
Исправление ошибок
- Мы исправили ошибку в функции "Проведите, чтобы показать", из-за которой можно было взаимодействовать с выполненным действием для одного объекта (и отменить его), начав проводить по другому объекту.(Ide059)
- Мы обновили
ListHeader, чтобы поддерживать корректировку высоты, когда контенту требуется дополнительная высота для размещения шрифтов большого размера. (I7290c, b/251166127)
Версия 1.4.0-alpha01
24 января 2024 г.
Выход androidx.wear.compose:compose-*:1.4.0-alpha01. Версия 1.4.0-alpha01 содержит следующие коммиты:
Новые функции
- Мы добавили анимацию входа в
SwipeDismissableNavHostдля переходов в приложении.(cfeb79a) PositionIndicatorтеперь показывается по умолчанию при первом появлении экрана. Это изменение было введено, чтобы помочь соблюдать рекомендации по обеспечению качества приложений для Wear OS. К сожалению, это означает, что скриншоты, на которых естьPositionIndicator, нужно будет обновить, поскольку раньшеPositionIndicatorне показывался. (419cef7)
Изменения в API
- Мы добавили новый API эффекта пульсации в библиотеки
wear:compose-materialиwear:compose-material3, который заменяет устаревший APIrememberRipple. Также добавляет временныеCompositionLocal,LocalUseFallbackRippleImplementation, чтобы вернуть компоненты Material к использованию устаревших APIrememberRipple/RippleTheme. В следующем стабильном выпуске эта функция будет удалена. Она предназначена только для временного облегчения перехода на пользовательскийRippleTheme. Подробную информацию о переходе и причинах этого изменения можно найти на сайте developer.android.com. (af92b21) - Мы сделали свойство
ColorSchemeнеизменяемым, поэтому теперь отдельные изменения цвета будут выполняться медленнее, но более распространенные операции с цветами станут быстрее. Мы решили убрать эту функцию, поскольку для большинства приложений обновление отдельных цветов не является основным вариантом использования. Это по-прежнему возможно, но теперь будет выполняться больше операций, что позволит значительно сократить количество подписок на состояние во всем коде материалов и повлияет на стоимость инициализации и выполнения для более стандартных вариантов использования. (f5c48b7) - Компоненты Wear Material и Wear Material3, в API которых есть
MutableInteractionSource, теперь содержат допускающий значение nullMutableInteractionSource, по умолчанию равный null. Здесь нет семантических изменений: передача значения null означает, что вы не хотите подниматьMutableInteractionSource, и при необходимости он будет создан внутри компонента. Если задать значение null, некоторые компоненты никогда не будут выделятьMutableInteractionSource, а другие будут создавать экземпляр только при необходимости, что повысит производительность этих компонентов. Если вы не используетеMutableInteractionSource, передаваемый этим компонентам, рекомендуется передавать вместо него значение null. Рекомендуем внести аналогичные изменения в собственные компоненты. (f8fa920) - Мы обновили
rememberExpandableState, чтобы сохранять состояние развернутого объявления. Это гарантирует, что данные сохраняются при переходе на другой экран и восстанавливаются при возвращении на исходный. (5c80095)
Исправление ошибок
- Мы обновили настройку
ReduceMotion, чтобы использовать слушателя, учитывающего жизненный цикл. (7c6b122) - Мы обновили слушателя
TouchExplorationStateProvider, чтобы он учитывал жизненный цикл (be28b01) - Мы удалили слой materialcore для отпечатка пальца
CompactButton, чтобы повысить эффективность распознавания (25db8e9). - Мы сделали функцию
BasicSwipeToDismissBoxболее устойчивой к смещениям NaN, чтобы избежать исключений (b983739). - Мы обновили параметр
BasicSwipeToDismissBox,чтобы значения альфа-канала находились в диапазоне 0–1. - Мы исправили ошибку в
ToggleButton,SplitToggleButton,Checkbox,SwitchиRadioButton, из-за которой объявления для специальных возможностей повторялись (ранее дублировались семантические роли) (d11eeb7).
Версия 1.3
Версия 1.3.1
3 апреля 2024 г.
Выход androidx.wear.compose:compose-*:1.3.1. Версия 1.3.1 содержит эти коммиты.
Исправление ошибок
- Мы исправили ошибку в функции "Проведите, чтобы показать", из-за которой можно было взаимодействовать с выполненным действием для одного объекта (и отменить его), начав проводить по другому объекту. (Ide059)
Версия 1.3.0
24 января 2024 г.
Выход androidx.wear.compose:compose-*:1.3.0. Версия 1.3.0 содержит следующие коммиты:
Важные изменения с версии 1.2.0
- Класс
SwipeToDismissBoxState, перечислениеSwipeToDismissValueи функция расширенияModifier.edgeSwipeToDismissтеперь входят в пакетandroidx.wear.compose.foundation, а неandroidx.wear.compose.material. Обновленная архитектура позволяет реализовать обработку жестов независимо от других аспектов дизайна. Рабочие процессы Material Design, например применение цветов из настроенной темы, обрабатываются отдельно. - Классы
SwipeToRevealCardиSwipeToRevealChipпомогают реализоватьrecommended swipe-to-reveal guidance. КлассSwipeToRevealSampleдемонстрирует, как использовать эти компоненты. В версии 1.3.0-alpha02 мы внесли изменения, из-за которых объекты
ChipиToggleChipувеличиваются в высоту, чтобы лучше поддерживать масштабирование шрифта, выбранное пользователем. Это может привести к обрезке. Чтобы устранить эту проблему, для формыlargeвMaterialThemeтеперь используется больший радиус скругления углов (26 dp вместо 24 dp). ОбъектыChipиToggleChipиспользуют новый радиус скругления, чтобы избежать обрезки контента по угламToggleChip.- Большинство
ChipsиToggleChipsне изменились, поскольку их высота по умолчанию составляет 52 dp. Однако объектыChipиToggleChip, содержащие несколько строк основного или дополнительного текста метки или для которых переопределена высота, могут привести к сбою тестов скриншотов.
- Большинство
Дополнительные изменения
Полный список изменений, представленных в версии 1.3.0, можно найти в примечаниях к выпуску beta01.
Рекомендации по реализации
- Если в приложении можно перемещаться по экрану, например в приложении с картой, отключите обработку жестов пролистывания, задав для параметра
userSwipeEnabledзначениеfalseв композицииSwipeDismissableNavHost, и добавьте кнопку, позволяющую вернуться на предыдущий экран. - Чтобы отключить анимацию для индикатора позиции во время появления и изменения позиции в прокручиваемом списке, используйте объект
SnapSpec. - Пока медиаприложение загружает контент для воспроизведения, показывайте пустой компонент
Placeholder. - Чтобы создать коллекцию раскрывающихся элементов по запросу, попробуйте использовать экспериментальный класс
ExpandableStateMapping.
Версия 1.3.0-rc01
10 января 2024 г.
Выход androidx.wear.compose:compose-*:1.3.0-rc01. Версия 1.3.0-rc01 содержит следующие коммиты:
Исправление ошибок
-
Мы обновили большую форму
MaterialTheme, чтобы использовать радиус скругления углов 26 dp. Теперь он будет использоваться в чипе иToggleChip. Это изменение необходимо, чтобы поддерживать регулировку высоты, когда контенту требуется дополнительная высота для размещения большого размера шрифта. В противном случае существующая форма стадиона обрезает часть текста.Рисунок 1. Текст обрезан по углам. Рисунок 2. Текст не обрезан. Это изменение может привести к сбоям в тестах скриншотов. (I2e6ae)
Версия 1.3.0-beta02
13 декабря 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-beta02. Версия 1.3.0-beta02 содержит следующие коммиты:
Исправление ошибок
- Мы восстановили исходное движение прокрутки в
BasicSwipeToDismissBox. В предыдущей версии это было изменено, и переход к следующему слайду происходил, когда палец касался экрана. (Id8e76)
Версия 1.3.0-beta01
15 ноября 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-beta01. Версия 1.3.0-beta01 содержит следующие коммиты:
Версия 1.3-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован (за исключением экспериментальных функций). В Wear Compose 1.3 добавлены следующие новые функции:
SwipeToDismissBoxState,SwipeToDismissValueиModifier.edgeSwipeToDismissбыли перенесены изandroidx.wear.compose.materialвandroidx.wear.compose.foundationвместе с реализацией функции "Проведите, чтобы закрыть" вBasicSwipeToDismissBox. Это позволяет использовать обработку жестов для закрытия свайпом независимо от Material Design, например изSwipeDismissableNavHostвandroidx.wear.compose.navigation.SwipeToDismissBoxизandroidx.wear.compose.materialпо-прежнему рекомендуется использовать с Material Design, поскольку он извлекает цвета изMaterialTheme, а затем передает оставшуюся реализацию вBasicSwipeToDismissBox.- Теперь параметр
SwipeDismissableNavHostподдерживает новый параметрuserSwipeEnabled, позволяющий отключать обработку пролистывания на экранах, где она не требуется. BasicSwipeToDismissBoxулучшил обработку фокуса с помощьюHierarchicalFocusCoordinator.- В
SwipeToRevealпоявились новые компонентыSwipeToRevealCardиSwipeToRevealChip, которые соответствуют рекомендациям по удобству использования дляCardиChip. Также поддерживается отмена второстепенного действия. DefaultTextStyleтеперь отключает отступы шрифтов, чтобы обеспечить единообразие на платформе Android.ChipиToggleChipтеперь автоматически подстраивают свою высоту под контент, который увеличился из-за крупного шрифта, выбранного для специальных возможностей.PositionIndicatorтеперь имеет отдельные спецификации анимации для эффектов появления, исчезновения и изменения положения. Чтобы обеспечить высокую производительность, мы рекомендуем отключать эффект появления и изменение позиции при использовании списков с возможностью прокрутки.ExpandableStateMappingпозволяет создаватьExpandableStatesпо запросу, а не только в области действия@Composable.Placeholderтеперь позволяет сбросить статус, если контент больше не готов к публикации. Кроме того, настройка "Уменьшение движения" теперь применяется к эффекту мерцания и стирания наPlaceholder.
Известные проблемы
PositionIndicatorне показывается при первом появлении экрана. Мы планируем внести изменения в одну из ранних альфа-версий 1.4, чтобы сначала показывался только текст, без анимации.
Изменения в API
- Уровень Foundation
SwipeToDismissBoxпереименован вBasicSwipeToDismissBox. Это позволяет более четко различать компонент уровня Foundation и уровень MaterialSwipeToDismissBox. Последний извлекает цвета изMaterialTheme, чтобы использовать их в полупрозрачных слоях, а остальную реализацию делегируетBasicSwipeToDismissBox. (Ibecfc) - Мы пометили
rememberExpandableStateMappingкак экспериментальную функцию и улучшили работуexpandableItem. (I5f6bc) - Мы заменили класс
SwipeToRevealActionв MaterialSwipeToRevealCard и Chip API на API на основе слотов, в котором используются композицииSwipeToRevealPrimaryAction,SwipeToRevealSecondaryActionиSwipeToRevealUndoAction. Примеры использования нового API можно найти в образцах кода. (Ia8943) - Мы заменили флаги анимации
PositionIndicatorна параметрыAnimationSpec. Отдельные анимации можно отключить, передавsnapв качествеAnimationSpec. (I6c523)
Исправление ошибок
- Мы исправили ошибку, которая возникала при использовании ограниченного изогнутого текста, когда размер был ограничен (I50efe).
- Мы устранили потенциальный сбой NaN, связанный с
curvedComposable(I970eb). - Мы вернули анимацию, которая выделяет изменение позиции на странице
PositionIndicator. (Ieb424) - Мы удалили слой material-core для чипа Material, чтобы повысить его производительность. (If2dcb)
Версия 1.3.0-alpha08
18 октября 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha08. Версия 1.3.0-alpha08 содержит следующие коммиты:
Изменения в API
- Мы добавили отдельные флаги в перегрузки
PositionIndicator, чтобы управлять разными анимациями:showFadeInAnimation,showFadeOutAnimationиshowPositionAnimation. Предыдущий API больше не поддерживается, и все вызовы перенаправляются в новый. Чтобы обеспечить высокую производительность и единообразие интерфейса, при использованииPositionIndicatorс прокручиваемым списком мы рекомендуем отключить флагиshowFadeInAnimationиshowPositionAnimation. ЕслиPositionIndicatorиспользуется как отдельный индикатор, например для изменения громкости, рекомендуем включить все три анимации. (I44294) - Мы прекратили поддержку Material
SwipeToDismissBoxState,SwipeToDismissValueиedgeSwipeToDismissпосле переноса функции "Провести, чтобы закрыть" вwear.compose.foundation. Замените их на эквивалентыwear.compose.foundation. (Iee8c9)
Исправление ошибок
- Мы обновили базовые профили для библиотек wear compose foundation, material и navigation. (Idb060)
- Мы отменили изменение в поведении
PositionIndicator, которое было введено в предыдущем списке изменений. ТеперьPositionIndicatorанимируется при первом появлении экрана. Мы планируем внести аналогичное изменение в одну из альфа-версий 1.4, чтобы изначально отображался значокPositionIndicator, но без анимации. (I41843) - Мы устранили некоторые проблемы с производительностью в
PositionIndicator. (I1c654, b/302399827) - Мы оптимизировали реализацию по умолчанию поставщика статуса исследования касаний, чтобы он полагался на
State<Boolean>, а не на производный статус. (Ieec4d) - Мы задали прямоугольники
systemGestureExclusionдля Android 13 и более поздних версий. (Ib1f4b)
Версия 1.3.0-alpha07
4 октября 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha07. Версия 1.3.0-alpha07 содержит следующие коммиты:
Изменения в API
- Мы добавили в
PositionIndicatorотдельные флаги для управления разными анимациями:showFadeInAnimation,showFadeOutAnimationиshowPositionAnimation. Предыдущий API больше не поддерживается, и все вызовы перенаправляются в новый. Чтобы обеспечить высокую производительность и единообразие интерфейса, при использованииPositionIndicatorс прокручиваемым списком мы рекомендуем отключить флагиshowFadeInAnimationиshowPositionAnimation. ЕслиPositionIndicatorиспользуется как отдельный индикатор, например для изменения громкости, рекомендуем включить все три анимации. (Ia2d63)
Исправление ошибок
- Мы улучшили функцию "Проведите, чтобы показать", добавив анимацию затухания для текста основного действия, а также затухание дополнительного действия и изменение масштаба значка при полном раскрытии. (Ib7223)
- Рекомендуем сделать действия, выполняемые с помощью функции "Проведите, чтобы показать", доступными. Мы добавили специальные действия для обеспечения доступности в наши примеры использования этой функции. (I42224)
- Мы улучшили работу функции
SwipeToDismissBox, в том числе переработали ее код, чтобы исходная логика не вызывала повторную композицию. ТеперьSwipeToDismissBoxбудет занимать весь экран. (Ie0aa2) - Исправлена ошибка, из-за которой значок
PositionIndicatorисчезал. (I2091a) - Улучшена производительность
PositionIndicatorза счет оптимизации перекомпоновки. Позже были добавлены новые флаги для управления анимацией (fadeIn,fadeOutиpositionChange) (см. раздел "Изменения в API") (Ifac7d). - Мы добавили тесты Microbenchmark для
PositionIndicator(Idf875)
Версия 1.3.0-alpha06
20 сентября 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha06. Версия 1.3.0-alpha06 содержит следующие коммиты:
Исправление ошибок
- Мы добавили поддержку свойства
Modifier.edgeSwipeToDismissв структурированных данныхSwipeToReveal. (I95774, b/293444286) - Мы добавили примеры для Material
SwipeToRevealChipиSwipeToRevealCard. (Ieb974) - Мы обновили базовые профили для библиотек Wear Compose Foundation и Material. (I1dd1f)
Версия 1.3.0-alpha05
6 сентября 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha05. Версия 1.3.0-alpha05 содержит следующие коммиты:
Исправление ошибок
- Мы добавили обработку в функцию "Проведите, чтобы показать", чтобы можно было проводить только по одному элементу за раз. (I3cd7a)
- Улучшена документация по
ScalingLazyColumnDefaults, чтобы она лучше соответствовала фактическому поведению. (I886d3)
Версия 1.3.0-alpha04
23 августа 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha04. Версия 1.3.0-alpha04 содержит следующие коммиты.
Новые функции
- Мы добавили возможность отменить второе действие, выполняемое при нажатии клавиши
SwipeToReveal. (I7a22d)
Изменения в API
- Добавьте
HorizontalPageIndicatorв библиотеку Wear Material3. (Ifee99) - Обновлены инструменты предварительного просмотра Wear Compose, чтобы использовать библиотеку
androidx.wear.tooling.preview. (Ib036e)
Исправление ошибок
- Исправлена ошибка, из-за которой модификаторы в круглых кнопках не объединялись в цепочку. (I5e162)
Версия 1.3.0-alpha03
9 августа 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha03. Версия 1.3.0-alpha03 содержит следующие коммиты:
Изменения в API
- Мы добавили два новых компонента Material для реализации
SwipeToRevealс помощью карточек и чипов. Эти функции следуют рекомендациям по UX для компонентов и упрощают разработчикам реализациюSwipeToRevealс помощью существующих компонентов Wear Material. (I7ec65) - Мы включили аннотации
FloatRangeв качестве ограничений API, которые ранее указывались в комментариях. (Icb401)
Исправление ошибок
- Мы перенесли исходную логику прокрутки
ScalingLazyColumnвonGloballyPositioned(). (Ic90f1) - Теперь мы используем
drawWithCacheвPositionIndicator,ProgressIndicatorиSelectionControls, чтобы оптимизировать распределение штрихов. (I5f225, b/288234617) - Мы исправили проблему с видимостью галочки в отключенных состояниях. (Ib25bf)
- Мы обновили
Placeholder, чтобы можно было сбросить настройки и показать плейсхолдер, если контент больше не готов. (Ibd820) - Мы исправили некоторые ошибки в нестабильных тестах
Placeholder(Idb560).
Версия 1.3.0-alpha02
26 июля 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha02. Версия 1.3.0-alpha02 содержит следующие коммиты:
Изменения в API
- Мы добавили
ExpandableStateMapping– новый способ созданияExpandableStatesв случаях, когда их нужно генерировать по запросу, а не обязательно в рамках@Composable(Iff9e0). SwipeToDismissBoxперенесен из пакетаandroidx.wear.compose.materialв пакетandroidx.wear.compose.foundation. (I275fb)- Обновлены файлы API для аннотирования подавления совместимости. (I8e87a, b/287516207)
- Мы сделали общедоступными константы высоты для
Chip,CompactChipиToggleChip(Idbfde). - Мы сделали общедоступными горизонтальные и вертикальные поля для символов
ChipиCompactChip. (Ieeaf7) - Добавлена возможность отключить обработку пролистывания в
SwipeDismissableNavHostс помощью нового параметраuserSwipeEnabled. (Id2a0b, b/230865655) - Мы обновили библиотеку Wear Compose Navigation, чтобы в ней использовался новый компонент
SwipeToDismissBoxиз Wear Compose Foundation. (I4ff8e)
Исправление ошибок
- Мы исправили ошибку, из-за которой
expandedItemне показывал правильный контент после нажатия на кнопку, если у него были кнопки. (I1899d, b/289991514) - Улучшено управление фокусом для
SwipeToDismissBox(и, следовательно,SwipeDismissableNavHost) с помощьюHierarchicalFocusCoordinator(I45362, b/277852486) - Мы исправили обработку жестов в игре "
SwipeableV2". (I89737) - Мы завершили работу над базовыми профилями для версии 1.2. (Id5740)
- После переноса
SwipeToDismissBoxв Foundation реализация MaterialSwipeToDismissBoxтеперь перенаправляется в Foundation и предоставляет значения цвета по умолчанию из своей темы.(If8451) - Мы добавили в
ListHeaderсемантику заголовков. (Ic5420) ChipиToggleChipтеперь будут подстраивать свою высоту под контент, который увеличился из-за использования крупных шрифтов для специальных возможностей. (Iaf302)- Исправлена ошибка в семантической роли области
SplitToggleChip, на которую можно нажать, для обеспечения доступности. (Ieed3a) - Настройка "Уменьшение движения" теперь отключает мерцание и эффект стирания на плейсхолдерах. (I91046)
StepperиInlineSliderтеперь поддерживают многократные нажатия при длительном удерживании, поэтому вы можете быстро увеличить или уменьшить значениеStepperиInlineSlider, удерживая кнопки "+" или "-". (I27359)
Версия 1.3.0-alpha01
21 июня 2023 г.
Выход androidx.wear.compose:compose-*:1.3.0-alpha01. Версия 1.3.0-alpha01 содержит следующие коммиты:
Исправление ошибок
- Как мы сообщали в
1.2.0-alpha07и1.2.0-alpha10, теперь мы меняемDefaultTextStyle, чтобы отключить отступы шрифтов и обеспечить единообразие на платформе Android. Это позволит избежать обрезки текста при использовании крупных шрифтов, а также может повлиять на макеты экранов, поэтому скриншоты тестов нужно будет обновить. Например, здесь мы видим, что текст обрезается (Ic6a86).
- Если отключить отступы шрифта, он исчезнет:
- Мы обновили
wear.compose.foundation, чтобы он был зависимостью APIwear.compose.material(I72004, b/285404743). - Мы исправили ошибку в
SwipeToDismissBox. Ключи фона и контента теперь передаются в блок "Запомнить", чтобы при изменении контента или фона создавались новые модификаторы. (Ib876c, b/280392104) - Мы обновили
TimeText, чтобы при выборе 12- или 24-часового формата времени использовались региональные настройки. (If4a3d) - Мы устранили несоответствие в параметрах по умолчанию
SwipeToDismissBoxиcontentScrimColor. (I2d70f) - Мы улучшили обработку движения в
SwipeToReveal. (I28fb7)
Известные проблемы
- Поддержка размера шрифта, заданного пользователем, – это требование к доступности. Мы знаем, что многострочные чипы могут привести к обрезке текста при отображении с большим размером шрифта, поэтому в ранней альфа-версии 1.3 мы обновим чип, чтобы в таких случаях можно было регулировать высоту.
Версия 1.2
Версия 1.2.1
18 октября 2023 г.
Выход androidx.wear.compose:compose-*:1.2.1. Версия 1.2.1 содержит следующие коммиты:
Исправление ошибок
- Исправлена ошибка, из-за которой значок
PositionIndicatorисчезал. (7a167f)
Версия 1.2.0
9 августа 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0. Версия 1.2.0 содержит следующие коммиты:
Важные изменения с версии 1.1.0
- Стабильная версия Compose для Wear OS 1.2.0 (подробнее)
- Список ключевых изменений в Wear Compose 1.2 можно найти в примечаниях к выпуску Compose for Wear OS 1.2 Beta01.
Версия 1.2.0-rc01
26 июля 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-rc01. Версия 1.2.0-rc01 содержит следующие коммиты:
Исправление ошибок
- Мы завершили работу над базовыми профилями для версии 1.2 (Id5740).
Версия 1.2.0-beta02
7 июня 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-beta02. Версия 1.2.0-beta02 содержит следующие коммиты:
Новые функции
- Мы добавили новую экспериментальную переменную
LocalReduceMotionCompositionLocal, которая отключает масштабирование и затухание наScalingLazyColumn. (I58024)
Исправление ошибок
- Мы обновили базовые профили для библиотек wear compose foundation и material(I4725d).
- Мы устранили несоответствие в значениях по умолчанию для параметров
SwipeToDismissBoxиcontentScrimColor(I2d70f). - Мы исправили значение по умолчанию
DefaultTextStyle, которое использовалось для настройкиIncludeFontPadding(I737ed).
Версия 1.2.0-beta01
24 мая 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-beta01. Версия 1.2.0-beta01 содержит следующие коммиты:
Что нового в Compose для Wear OS 1.2
Версия 1.2-beta01 библиотеки Compose для Wear OS означает, что в ней реализованы все функции и API заблокирован (за исключением экспериментальных функций). В Wear Compose 1.2 добавлены следующие новые функции:
expandableItemиexpandableItems– два новых компонентаFoundation, которые позволяют разворачивать элементы вScalingLazyColumn. ИспользуйтеexpandableItemдля одного разворачиваемого элемента, например текста, в котором указано количество строк. ИспользуйтеexpandableItemsдля группы раскрывающихся элементов иexpandableButton, чтобы упростить создание кнопки, которая сворачивается после раскрытия контента.HierarchicalFocusCoordinator– эта экспериментальная composable-функция позволяет отмечать поддеревья композиции как доступные или недоступные для фокуса.Picker– теперь API включаетuserScrollEnabled, чтобы управлять тем, активен ли выборщик при прокрутке пользователем.PickerGroup– новая composable-функция для одновременной работы с несколькими селекторами. Он обрабатывает фокус между элементами выбора с помощью APIHierarchicalFocusCoordinatorи позволяет автоматически центрировать элементы выбора.Placeholder– мы обновили анимации "Мерцание" и "Стереть". Эффект стирания теперь применяется сразу после того, как контент готов.ScalingLazyColumn– мы перенеслиScalingLazyColumnи связанные с ним классы изandroidx.wear.compose.material.ScalingLazyColumnвandroidx.wear.compose.foundation.lazy.ScalingLazyColumn. Перейдите на версиюFoundation.Lazy.SwipeToReveal– мы добавили экспериментальную поддержку раскрытия действий с помощью свайпа в дополнение к существующему способу с долгим нажатием.Stepper– теперь имеет перегрузку с дополнительным параметромenableRangeSemantics, чтобы упростить отключение семантики диапазона по умолчанию.Previews– мы добавили следующие специальные аннотации для предварительного просмотра composable-функций на экранах Wear:WearPreviewSmallRound– предварительный просмотр composable-функции на небольшом круглом устройстве;WearPreviewLargeRound– предварительный просмотр composable-функции на большом круглом устройстве;WearPreviewSquare– предварительный просмотр composable-функции на квадратном устройстве. Также доступны следующие аннотации для предварительного просмотра:WearPreviewFontScalesпозволяет посмотреть, как компонуемые функции выглядят на устройстве Wear OS с разными размерами шрифта, аWearPreviewDevices– на разных устройствах Wear OS.- Мы добавили
DefaultTextStyleв Wear Compose, в котором по умолчанию для свойстваPlatformTextStyle.includeFontPaddingзадано значение true (текущая настройка). Это позволит нам синхронизировать отключение отступов шрифтов по умолчанию с библиотеками Compose в ранней альфа-версии 1.3. Дополнительную информацию можно найти в 1.2.0-alpha10.
Новые функции
- Мы добавили экспериментальную поддержку отключения масштабирования и анимации затухания, когда включен параметр reduce_motion. (I58024)
Исправление ошибок
- Улучшена документация для
angularWidthDpвCurvedSize.kt(Iab75c) SwipeDismissableNavHostтеперь регистрирует предупреждение с возможными причинами пустого стека возврата. Это сделано для предотвращения неожиданных сбоев, вызванных исключениемIllegalArgumentException, которое возникает, когда пуст стек возврата. (I04a81, b/277700155)
Версия 1.2.0-alpha10
10 мая 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha10. Версия 1.2.0-alpha10 содержит следующие коммиты:
Новые функции
- Мы добавили поддержку функции "Пролистывание для показа", которая позволяет выполнять дополнительные действия. Этот способ дополняет существующий способ вызова дополнительных действий – долгое нажатие. (I60862)
Изменения в API
- Мы добавили
RevealScopeв композиции действий вSwipeToReveal, чтобы можно было получить доступ к смещению, при котором показываются дополнительные действия. (I3fd56)
Исправление ошибок
- Исправлена проблема, из-за которой
ScalingLazyColumnзависал на Wear API 33 после переключения (Ic4599). - Мы улучшили производительность
PositionIndicator, чтобы уменьшить количество рывков. (I35e92) - Мы исправили ошибку в Chip и
CompactChip, из-за которой семантическая роль больше не устанавливалась наRole.Button. (I93f91, b/277326264)
Известные проблемы
Мы обнаружили ошибку в Android Studio, из-за которой не удается выполнить предварительный просмотр, если в аннотации используются @WearPreviewDevices и @WearPreviewFontScales. В ближайшее время мы выпустим исправление. Обратите внимание, что другие аннотации для предпросмотра в Wear OS работают в Android Studio Giraffe 2022.3.1 и более поздних версиях.
В версии 1.2.0-alpha07 мы добавили DefaultTextStyle в Wear Compose, сохранив существующее значение PlatformTextStyle.includeFontPadding как true. Подробнее о проблеме с отступами шрифтов в Compose… В одной из ранних альфа-версий 1.3 мы изменим DefaultTextStyle, чтобы отключить отступы шрифтов на платформе Android. Это позволит устранить некоторые случаи обрезки текста при большом размере шрифта, а также может повлиять на макеты экранов, поэтому тесты скриншотов нужно будет обновить. Например, при использовании крупного шрифта текст обрезается:
- Если отключить отступы шрифта, он исчезнет:
Новый параметр можно использовать уже сейчас, переопределив типографику в теме. Пример кода
Версия 1.2.0-alpha09
19 апреля 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha09. Версия 1.2.0-alpha09 содержит следующие коммиты:
Изменения в API
- Добавлен параметр
angularSizeDpв APICurvedModifierдля настройки угловой ширины в единицах DP (I89a52).
Исправление ошибок
- Мы исправили проблемы со специальными возможностями в демонстрациях выбора времени(Id0eb7)
Версия 1.2.0-alpha08
5 апреля 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha08. Версия 1.2.0-alpha08 содержит следующие коммиты:
Изменения в API
- Мы переименовали
ExpandableItemsStateвExpandableState. (If85ea) - Мы добавили
expandableButton, чтобы упростить создание кнопки, которая сворачивается при раскрытии контента, а также обновили примеры раскрывающихся элементов. (Iae309)
Исправление ошибок
- Улучшены разворачиваемые примеры, чтобы показать больше возможностей. Изменена анимация
expandableItem, чтобы контент оставался в центре во время анимации. (I2f637) - Обновлено
ToggleControls, чтобы избежать лишних перекомпоновок при ручной анимации цветов с помощью State. (I5d319)
Версия 1.2.0-alpha07
22 марта 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha07. Версия 1.2.0-alpha07 содержит следующие коммиты:
Изменения в API
- Мы перенесли компоненты Expandable Item (добавленные в версии 1.2.0-alpha06) из библиотеки Material в библиотеку Foundation, поскольку они не имели значимой связи с
MaterialTheme. (Ib0525)
Исправление ошибок
- Мы исправили сбой, который происходил на экране с использованием
PickerGroup, обеспечив правильную обработку фокуса элементомPickerGroup, когда ни один из элементов Picker не имеет фокуса. Также добавлена поддержка прокрутки RSB в демонстрационных версиях выбора. (If8c19) - Мы улучшили переходы между диалогами. Теперь переход в начале видео такой же плавный, как и в конце. (Ib5af9)
- Мы добавили
DefaultTextStyleв Wear Compose, в котором по умолчанию для свойстваPlatformTextStyle.includeFontPaddingзадано значение true (текущая настройка). Это позволит нам в будущем синхронизировать отключение отступов шрифтов по умолчанию с библиотеками Compose (подробнее о проблеме отступов шрифтов в Compose). (I2aee8) - Отменена зависимость предварительной версии
UpsideDownCakeчерез activity-compose, которая блокировала публикацию приложений в Google Play. (I6443d)
Версия 1.2.0-alpha06
8 марта 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha06. Версия 1.2.0-alpha06 содержит следующие коммиты:
Изменения в API
- Добавлен компонент
CurvedBox, который позволяет размещать компоненты друг над другом в изогнутом мире. (I29200) - Добавлены два новых компонента для поддержки группы раскрывающихся элементов в
ScalingLazyColumnили одного раскрывающегося элемента, например текста, в котором увеличивается количество строк. (I95dd5) - Мы добавили следующие специальные аннотации для предварительного просмотра composable-функций на экранах Wear:
WearPreviewSmallRound– для небольшого круглого устройства;WearPreviewLargeRound– для большого круглого устройства;WearPreviewSquare– для квадратного устройства. Также доступны следующие аннотации для предварительного просмотра:WearPreviewFontScalesпозволяет посмотреть, как компонуемые функции выглядят на устройстве Wear OS с разными размерами шрифта, аWearPreviewDevices– на разных устройствах Wear OS. Чтобы использовать эти предварительные версии, вам понадобится последняя версия Android Studio (Giraffe Canary 6 или более поздняя). Если эти аннотации вам не подходят, вы можете использовать функцию "Предварительный просмотр" и настраивать ее с помощью параметров. (I397ff) - Мы пометили
HierarchicalFocusCoordinatorкак экспериментальную библиотеку, поскольку она может быть добавлена в основные библиотеки Compose из-за широкой области применения. (I3a768)
Исправление ошибок
- Исправлена ошибка на странице
HierarchicalFocusCoordinator: если лямбда-функция, переданная в параметреfocusEnabled, изменяется, теперь используется новая функция. (Icb353) - Мы изменили цвет отключенного контента по умолчанию на "Фон", когда в качестве фона в
Button,CompactButton,Chip,CompactChipиToggleButtonиспользуются основные цвета. Это улучшает контрастность для специальных возможностей. (I527cc)
Версия 1.2.0-alpha05
22 февраля 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha05. Версия 1.2.0-alpha05 содержит следующие коммиты:
Изменения в API
- Обновлен API
PickerGroup, чтобы можно было передавать минимальные ограничения в компонуемый элемент. Если задано значение true, вPickerGroupбудут разрешены минимальные ограничения, переданные от родительского компонента. Если задано значение false,PickerGroupсбросит минимальные ограничения. (I3e046) - Мы добавили
animateScrollToOptionв Picker API, чтобы поддерживать программную анимацию для определенного варианта выбора (I6fe67).
Исправление ошибок
- Мы обновили
HorizontalPageIndicator, чтобы поддерживать макеты с ориентацией справа налево. (Ia4359) - Добавлены тесты скриншотов для макета с ориентацией справа налево в
HorizontalPageIndicator(I6fbb8) - В
SwipeDismissableNavHostTestдобавлены дополнительные тесты, в которых используетсяTestNavHostController(I61d54).
Версия 1.2.0-alpha04
8 февраля 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha04. Версия 1.2.0-alpha04 содержит следующие коммиты:
Новые функции
PickerGroupдля одновременной работы с несколькими элементами выбора с помощью API фокуса. Он позволяет переключаться между разными селекторами, автоматически центрировать их на основе параметров и менять фокус между селекторами при обработке событий из группы. В режиме TalkBack кнопкаPickerGroupуправляет фокусом TalkBack, перемещая его на выбранный элемент Picker из группы. (I60840)
Изменения в API
- Мы добавили перегрузку в Stepper с дополнительным параметром
enableRangeSemantics, чтобы упростить отключение семантики диапазона по умолчанию (Ia61d4).
Исправление ошибок
- Разрешить вложенность элемента
ScalingLazyColumnна странице с горизонтальной прокруткой (Iec3f8, b/266555016) - Улучшение документации Stepper и удаление тестов
StepperTest. (Ic118e) - Обновлена зависимость
androidx.navigationдо версии 2.5.3 (If58ed)
Версия 1.2.0-alpha03
25 января 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha03. Версия 1.2.0-alpha03 содержит следующие коммиты:
Изменения в API
- Мы перенесли
ScalingLazyColumn(и связанные с ним классы) изandroidx.wear.compose.material.ScalingLazyColumnвandrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn(см. пример переноса). Новое расположение больше соответствует расположениюcompose.foundation.lazy.LazyColumnи выглядит более естественно, поскольку не является компонентом Material. Мы вносим эти изменения, чтобы подготовиться к выпуску новой библиотеки Material3, над которой будем работать параллельно с существующей библиотекой Material. (I060e7)
В рамках перехода с Material на Foundation.Lazy в ScalingLazyColumn внесены следующие изменения:
- API
PositionIndicator, предназначенные для работы с материаломScalingLazyColumn, устарели. Перейдите на версиюFoundation.Lazy ScalingLazyColumn. Кроме того, вScalingLazyListLayoutInfoдобавлено полеanchorType. (I29d95) ScalingLazyColumnпомечен как устаревший в пакете Wear Compose Material (I16d34)- Мы обновили модификатор
ScrollAway, чтобы использоватьScalingLazyListStateиз Wear ComposeFoundation.Lazy, и удалили перегрузку, которая принималаScalingLazyListStateиз Wear Compose Material. (Ifc42c) - Мы обновили Dialog API, чтобы использовать
ScalingLazyListStateизFoundation.Lazy, и прекратили поддержку перегрузок, в которых использовался MaterialScalingLazyListState(Ic8960). - Мы обновили Picker API, чтобы использовать
ScalingParamsизFoundation.Lazy, и прекратили поддержку перегрузок, в которых использовался MaterialScalingParams. (Idc3d8)
Исправление ошибок
- Мы исправили ошибку, из-за которой в
ScalingLazyListState.centerItemIndexвыполнялись ненужные перекомпоновки. Теперь обновления отправляются только при изменении значения (Ia9f38). - Мы улучшили производительность
SwipeToDismissBox(I3933b). - Добавлены тесты производительности для
ScalingLazyColumnв Wear Compose Foundation (Ie00f9). - Мы обновили некоторые внутренние методы классов
ScalingLazyColumnв Material, чтобы использовать их эквиваленты изFoundation.Lazy(I38aab). - Мы исправили некоторые проблемы в тестах Picker и добавили тесты для проверки прокрутки со смещением (I6ac34).
- Мы перенесли демонстрации интеграции
ScalingLazyColumnнаFoundation.Lazyвместо MaterialScalingLazyColumn(Ic6caa). - Мы добавили необязательные параметры
fromDate/toDateв демоверсиюDatePicker(I961cd).
Версия 1.2.0-alpha02
11 января 2023 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha02. Версия 1.2.0-alpha02 содержит следующие коммиты:
Изменения в API
- Теперь при выполнении фреймов для перехода в состояние бездействия (например, с помощью
waitForIdle) тесты интерфейса Compose для Android будут выполнять проходы макета для каждого фрейма. Это может повлиять на тесты, которые проверяют отдельные фреймы анимации макета. (I8ea08, b/222093277) - Параметр
minLinesдобавлен в Wear Text для обеспечения согласованного поведения сBasicText(I24874) CompactChipTapTargetPaddingбыл сделан общедоступным, чтобы он появлялся в документации (If1e70, b/234119038).
Исправление ошибок
- Отключить многоплатформенные сборки для пакетов
wear.compose(Iad3d7) - Исправить документы KDocs для
scrollToOption(I6f9a0) - Атрибут "
PlaceholderState.rememberPlaceholderState()" теперь используетrememberUpdatedState, чтобы статус обновлялся, если используется лямбда-функцияonContentReady. (I02635, b/260343754) - Мы устранили проблему с дрожанием текста, которая наблюдалась в компоненте
Picker, используя новую стратегию композиции, добавленную вModifier.graphicsLayer. (I99302) - Мы исправили ошибку, из-за которой в демонстрационном видео
DatePicker(I660bd) наблюдалось мерцание. - Мы улучшили специальные возможности для демонстраций выбора даты и времени в 12-часовом формате (I05e12).
- Мы обновили демонстрационные версии окон выбора даты и времени, чтобы они не затрагивались изменениями RSB, когда не выбраны (I4aecb).
Версия 1.2.0-alpha01
7 декабря 2022 г.
Выход androidx.wear.compose:compose-*:1.2.0-alpha01. Версия 1.2.0-alpha01 содержит следующие коммиты:
Новые функции
- Мы обновили экспериментальную функцию "Плейсхолдер" так, чтобы эффект "Стирание" применялся сразу после того, как контент будет готов, а не в начале следующего цикла анимации. Мы также обновили анимацию блеска и стирания. (I5a7f4)
Изменения в API
- Мы добавили
HierarchicalFocusCoordinatorcomposable-функцию, которая позволяет отмечать поддеревья композиции как поддерживающие или не поддерживающие фокус.(I827cb) - Мы добавили новое свойство, позволяющее переопределить семантическую роль для
ToggleButton.(I67132) - Мы обновили
TimeTextDefaults.TimeFormat12Hours, чтобы удалить AM/PM вTimeText. Это изменит значение по умолчанию для параметровtimeSourceв APITimeText. (I1eb7f) - Мы расширили Picker API, чтобы улучшить доступность экранов с несколькими окнами выбора. Добавлено новое свойство
userScrollEnabled, позволяющее управлять тем, активен ли выборщик при прокрутке пользователем. (I3c3aa)
Исправление ошибок
- Мы изменили ширину границы по умолчанию для
OutlinedButton/OutlinedCompactButtonс 2 dp на 1 dp, чтобы она соответствовала спецификациям UX. (Icf84d) - Чтобы уменьшить эффект первого элемента, добавленного в пустой контейнер
ScalingLazyColumn, который появляется при прокрутке, мы добавили оценкуautoCentering topPadding, когда контейнер пуст. Теперь размер верхнего отступа рассчитывается на основе предположения, что высота первого элемента равна 0 dp. ДляScalingLazyListAnchorType.ItemStartбудет рассчитано правильное верхнее поле, а дляScalingLazyListAnchorType.ItemCenterрасчет будет неверным, так как для правильного определения размера содержимого требуется высота элементов, что приведет к небольшому эффекту прокрутки на основе реальной высоты элементов.(I239a4) - Мы обновили фон, который применяется к анимации
SwipeToDismiss, чтобы он соответствовал платформе Wear. (I9003e) - Мы исправили обработку
PositionIndicatorзначенийLazyListStateиScalingLazyListStateдля элементов списка нулевого размера, чтобы избежать ошибок деления на ноль.(Ic28dd)
Версия 1.1
Версия 1.1.2
8 февраля 2023 г.
androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 и androidx.wear.compose:compose-navigation:1.1.2. Версия 1.1.2 содержит следующие коммиты:
Исправление ошибок
- Мы исправили ошибку, из-за которой в
ScalingLazyListState.centerItemIndexвыполнялись ненужные перекомпоновки. Теперь обновления отправляются только при изменении значения (Ia9f38).
Версия 1.1.1
11 января 2023 г.
androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 и androidx.wear.compose:compose-navigation:1.1.1. Версия 1.1.1 содержит следующие коммиты:
Исправление ошибок
- Атрибут "
PlaceholderState.rememberPlaceholderState()" теперь используетrememberUpdatedState, чтобы статус обновлялся, если используется лямбда-функцияonContentReady. (I02635, b/260343754)
Версия 1.1.0
7 декабря 2022 г.
androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 и androidx.wear.compose:compose-navigation:1.1.0. Версия 1.1.0 содержит следующие коммиты:
Важные изменения с версии 1.0.0
- Стабильная версия Compose для Wear OS 1.1.0 (подробнее).
- Список основных изменений в Wear Compose 1.1 можно найти в примечаниях к выпуску Compose for Wear OS 1.1 Beta01.
Новые функции
- Мы обновили экспериментальную функцию "Плейсхолдер" так, чтобы эффект "Стирание" применялся сразу после того, как контент будет готов, а не в начале следующего цикла анимации. Мы также обновили анимацию блеска и стирания. (I5a7f4)
Исправление ошибок
- Мы изменили ширину границы по умолчанию для
OutlinedButton/OutlinedCompactButtonс 2 dp на 1 dp, чтобы она соответствовала спецификациям UX. (Icf84d) - Чтобы уменьшить эффект первого элемента, добавленного в пустой контейнер
ScalingLazyColumn, который появляется при прокрутке, мы добавили оценкуautoCentering topPadding, когда контейнер пуст. Теперь размер верхнего отступа рассчитывается на основе предположения, что высота первого элемента равна 0 dp. ДляScalingLazyListAnchorType.ItemStartбудет рассчитано правильное верхнее поле, а дляScalingLazyListAnchorType.ItemCenterрасчет будет неверным, так как для правильного определения размера содержимого требуется высота элементов, что приведет к небольшому эффекту прокрутки на основе реальной высоты элементов.(I239a4) - Мы обновили фон, применяемый к анимации
SwipeToDismiss, чтобы он соответствовал платформе Wear.(I9003e) - Мы исправили обработку
PositionIndicatorзначенийLazyListStateиScalingLazyListStateдля элементов списка нулевого размера, чтобы избежать ошибок деления на ноль.(Ic28dd)
Версия 1.1.0-rc01
9 ноября 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 и androidx.wear.compose:compose-navigation:1.1.0-rc01. Версия 1.1.0-rc01 содержит следующие коммиты:
Исправление ошибок
- Мы добавили правила для базовых профилей
Placeholders,ScrollAway,RadioButton,Switch,Checkbox,OutlinedButton,OutlinedCompactButton,OutlinedChipиOutlinedCompactChip. (I8249c) - Мы исправили ошибку в
Modifier.scrollAway, из-за которой, если указанный элементitemIndexбыл недопустимым (например, если индекс элемента выходил за пределы диапазона), тоTimeTextне показывался. (I2137a) - Мы обновили
SwipeToDismissBox, чтобы она соответствовала реализации на платформе. После анимации сжатия экран теперь сдвигается вправо, когда срабатывает закрытие. (I41d34) - Мы оптимизировали код и теперь
Modifier.scrollAwayсчитывает толькоscrollStateвнутри блока measure, чтобы не перекомпоновывать модификатор после каждого повторного измерения. (I4c6f1) - Мы добавили в документацию и примеры плейсхолдеров информацию о том, как правильно указывать свойства
Modifier.placeholderиModifier.placeholderShimmer, если они применяются к одному и тому же composable-функции. (Ie96f4, b/256583229) - Мы изменили ширину границы по умолчанию для
OutlinedCompactChip/OutlinedChipс 2 dp на 1 dp, чтобы она соответствовала спецификациям UX. (Ib3d8e) - Мы исправили ошибку в
rememberPickerState, из-за которой не сохранялись обновленные входные данные, поэтому после их изменения не обновлялись композиции. (I49ff6, b/255323197) - Мы обновили интерфейс плейсхолдеров: 1) изменили градиент свечения на 1,5 размера экрана; 2) добавили смягчение (кубическую кривую Безье) для прогресса свечения; 3) ускорили анимацию стирания (250 мс). (Id29c1)
- Мы исправили ошибку в интерфейсе, из-за которой фон чипа и карточки в эффекте wipeOff удалялся немного раньше, чем нужно, поскольку не учитывалось положение компонента на экране. (I2c7cb)
- Мы обновили отрисовку фона плейсхолдера, чтобы цвета смешивались, а не накладывались друг на друга. Это позволит снизить риск альфа-смешивания разных обрезанных слоев, из-за которого цвета фона плейсхолдера могут просвечивать. (I2ea26)
- Мы исправили расчет
ScalingLazyListState.centerItemIndex/centerItemOffset, чтобы, если два объекта находятся по обе стороны от центральной линии области просмотра, ближайший из них считалсяcenterItem. (I30709, b/254257769) - Мы исправили ошибку в
ScalingLazyListState.layoutInfo.visibleItemsInfo, из-за которой при инициализацииScalingLazyColumnпередавались неверные смещения. Теперь пустой список будет возвращаться до тех пор, пока все элементы списка не станут видимыми и не будут иметь правильные смещения. ПроверкаScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()подтвердит, что инициализацияScalingLazyColumnзавершена и объекты видны. (I3a3b8)
Версия 1.1.0-beta01
24 октября 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 и androidx.wear.compose:compose-navigation:1.1.0-beta01. Версия 1.1.0-beta01 содержит следующие коммиты:
Что нового в Compose для Wear OS 1.1
В версии 1.1.0-beta01 библиотеки Compose для Wear OS указано, что в ней реализованы все функции и API заблокирован.
- В Wear Compose 1.1 добавлены следующие новые функции:
- Улучшения специальных возможностей в инструменте выбора, чтобы экраны с несколькими вариантами выбора были доступны для навигации с помощью программ чтения с экрана, а описание контента было доступно.
- Параметр Picker
contentDescriptionтеперь используется только для выбранного варианта Picker и принимает строку, допускающую значение NULL (в предыдущем коммите нужно было передать сопоставление варианта с описанием контента, но использовался только выбранный вариант). - Элементы выбора теперь всегда выравниваются по центру. Исправлена ошибка, из-за которой установка значения 0 для параметра
gradientRatioприводила к изменению выравнивания. Chip/ToggleChip– мы обновили градиенты по умолчанию дляChip/ToggleChip, чтобы привести их в соответствие с последними спецификациями UX. ТеперьChipDefaults.gradientBackgroundChipColorsначинается с 50% основного цвета, а не с 32,5%.Chip/ToggleChip- Added overloads for modifying Chip shapesChip/Button/ToggleButton– добавлен новый стиль с контуром для чипов и кнопок, а также новые композицииOutlinedChipиOutlinedButton, которые обеспечивают прозрачныйChip/Buttonс тонкой границей.- Карточка. Обновлены градиенты по умолчанию для карточек в соответствии с последними спецификациями UX.
CardDefaults.cardBackgroundPainterтеперь начинается с 30% основного цвета и заканчивается 20% цветаonSurfaceVariant(ранее было 20% и 10%onSurfaceVariant).ToggleChip.toggleChipColorsтеперь представляет собой не линейный градиент от 75% цвета поверхности до 32,5% основного цвета, а градиент от 0% цвета поверхности до 50% основного цвета. Button/ToggleButton– добавлены свойства для изменения формы кнопок.- Тема. Обновлены некоторые цвета по умолчанию в
MaterialTheme, чтобы улучшить доступность. Исходные цвета были недостаточно контрастными, поэтому пользователям было сложно отличить фон чипа, карточки или кнопки от фона темы. InlineSlider/Stepper– добавлены роли кнопок, чтобыTalkbackмог распознавать их как кнопки.- Каркас
PositionIndicatorтеперь расположен и имеет размер, необходимые для его работы. Например, если к нему добавить семантическую информацию, TalkBack будет правильно определять границы элементаPositionIndicatorна экране. CurvedText/TimeText– добавлен методModifier.scrollAway, который прокручивает элемент по вертикали, чтобы он появился или исчез из видимой области экрана, в зависимости от состояния прокрутки (с перегрузками для работы сColumn,LazyColumnиScalingLazyColumn). МетодScrollAwayобычно используется для прокрутки элементаTimeTextза пределы видимой области экрана, когда пользователь начинает прокручивать список элементов вверх.CurvedText/TimeText– добавлена поддержка свойствfontFamily,fontStyleиfontSynthesisв структурированных данныхCurvedTextStyle, которые можно использовать на страницахcurvedTextиbasicCurvedText.CurvedText/TimeText– добавленfontWeightв конструктор и метод копирования вCurvedTextStyle.ToggleControls– добавлены анимированные переключателиCheckbox,SwitchиRadioButtonдля использования сToggleChipиSplitToggleChip. Их можно использовать вместо статических значков, предоставленныхToggleChipDefaults(switchIcon,checkboxIconиradioIcon).- Плейсхолдер – добавлена поддержка экспериментальных плейсхолдеров. Это три разных визуальных эффекта, которые работают вместе.
- Во-первых, это эффект кисти, используемый в контейнерах, таких как чипы и карточки, для рисования поверх обычного фона, когда контент ещё не загружен.
- Во-вторых, модификатор (
Modifier.placeholder()), чтобы нарисовать виджет-заглушку в форме стадиона поверх загружаемого контента. - Третий эффект – градиент или мерцание (
Modifier.placeholderShimmer()), который накладывается поверх остальных эффектов, чтобы показать пользователям, что мы ждем загрузки данных.- Все эти эффекты должны быть скоординированы и исчезать в определенном порядке.
- Основные зависимости Compose обновлены с версии 1.2 до 1.3
Изменения в API
- Параметры шрифта (
fontFamily,fontWeight,fontStyleиfontSynthesis) теперь можно указывать непосредственно как параметрыcurvedText(Idc422).
Исправление ошибок
curveTextиbasicCurvedTextтеперь будут правильно работать с TalkBack (у них есть правильно размещенный, но пустой узел compose-ui, связанный с ними, в котором текст используется как описание контента) (I7af7c, b/210721259).- Исправлена ошибка в
Picker, когдаPickerState.repeatedItems = false, чтобы добавить явную настройку параметров autoCentering во внутреннийScalingLazyColumnвыбора, чтобы можно было прокрутить нулевой вариант до центра представления. (I8a4d7)
Версия 1.1.0-alpha07
5 октября 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 и androidx.wear.compose:compose-navigation:1.1.0-alpha07. Версия 1.1.0-alpha07 содержит следующие коммиты:
Новые функции
- Мы добавили экспериментальную поддержку плейсхолдеров. Это три разных визуальных эффекта, которые работают вместе. Во-первых, это эффект кисти, используемый в контейнерах, таких как чипы и карточки, для рисования поверх обычного фона, когда контент ещё не загружен. Во-вторых, модификатор (
Modifier.placeholder()), чтобы нарисовать виджет-заглушку в форме стадиона поверх загружаемого контента. Третий эффект – градиент или мерцание (Modifier.placeholderShimmer()), который накладывается поверх остальных эффектов, чтобы показать пользователям, что мы ждем загрузки данных. Все эти эффекты должны быть скоординированы и исчезать в определенном порядке. (I3c339)
Изменения в API
- Добавлена поддержка
fontWeight,fontFamily,fontStyleиfontSynthesisвCurvedTextStyle, доступная на устройствахcurvedTextиbasicCurvedText. Эти параметры можно использовать, чтобы указать шрифт и стиль для изогнутого текста.Iaa1a8, I72759 - Параметр смещения
Modifier.scrollAwayтеперь измеряется в единицах dp, чтобы соответствовать параметруModifier.offset(ранее он измерялся в пикселях). Также код был переработан какLayoutModifierдля повышения эффективности. (I9f94b) - В рамках нового API для переключателей мы переименовали
RadioButton’s circleColorвringColor. (I28fa9) - Мы добавили анимированные переключатели
Checkbox,SwitchиRadioButtonдля использования сToggleChipиSplitToggleChip. Их можно использовать вместо статических значков, предоставляемыхToggleChipDefaults(switchIcon,checkboxIconиradioIcon). (I8a8c4)
Версия 1.1.0-alpha06
21 сентября 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 и androidx.wear.compose:compose-navigation:1.1.0-alpha06. Версия 1.1.0-alpha06 содержит следующие коммиты:
Новые функции
- Мы добавили
Modifier.scrollAway, который прокручивает элемент по вертикали в видимую область или из нее в зависимости от состояния прокрутки (с перегрузками для работы сColumn,LazyColumnиScalingLazyColumn).ScrollAwayобычно используется для прокруткиTimeTextиз видимой области, когда пользователь начинает прокручивать список элементов вверх. (I61766)
Исправление ошибок
- Теперь
PositionIndicatorзанимает только необходимое пространство. Это полезно, например, если к нему добавляется семантическая информация, TalkBack получает правильные границы элементаPositionIndicatorна экране. (Ie6106, b/244409133)
Версия 1.1.0-alpha05
7 сентября 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 и androidx.wear.compose:compose-navigation:1.1.0-alpha05. Версия 1.1.0-alpha05 содержит следующие коммиты:
Исправление ошибок
- В
InlineSliderиStepperдобавлены роли кнопок, чтобы TalkBack мог распознавать их как кнопки. (Icb46c, b/244260275) - Мы исправили порядок расположения индикаторов позиции и страницы в Scaffold. Теперь индикаторы будут располагаться поверх виньетки, поэтому она не будет их закрывать. (Ib988f, b/244207528)
Версия 1.1.0-alpha04
24 августа 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 и androidx.wear.compose:compose-navigation:1.1.0-alpha04. Версия 1.1.0-alpha04 содержит следующие коммиты:
Изменения в API
- Мы изменили некоторые цвета по умолчанию в MaterialTheme, чтобы улучшить доступность. Исходные цвета были недостаточно контрастными, поэтому пользователям было сложно отличить фон чипа, карточки или кнопки от фона темы. Изменились цвета surface(0xFF202124 -> 0xFF303133), onPrimary(0xFF202124 -> 0xFF303133), onSecondary(0xFF202124 -> 0xFF303133), primaryVariant(0xFF669DF6 -> 0xFF8AB4F8) и onError(0xFF202124 -> 0xFF000000). Изменения цветов, хотя и незначительные, могут повлиять на существующие тесты скриншотов. (81ab09)
Исправление ошибок
- Исправлена логическая ошибка в
ScalingLazyColumn, из-за которой списки с небольшим количеством элементов (обычно двумя) не инициализировались и становились прозрачными. (504347)
Версия 1.1.0-alpha03
10 августа 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 и androidx.wear.compose:compose-navigation:1.1.0-alpha03. Версия 1.1.0-alpha03 содержит следующие коммиты.
Новые функции
- Мы добавили новый стиль с контуром для
ChipsиButtons, а также новые композицииOutlinedChipиOutlinedButton, которые обеспечивают прозрачностьChip/Buttonс тонкой рамкой. (Id5972)
Изменения в API
- Добавлены перегрузки для изменения формы кнопки (Icccde)
Исправление ошибок
- Мы исправили размер области переключателя
ToggleChip, так как он не соответствовал спецификации UX. Согласно спецификации UX, между ярлыком и областью значка переключателя размером 24 x 24 dp должен быть отступ в 4 dp, поэтому общая ширина должна составлять 28 dp. Однако в реализации неправильно задана область переключения 36x24.dp. В результате полезная область для текстовой метки уменьшается на 8 dp. ПРИМЕЧАНИЕ. Исправление этой ошибки увеличивает место для текстовой метки и, как следствие, может положительно повлиять на макет текста, который не помещается в отведенное пространство. Если у вас есть тесты со скриншотами, в которых используетсяToggleChips, их может потребоваться обновить. (I514c8, b/240548670)
Версия 1.1.0-alpha02
27 июля 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 и androidx.wear.compose:compose-navigation:1.1.0-alpha02. Версия 1.1.0-alpha02 содержит следующие коммиты:
Новые функции
- Мы переключили зависимости Compose для Wear OS от основных библиотек Compose с версии 1.2.0 на 1.3.0-alpha0X.
Изменения в API
- Добавлены перегрузки для изменения формы чипов (I02e87)
Исправление ошибок
- Мы добавили анимацию для виньетки при показе и скрытии диалогового окна, чтобы она соответствовала существующей анимации масштабирования. (Ida33e)
- Мы исправили ошибку, из-за которой при прокрутке с помощью жеста "смахивание" в некоторых случаях могло произойти деление на ноль. (I86cb6)
- Исправлена ошибка в
ChipDefaults.childChipColor(): теперь отключенный цвет фона полностью прозрачен. (I2b3c3, b/238057342)
Версия 1.1.0-alpha01
29 июня 2022 г.
androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 и androidx.wear.compose:compose-navigation:1.1.0-alpha01. Версия 1.1.0-alpha01 содержит следующие коммиты:
Изменения в API
- Параметр
contentDescriptionтеперь используется только для выбранного варианта и принимает строку, допускающую значение NULL (ранее нужно было передавать сопоставление варианта с описанием контента, но использовался только выбранный вариант). (Ife6a7) - Мы улучшили специальные возможности в окне выбора, чтобы экраны с несколькими вариантами выбора были доступны для программ чтения с экрана, а описание контента было доступно (I64edb).
Исправление ошибок
- Мы обновили правила базового профиля, входящие в состав библиотеки Wear Compose (I9c694).
- Мы исправили направление градиента для чипов в режиме письма справа налево. Было: слева сверху > справа снизу. Стало: справа сверху > слева снизу. (Ic2e77)
- Мы обновили градиенты по умолчанию для
Chip/ToggleChip/Card, чтобы привести их в соответствие с последними спецификациями UX.ChipDefaults.gradientBackgroundChipColorsтеперь начинается с 50% основного цвета, а не с 32,5%.CardDefaults.cardBackgroundPainterтеперь начинается с 30% основного цвета и заканчивается 20% цветаonSurfaceVariant(ранее было 20% и 10%onSurfaceVariant).ToggleChip.toggleChipColorsтеперь представляет собой не линейный градиент от 75% поверхностного цвета до 32,5% основного цвета, а градиент от 0% поверхностного цвета до 50% основного цвета. (I43bbd) - Мы добавили цвет фона (
MaterialTheme.color.surface) за значкамиChip/ToggleChipsс градиентным фоном, чтобы они были хорошо видны, если за ними будет светлый фон. (Ibe1a4, b/235937657) - Элементы выбора теперь всегда выравниваются по центру. Исправлена ошибка, из-за которой установка значения 0 для параметра
gradientRatioприводила к изменению выравнивания. (I712b8)
Версия 1.0
Версия 1.0.2
7 сентября 2022 г.
androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 и androidx.wear.compose:compose-navigation:1.0.2. Версия 1.0.2 содержит следующие коммиты:
Исправление ошибок
- Мы исправили порядок расположения индикаторов позиции и страницы в Scaffold. Теперь индикаторы будут располагаться поверх виньетки, поэтому она не будет их закрывать. (Ib988f, b/244207528)
Версия 1.0.1
24 августа 2022 г.
androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 и androidx.wear.compose:compose-navigation:1.0.1. Версия 1.0.1 содержит следующие коммиты:
Исправление ошибок
- Исправлена логическая ошибка в
ScalingLazyColumn, из-за которой списки с небольшим количеством элементов (обычно двумя) не инициализировались и становились прозрачными. (076c61)
Версия 1.0.0
27 июля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 и androidx.wear.compose:compose-navigation:1.0.0. Версия 1.0.0 содержит следующие коммиты:
Основные функции версии 1.0.0
- Это первый стабильный выпуск Compose для Wear OS (подробнее…).
- Compose for Wear OS основан на основных библиотеках Compose и предоставляет дополнительные компоненты для носимых устройств, а также альтернативные реализации основных компонентов Compose, адаптированные для таких устройств.
- Список ключевых компонентов Wear Compose можно найти в примечаниях к выпуску Compose for Wear OS Beta01.
Исправление ошибок
- Мы добавили анимацию для виньетки при показе и скрытии диалогового окна, чтобы она соответствовала существующей анимации масштабирования. (Ida33e)
- Мы исправили ошибку, из-за которой при прокрутке с помощью жеста "смахивание" в некоторых случаях могло произойти деление на ноль. (I86cb6)
- Исправлена ошибка в
ChipDefaults.childChipColor(): теперь отключенный цвет фона полностью прозрачен. (I2b3c3, b/238057342)
Версия 1.0.0-rc02
22 июня 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 и androidx.wear.compose:compose-navigation:1.0.0-rc02. Версия 1.0.0-rc02 содержит следующие коммиты:
Исправление ошибок
- Мы исправили направление градиента для карточек в режиме RTL. Раньше он был направлен из верхнего левого угла в нижний правый, а теперь – из верхнего правого в нижний левый. (Ic2e77)
- Мы обновили градиенты по умолчанию для
Chip/ToggleChip/Card, чтобы привести их в соответствие с последними спецификациями UX. ТеперьChipDefaults.gradientBackgroundChipColorsначинается с 50% основного цвета, а не с 32,5%.CardDefaults.cardBackgroundPainterтеперь начинается с 30% основного цвета и заканчивается 20% цветаonSurfaceVariant(ранее использовались значения 20% и 10% для цвета onSurfaceVariant).ToggleChip.toggleChipColorsменяется с линейного градиента от 75% поверхности до 32,5% основного цвета до 0% поверхности до 50% основного цвета. (I43bbd) - Мы добавили фоновый цвет (
MaterialTheme.color.surface) за значкамиChip/ToggleChipsс градиентным фоном, чтобы они были хорошо видны, если за ними будет светлый цвет. (Ibe1a4, b/235937657) - Мы обновили правила базового профиля, входящие в состав библиотеки Wear Compose (I9c694).
Версия 1.0.0-rc01
15 июня 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 и androidx.wear.compose:compose-navigation:1.0.0-rc01. Версия 1.0.0-rc01 содержит следующие коммиты:
Изменения в API
- Интерфейсы в библиотеках Compose теперь создаются с помощью методов интерфейса по умолчанию из JDK8 (I5bcf1).
Исправление ошибок
- Мы удалили явный вызов
fillMaxWidth()в заголовке списка, поскольку он не нужен и может привести к проблемам, если вScalinglazyColumnесть компонентыListHeader()иChip(), так как ширина будет увеличиваться или уменьшаться при прокрутке элементовListHeader. (I37144, b/235074035) - Мы исправили ошибку в
ScalingLazyColumn, из-за которой элементы списка могли отображаться некорректно до прокрутки, если нулевой элемент списка был достаточно большим (включая отступы) (Ic6159, b/234328517). - Мы немного изменили
ScalingLazyColumnсмягчение, когда объекты достигают края экрана, чтобы соответствовать обновленным спецификациям UX. Старые значенияCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)-> новые значенияCubicBezierEasing(0.3f, 0f, 0.7f, 1f). Чтобы сохранить прежнее поведение, можно переопределитьscalingParamsдляScalingLazyColumn(Ie375c). - Мы добавили отступы к значку
CompactChip, чтобы его область нажатия соответствовала требованиям Material Design и была не менее 48 dp в высоту. Это может повлиять на макеты, в которых используетсяCompactChips, поскольку они будут занимать больше места. (I3d57c)
Версия 1.0.0-beta03
1 июня 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 и androidx.wear.compose:compose-navigation:1.0.0-beta03. Версия 1.0.0-beta03 содержит следующие коммиты:
Новые функции
- Мы добавили поддержку
ScalingLazyColumnв режиме Compose@Preview. (I3b3b6, b/232947354)
Изменения в API
- Мы изменили значение по умолчанию для свойства
ScalingLazyColumn.horizontalAlignmentс "Начало" наCenterHorizontally, чтобы элементы списка, которые не занимают всю ширину столбца, выравнивались для максимальной видимости. Чтобы вернуться к предыдущему поведению, задайте значениеhorizontalAlignment = Alignment.Start.(I9ed4b)
Известные проблемы
- Высота области нажатия/касания CompactChip меньше, чем указано в руководстве по обеспечению доступности Material. Эта ошибка будет исправлена в следующем выпуске (15 июня). Если вы используете CompactChip, это повлияет на макеты, поскольку у CompactChip теперь будут дополнительные отступы сверху и снизу. Измените и протестируйте макеты или ознакомьтесь с комментариями к ошибке, чтобы узнать, как использовать существующее поведение. (b/234332135)
Исправление ошибок
- Новая демонстрация добавления или удаления текста в начале
TimeText. (I16d75) - Добавьте тесты для
HorizontalPageIndicator.PagesState(I64ed0) - Обновление
TimeTextв соответствии со спецификациями UX (Ib7ea1)
Версия 1.0.0-beta02
18 мая 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 и androidx.wear.compose:compose-navigation:1.0.0-beta02. Версия 1.0.0-beta02 содержит следующие коммиты:
Новые функции
- Теперь выборщик всегда реагирует на события прокрутки, даже если он находится в режиме только чтения. Это позволит пользователям прокручивать экран, не выбирая сначала элемент Picker. В режиме только чтение варианты, отличные от выбранного, скрыты с помощью элемента shim в
gradientColor. (I72925) - Мы изменили поведение
Chip/ToggleChip/CompactChip/SplitToggleChip, чтобы по умолчанию они не выполнялиfillMaxWidth. Они будут увеличиваться по мере добавления контента. Чтобы сохранить прежнее поведение, просто добавьтеmodifier = Modifier.fillMaxWidth()(I60a2c, b/232206371).
Исправление ошибок
- Конструктор
CurvedTextStyle, принимающийTextStyle, теперь также учитываетfontWeight(в будущих версиях API это может быть добавлено в конструктор и методы копирования) (Ieebb9) - Улучшено проведение пальцем от края экрана. Если используется
Modifier.edgeSwipeToDismissи при проведении пальцем влево от края экрана направление меняется направо, то функция "Провести, чтобы закрыть" больше не срабатывает. Ранее можно было закрыть уведомление, проведя влево, а затем вправо.(I916ea) HorizontalPageIndicatorтеперь показывает на экране до шести страниц. Если страниц больше шести, слева или справа показывается индикатор половинного размера с плавным переходом между страницами.I2ac29- Улучшено поведение по умолчанию при закреплении окон на экранах
ScalingLazyColumnиPicker(I49539) - Улучшено проведение пальцем от края экрана. При использовании
Modifier.edgeSwipeToDismissзакрытие по свайпу срабатывает только в том случае, если первое касание приходится на край экрана и выполняется свайп вправо. Раньше закрытие по свайпу можно было активировать, проведя пальцем по любой части экрана, если прокрутка достигала начала.(I8ca2a)
Версия 1.0.0-beta01
11 мая 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 и androidx.wear.compose:compose-navigation:1.0.0-beta01. Версия 1.0.0-beta01 содержит следующие коммиты:
Что входит в Compose для Wear OS 1.0
Выпуск 1.0.0-beta01 Compose для Wear OS – важный этап, поскольку библиотека теперь содержит все необходимые функции, а API заблокирован.
В версии 1.0 Wear Compose Material доступны следующие компоненты:
- Тема Material Theme используется вместо Compose for Mobile
MaterialThemeи предоставляет цвета, формы и типографику для создания компонентов на носимых устройствах, которые реализуют UX-руководства по Material Design Wear. Button,CompactButtonиToggleButton– кнопка с одним слотом для значка, изображения или короткого текста (не более трех символов). Круглый, с рекомендуемыми размерами для кнопок по умолчанию, больших и маленьких.CompactButton– это один слот для любого контента (значка, изображения или текста) круглой формы с очень маленьким фоном.CompactButtonимеет необязательные прозрачные поля вокруг фона, которые увеличивают область, доступную для нажатия.ToggleButton– это кнопка с одним слотом для любого контента (короткого текста, значка или изображения). У нее есть два состояния (включено и выключено), которые обозначаются цветом и разными значками.- Карточки – используются для показа информации о приложениях, например уведомлений. Гибкий дизайн для разных вариантов использования с помощью
AppCardиTitleCard, которые позволяют создавать разные макеты и добавлять изображения в качестве содержимого карточек или фона. - Чипы – это компоненты в форме стадиона, похожие на кнопки, но с большей площадью и несколькими слотами для ярлыков, дополнительных ярлыков и значков. разных размеров и с поддержкой изображений в качестве фона.
- ToggleChips и SplitToggleChips – чип с установленным или снятым флажком и добавлением слота
ToggleControlдля показа значка, например переключателя или радиокнопки, чтобы показать состояние компонента. Кроме того, у значкаSplitToggleChipесть две области, на которые можно нажать: одна для клика, а другая для переключения. - CircularProgressIndicator – индикатор выполнения Wear Material с двумя вариантами. Первый вариант показывает, насколько выполнена текущая задача, и поддерживает разрыв в круговой дорожке между начальным и конечным углами. Второй индикатор показывает неопределенный прогресс в течение неопределенного времени ожидания.
- curvedText – часть DSL, которая вместе с
curvedRowиcurvedColumnиспользуется для описанияCurvedLayoutsи размещения компонентов на круглых устройствах. Подробнее оCurvedLayoutиCurvedModifier(они выполняют ту же роль, что и модификаторы в обычном мире, и позволяют настраивать различные аспекты макета, отступы, градиенты и т. д.) рассказывается в разделе "Основы компонентов Wear" ниже. - Диалоговое окно, оповещение и подтверждение. Диалоговое окно отображается на весь экран поверх любого другого контента и поддерживает закрытие с помощью жеста пролистывания. Он занимает один слот, в котором должен быть контент диалогового окна Wear Material, например оповещение или подтверждение. Уведомление – это диалоговое окно с определенным мнением, в котором есть места для значка, заголовка и сообщения. У него есть перегрузки для двух кнопок (отрицательной и положительной), расположенных рядом, или для одного или нескольких чипов, расположенных вертикально. Подтверждение – это диалоговое окно с мнением, в котором сообщение показывается в течение заданного времени. В нем есть место для значка или изображения (в том числе анимированного).
- HorizontalPageIndicator – показывает положение страницы по горизонтали в соответствии с форм-фактором носимого устройства. Занимает весь экран и показывает изогнутый индикатор на круглых устройствах. Можно использовать с программой просмотра страниц Accompanist.
- Значок – реализация значка Wear, в которой цвет и альфа-канал берутся из темы Wear Material. Если вам нужен значок, на который можно нажать, выберите "Кнопка" или "Чип".
- Выбор элемента из списка с возможностью прокрутки. По умолчанию элементы повторяются бесконечно в обоих направлениях. Может быть показан в режиме "Только чтение", чтобы скрыть невыбранные варианты.
- PositionIndicator – показывает позицию прокрутки или другую позиционную информацию в формате, подходящем для носимого устройства. Занимает весь экран. На круглых устройствах отображается изогнутый индикатор.
- Scaffold – реализует базовую визуальную структуру макета Wear Material Design. Этот компонент предоставляет API для объединения нескольких компонентов Wear Material (например,
TimeText,PositionIndicatorиVignette) при создании экрана, обеспечивая правильную стратегию макета и собирая необходимые данные, чтобы эти компоненты работали вместе корректно. - ScalingLazyColumn – компонент списка с прокруткой и масштабированием/эффектом рыбьего глаза, который является ключевой частью языка дизайна Wear Material Design. Позволяет масштабировать объекты и применять к ним эффекты прозрачности.
ScalingLazyColumnможет обрабатывать большое количество объектов контента, которые создаются и объединяются только при необходимости. - Ползунок позволяет выбрать значение из диапазона. Диапазон вариантов выбора представлен в виде полосы, которую можно разделить на сегменты.
- Пошаговый элемент – полноэкранный компонент, который позволяет пользователям выбирать значения из диапазона с помощью кнопок увеличения и уменьшения в верхней и нижней части экрана. В середине есть слот для текста или чипа.
- SwipeToDismissBox – обрабатывает жест смахивания, скрывающий окно. Для фона (показывается только при пролистывании) и контента переднего плана используется один слот. Можно использовать вместе с библиотекой навигации androidx, добавив
SwipeDismissableNavHost(см. раздел "Библиотека навигации Wear Compose" ниже). - Текст – реализация компонента Compose Material Text для Wear, в которой цвет и альфа-канал берутся из темы Wear Material.
- TimeText – компонент, который показывает время и статус приложения в верхней части экрана. Адаптируется к форме экрана, используя изогнутый текст на круглых экранах.
Виньетка – это элемент оформления экрана, который используется в Scaffold и размывает верхнюю и нижнюю части экрана, когда пользователь прокручивает контент.
Также включены следующие компоненты из Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout– это composable-функция макета, которая размещает дочерние элементы по дуге, поворачивая их при необходимости. Это похоже на макет "Строка", изогнутый в сегмент кольца. Обратите внимание, что содержимоеCurvedLayoutне является композиционной лямбда-функцией, а представляет собой DSL (язык, ориентированный на определенную область). Все элементы в DSL CurvedLayout поддерживают необязательный параметр модификатора, созданный изCurvedModifier.basicCurvedText – элемент в
CurvedLayoutDSL,basicCurvedText, который позволяет разработчикам легко создавать текст, изогнутый по окружности (обычно по краю круглого экрана).basicCurvedTextможно создать только вCurvedLayout, чтобы обеспечить оптимальное качество, например возможность указать позицию и использоватьCurvedModifiers. Обратите внимание, что в большинстве случаев следует использовать curvedText, поскольку он поддерживает темы Material.curvedComposable – функция, которая позволяет использовать обычный контент с элементом
CurvedLayout. Если в элементеcurvedComposableнесколько элементов, они будут нарисованы друг поверх друга (как в элементе Box). Чтобы разместить несколько объектов вдоль кривой, оберните каждый из них вcurvedComposable.curvedRow и curvedColumn – аналоги Row и Column. Элементы
curvedRowиcurvedColumnможно вложить вCurvedLayout, чтобы расположить элементы нужным образом. ДляcurvedRowможно указать направление углового макета и радиальное выравнивание. ДляcurvedColumnможно указать угловое выравнивание и радиальное направление.CurvedModifier – все компоненты с изогнутыми краями принимают параметр модификатора, который можно создать с помощью
CurvedModifier. Поддерживаются следующие параметры: background, size, weight и padding.Также включен следующий компонент из Wear Compose Navigation:
SwipeDismissableNavHost – место в иерархии Compose, где выполняется автономная навигация с возможностью вернуться назад с помощью жеста пролистывания. Контент отображается в
SwipeToDismissBox, где указан текущий уровень навигации. Во время жеста смахивания, скрывающего окно, на фоне показывается предыдущий уровень навигации (если он есть).Подробную информацию о том, что было добавлено в разных альфа-версиях, можно найти в примечаниях к предыдущим выпускам.
Изменения в API
- Добавлены функции
CurvedModifier.padding*. Они используются, чтобы указать дополнительное пространство, которое нужно добавить вокруг изогнутого компонента. (I4dbb4) - Удален внутренний класс
CompositionLocal(I42490) - Мы добавили постоянные значения для размеров значков
Button,CompactButtonиToggleButtonв качестве руководства (I57cab). - Добавлен параметр enabled в
AppCardиTitleCard. Теперь у них похожий API, как и у карточекandroidx.compose.material. Если для параметра задано значение false, на карточку нельзя будет нажать. (Idc48d, b/228869805)
Исправление ошибок
- Теперь при достижении нижнего или верхнего предела счетчика кнопки уменьшения и увеличения становятся неактивными (и к iconColor применяется ContentAlpha.disabled) (I4be9f).
- Мы добавили отступ в 1 dp вокруг содержимого средства выбора, когда оно отрисовывается с градиентом, чтобы предотвратить дрожание текста при пролистывании. (I0b7b9)
- Добавлены тесты скриншотов для
PositionIndicator(I5e8bc) - Добавлены дополнительные тесты для
AppCardиTitleCard(I85391, b/228869805)
Версия 1.0.0-alpha21
20 апреля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 и androidx.wear.compose:compose-navigation:1.0.0-alpha21. Версия 1.0.0-alpha21 содержит следующие коммиты:
Новые функции
- Добавлены новые модификаторы кривизны, позволяющие задать фон изогнутого элемента:
CurvedModifier.background,.radialGradientBackgroundи.angularGradientBackground(I8f392). - Разрешить указывать режим переполнения текста (обрезка, многоточие, видимость). (I8e7aa)
- Добавлен модификатор
CurvedModifier.weight, аналогичный модификатору в Compose. Этот параметр можно использовать для дочерних элементов curvedRow и CurvedLayout (для ширины) и дочерних элементов curvedColumn (для высоты). (I8abbd) - Добавлены модификаторы
CurvedModifier.size,.angularSizeи.radialSize, позволяющие задавать размер изогнутого элемента. (I623c7)
Изменения в API
- Изменение порядка параметров, чтобы фон всегда указывался до цвета в Wear Compose API (I43208)
- Удалены параметры clockwise и
insideOut, а в новых классах они заменены более выразительными константами. Направление изогнутого макета теперь может учитывать значениеLayoutDirectionи наследуется, если не указано (If0e6a). - Мы заменили
autoCenter: BooleanнаautoCenter: AutoCentringParams, чтобы устранить проблему с API вScalingLazyColumn. (Ia9c90) - Мы переименовали
iconTintColorиtoggleControlTintColorвiconColorиtoggleControlColorво всем API (Chip/ToggleChip/Dialog/Slider/Stepper/...), поскольку цвет применяется к значку или слоту toggleControl. (Ied238) - Переписать перечисление
PageIndicatorStyleв класс значений (I2dc72) - Мы добавили
RowScope/ColumnScope/BoxScopeв некоторые слоты в наших Composables, чтобы разработчики понимали, какие макеты предполагаются. Это позволит разработчикам использовать дополнительные модификаторы для контента некоторых слотов и избежать необходимости предоставлять дополнительные элементы макета. Кроме того, мы немного изменили цвета карточек приложений и заставок, чтобы по умолчанию для свойствtimeColorиappColorиспользовался цветcontentColor. При необходимости эти свойства можно переопределить по отдельности. (I26b59) - Объект
SwipeToDismissBoxState.Companionстал частным (I39e84) - Исправьте порядок параметров для
InlineSliderиStepper. Простое изменение в соответствии с правилами API (I11fec) - Мы удалили объект "Сохранение" для
SwipeToDismissBoxState, так как он не использовался. (Ifb54e) - Мы обновили
CompactChip, чтобы привести его в соответствие с последней спецификацией UX. Отступы уменьшены до 12 dp по горизонтали и 0 dp по вертикали. Шрифт для ярлыка изменен с button на caption1. Рекомендуемые размеры значка: 20 x 20 пикселей, если значок и ярлык присутствуют, и 24 x 24 пикселя, если значок используется в компактном чипе. Если используется только значок, он будет выровнен по центру. (Iea2be) - Мы добавили в
ScalingLazyListLayoutInfoнесколько новых полей, чтобы разработчики могли узнать, сколькоcontentPaddingиautoCenteringPaddingбыло применено. Эти данные могут быть полезны разработчикам при расчете прокрутки (I7577b). - Мы добавили переходы при открытии и закрытии диалоговых окон. Добавлен параметр
showDialog, и теперь диалоговое окно управляет собственной видимостью (это позволяет диалоговому окну запускать анимацию вступления и концовки, когда оно показывается или скрывается). Обратите внимание, что анимация выхода не выполняется, если пользователь закрывает диалоговое окно с помощью жеста. Мы также добавили значение по умолчанию для параметра state в недавно добавленную перегрузкуSwipeToDismissBox. (I682a0) - Чтобы улучшить поддержку интернационализации и доступности, мы изменили теги
ToggleChipиSplitToggleChipтак, чтобы у них больше не было значения по умолчанию для слотаtoggleControl. Мы также изменилиToggleChipDefaults, чтобы следующие методы возвращали ImageVector, а не Icon (обратите внимание, что поскольку они больше не возвращают @Composables, их названия теперь начинаются со строчной буквы):SwitchIcon()->switchIcon(),CheckboxIcon->checkboxIcon()иRadioIcon()->radioIcon(). Это позволяет разработчикам создавать собственные композицииIcon()с подходящим наборомcontentDescription. (I5bb5b) - Мы добавили параметр
SwipeDismissableNavHostStateвSwipeDismissableNavHost. Это позволяет использовать жесты смахивания с края экрана для навигации, поскольку теперьSwipeToDismissBoxStateможно поднять и использовать для инициализацииSwipeDismissableNavHostStateиModifier.edgeSwipeToDismissна экранах, где требуется смахивание с края. (I819f5, b/228336555)
Исправление ошибок
- Следите за тем, чтобы макеты с изогнутыми элементами были актуальными. (Ie8bfa, b/229079150)
- Исправлена ошибка, описанная на странице https://issuetracker.google.com/issues/226648931 (Ia0a0a, b/226648931).
- Удалены ненужные экспериментальные аннотации (I88d7e).
Версия 1.0.0-alpha20
6 апреля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 и androidx.wear.compose:compose-navigation:1.0.0-alpha20. Версия 1.0.0-alpha20 содержит следующие коммиты:
Новые функции
- Добавьте модификатор
edgeSwipeToDismissдляSwipeToDismiss. ПозволяетswipeToDismissбыть активным только на левом краю области просмотра. Используется, когда центр экрана должен поддерживать горизонтальную прокрутку, например при прокрутке карты в двух измерениях или перелистывании страниц.(I3fcec, b/200699800)
Изменения в API
- Базовая реализация
CurvedModifiersоткрывает возможности для настройки изогнутого контента (но пока не предоставленыCurvedModifiers, а возможность создавать собственные модификаторы может появиться позже) (I9b8df). EdgeSwipeОбновлена документация по модификаторам и значениям по умолчанию, чтобы сделать ее более понятной .(I6d00d)- Добавьте слот
PageIndicatorв Scaffold. ДобавивPageIndicatorнепосредственно в Scaffold, мы можем быть уверены, что он будет правильно отображаться на круглых устройствах. (Ia6042) - Удалите значки по умолчанию из параметров
InlineSliderи Stepper. Это поможет разработчикам уделять больше внимания требованиям к локализации и доступности. Использование стандартных значков было показано в демонстрациях и примерах. (I7e6fd) - Замена параметров Trailing и Leading на Start и End в TimeText (Iaac32)
- Мы добавили перегрузку
SwipeToDismissBoxс параметромonDismissed, чтобы поддерживать распространенный вариант использования, при котором событие навигации запускается после завершения жеста пролистывания. (I50353, b/226565726) - Удалены аннотации
ExperimentalWearMaterialApiиз использованияTimeText(Ide520) - Мы отметили интерфейсы
ScalingLazyList/Columnи info как закрытые, поскольку они не предназначены для реализации внешними разработчиками. Это позволит нам добавлять в них новые элементы без нарушения совместимости. (I7d99f) - Мы добавили в инструмент выбора новый параметр
flingBehaviourи методPickerDefaults.flingBehaviour(), чтобы можно было настраивать поведение при пролистывании, например добавлять поддержку RSB. ТеперьPickerStateреализует интерфейсScrollableState. (Ib89c7)
Исправление ошибок
- Обновлены правила базового профиля Android Runtime (ART) для библиотек Wear Compose. ART может использовать правила профиля на устройствах, чтобы заранее скомпилировать определенное подмножество приложения и повысить его производительность. Обратите внимание, что это не повлияет на приложения с возможностью отладки. (Iaa8ef)
- Улучшение документации (I2c051)
Версия 1.0.0-alpha19
23 марта 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 и androidx.wear.compose:compose-navigation:1.0.0-alpha19. Версия 1.0.0-alpha19 содержит следующие коммиты:
Изменения в API
- Переименован с
CurvedRowнаCurvedLayoutи переработан в область с DSL. С помощью этого языка можно создавать более сложные макеты с кривыми, используя вложенные элементыcurvedRowиcurvedColumn(аналогичные элементам "Строка" и "Столбец" для макетов с кривыми). Внутри этих элементов макета можно использовать три элемента:curvedComposable(для добавления любого элемента @Composable),basicCurvedText(для изогнутого текста из библиотеки Foundation) иcurvedText(для изогнутого текста с учетом материалов для Wear OS). (Ib776a) - Сделайте сторону для
PositionIndicatorнастраиваемой. Теперь можно задать положение индикатора "В конце" (с учетом направления макета), "Напротив RSB" (с учетом поворота экрана, чтобы расположить индикатор напротив физической кнопки RSB) или абсолютные значения "Слева" и "Справа". (I2f1f3) - В
SwipeToDismissBoxмы переименовалиSwipeDismissTarget.Original вSwipeToDismissValue.Default, аSwipeDismissTarget.Dismissal– вSwipeToDismissValue.Dismissed. Мы также перенеслиSwipeToDismissBoxDefaults.BackgroundKeyиSwipeToDismissBoxDefaults.ContentKeyвSwipeToDismissKeys.BackgroundиSwipeToDismissKeys.Contentсоответственно. (I47a36) - Мы добавили в окно выбора режим "Только чтение" для экранов с несколькими окнами выбора, где одновременно можно редактировать только одно из них. Если селектор доступен только для чтения, в нем отображается выбранный вариант и ярлык (если он задан). (I879de)
SwipeToDismissBoxStateбыл переработан, чтобы ограничить область действияExperimentalWearMaterialApiдоModifier.swipeableиSwipeableState, которые теперь используются внутри.SwipeToDismissBoxStateтеперь включаетcurrentValue,targetValue,isAnimationRunningиsnapTo, чтобы поддерживать распространенные варианты использования. Если вам нужны другие свойства, сообщите нам. Также исправлено поведениеSwipeableStateв случае, когда смещение при пролистывании находится в пределах ошибки округления относительно якоря. (I58302)
Исправление ошибок
- Упрощенный и исправленный код для определения того, можно ли прокручивать контент элемента
ScalingLazyColumn(используется, чтобы решить, показывать ли полосу прокрутки) (I7bce0). - Исправлена ошибка индикатора позиции при использовании нескольких состояний и переключении между ними (I320b5).
- Мы обновили типографику и шрифты темы Compose для Wear OS в соответствии с нашими последними рекомендациями по UX. Обратите внимание, что значения display1 (40 sp) и display2 (34 sp) теперь меньше, чем раньше. Кроме того, мы внесли небольшие изменения в высоту и интервалы между строками. (Ie3077)
- Мы добавили сопротивление для
SwipeToDismissBox, чтобы движение происходило только при проведении пальцем для закрытия и не происходило в противоположном направлении. (Ifdfb9) - Мы изменили некоторые значения параметров по умолчанию для функций
CircularProgressIndicator, чтобы они соответствовали рекомендациям по дизайну Wear Material Design. В версии Spinner/Indeterminant изменены размер (40 –> 24 dp), цвет индикатора (primary –> onBackground), прозрачность цвета дорожки (30 % –> 10%) и ширина штриха (4 –> 3 dp). В версии Progress/Determinate была изменена прозрачность цвета дорожки (с 30 % до 10%). (I659cc) - Мы обновили параметры масштабирования по умолчанию для
ScalingLazyColumnв соответствии с последними спецификациями Wear Material Design. В результате элементы списка будут масштабироваться ближе к центру, а по краям списка масштабирование будет меньше, чем раньше. (Ica8f3) - Некоторые изменения в
ScalingLazyColumnDefaults.snapFlingBehaviorдля улучшения конца анимации (If3260)
Версия 1.0.0-alpha18
9 марта 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 и androidx.wear.compose:compose-navigation:1.0.0-alpha18. Версия 1.0.0-alpha18 содержит следующие коммиты:
Изменения в API
- Внесены улучшения в PositionIndicator: ShowResult переименован в PositionIndicatorVisibility. Улучшена производительность, чтобы избежать повторных вычислений, когда они не нужны (Iaed9d).
- Рекомендуемый цвет для
SplitToggleChipбыл изменен. Теперь у чипов SplitToggleChip есть однотонный фон, когда они выбраны или не выбраны. Цвет ToggleControl является основным индикатором того, выбран компонент или нет. Мы добавили новыйToggleDefaults.splitToggleChipColors(), чтобы поддерживать новую цветовую схему. Мы также упростили методыtoggleChipColors(), удалив splitBackgroundOverlayColor (I7e66e). - Мы добавили атрибут "нескорректированный размер"
ScalingLazyListItemInfo, поскольку из-за точности вычислений с плавающей запятой нельзя безопасно рассчитать исходный размер товара, используя масштабированный размер и коэффициент масштабирования. (I54657, b/221079441) - Добавьте
HorizontalPageIndicator. Она показывает общее количество страниц и выбранную страницу. Может быть линейным или изогнутым в зависимости от формы устройства. Кроме того, можно задать собственную форму индикатора, чтобы определить, как он будет выглядеть. (Iac898) - Мы обновили
PickerState, чтобы можно было изменять numberOfOptions. Это позволяет использовать такие функции, какDatePicker, когда количество дней в месяце меняется в зависимости от выбранного месяца. Параметр конструктора для PickerState был изменен на initialNumberOfOptions. (Iad066) - Скрывать
PositionIndicator, если это полоса прокрутки, которую нельзя прокрутить. (Id0a7f) - Чтобы обеспечить единообразие с Scaffold, в компоненте диалогового окна, который занимает весь экран, теперь отображаются значки
PositionIndicatorиVignette. Теперь вместоColumnиспользуетсяScalingLazyColumn, поэтому содержимое диалогового окна находится вScalingLazyListScope(и обычно должно быть заключено в item { /* content */ }). Диалоговое окно поддерживает параметр verticalArrangement. (Idea13) - Мы изменили название свойства
ToggleChipиSplitToggleChiptoggleIcon на toggleControl, чтобы оно лучше соответствовало принципам Material Design и дизайнерам и разработчикам было проще работать с API. (If5921, b/220129803) - В типологию тем оформления Wear добавлен новый элемент caption3.Это небольшой шрифт, который используется для длинных текстов, например юридических. (I74b13, b/220128356)
Исправление ошибок
- Остановить анимацию прилипания, когда мы достигнем цели. (Idb69d)
- Анимировать изменения в PositionIndicator. (I94cb9)
- Мы изменили параметр
ScalingLazyColumnautoCentering на основе отзывов о пользовательском интерфейсе и опыте взаимодействия. Теперь он предоставляет только достаточно места, чтобы элементы с индексомScalingLazyListState.initialCenterItemIndexили выше можно было полностью прокрутить до центра области просмотра. Это позволяет разработчикам размещать в центре экрана один или два элемента, которые нельзя прокрутить в середину. Это означает, что элементScalingLazyColumnс автоматическим центрированием не сможет прокручиваться выше элементаinitialCenterItemIndex/initialCenterItemScrollOffset(I22ee2). - Мы добавили демонстрацию окна выбора даты и исправили ошибку в
PickerState, из-за которой параметр initiallySelectedOption применялся только после того, как окно выбора было показано. (Id0d7e) - Чтобы уменьшить обрезку более широких элементов
ScalingLazyColumnна круглых экранах, мы увеличили отступ по горизонтали по умолчанию с 8 до 10 dp. (I0d609) - Убедитесь, что при прокрутке экрана виден значок
PositionIndicator. (Ied9a2)
Версия 1.0.0-alpha17
23 февраля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 и androidx.wear.compose:compose-navigation:1.0.0-alpha17. Версия 1.0.0-alpha17 содержит следующие коммиты:
Новые функции
- Мы добавили поддержку привязки, которую можно использовать с
ScalingLazyColumn. Установите значениеflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state), чтобы включить поддержку привязки. (I068d3, b/217377069) - Мы добавили демонстрации окна выбора времени, в котором можно задать время в 24-часовом или 12-часовом формате. (Ie5552)
Изменения в API
- Исправлена проблема с
TimeTextнастраиваемыми шрифтами и стилями на квадратном устройстве (Iea76e) ScalingLazyListLayoutInfoтеперь имеет свойстваreverseLayout,viewportSizeи ориентации, соответствующие свойствам изLazyListLayoutInfo(I4f258, b/217917020)- У
ScalingLazyColumnтеперь есть свойствоuserScrollEnabled, соответствующее свойству изLazyList(I164d0, b/217912513). - По умолчанию в селекторах теперь используется градиент вверху и внизу (Iab92a).
Исправление ошибок
- Мы изменили
ScalingLazyColumnтак, чтобы он больше не занимал все пространство родительского элемента. Вместо этого размер будет определяться размером содержимого. Это соответствует поведениюLazyColumn. Если вы хотите восстановить прежнее поведение, передайте значениеModifier.fillMaxWidth()/width()/widthIn()параметруScalingLazyColumn(I51bf8). - Мы улучшили сообщение об исключении в
SwipeDismissableNavHost.kt, которое появлялось, если в стеке навигации не было элементов. (I1b1dc)
Версия 1.0.0-alpha16
9 февраля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 и androidx.wear.compose:compose-navigation:1.0.0-alpha16. Версия 1.0.0-alpha16 содержит следующие коммиты:
Новые функции
- Добавьте
CircularProgressIndicator. Индикаторы выполнения показывают продолжительность процесса или неопределенное время ожидания. Поддерживает вырез для TimeText или других компонентов, если используется в полноэкранном режиме. (Iab8da)
Изменения в API
- У элементов выбора теперь есть параметр
flingBehavior. Значение по умолчанию позволяет им привязываться к ближайшему варианту при прокрутке/проведении по экрану. (I09000) - Дополнительный целочисленный API для InlineSlider и Stepper (I1b5d6)
Исправление ошибок
- Мы изменили значение по умолчанию для параметра initialCenterItemIndex в компоненте
ScalingLazyListStateс 0 на 1. Это означает, что если при создании состояния не переопределить значение с помощьюScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), то второй элемент списка (индекс == 1) будет размещен в центре области просмотра при инициализации, а первый элемент (индекс == 0) – перед ним. Это позволяет улучшить визуальный эффект по умолчанию, поскольку большая часть области просмотра будет заполнена элементами списка. (I0c623, b/217344252) - Мы уменьшили значение по умолчанию для параметра
ScalingLazyColumnextraPaddingс 10% до 5 %, чтобы в списке было достаточно элементов, даже если некоторые из них уменьшены. Это позволит избежать создания дополнительных элементов списка, которые могут не отображаться в окне просмотра. Если используются нестандартные параметры масштабирования (например, более сильное масштабирование), разработчик может настроить дополнительное заполнение с помощьюviewportVerticalOffsetResolver. (I76be4) - Исправлена проблема с многострочным текстом на квадратном устройстве (Ibd3fb)
- Мы изменили
ScalingLazyColumnтак, чтобы он больше не занимал все пространство родительского элемента. Вместо этого размер будет определяться размером его содержимого. Это соответствует поведениюLazyColumn. Если вы хотите восстановить прежнее поведение, передайтеModifier.fillMaxSize()вScalingLazyColumn. ПРИМЕЧАНИЕ. Это изменение неполное и будет доработано в дополнительном запросе в следующем альфа-релизе. (I3cbfa)
Версия 1.0.0-alpha15
26 января 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 и androidx.wear.compose:compose-navigation:1.0.0-alpha15. Версия 1.0.0-alpha15 содержит следующие коммиты:
Изменения в API
- В таблицу "
ScalingLazyColumn" добавлено новое свойствоautoCentering. Если задано значение true (по умолчанию), все элементы, включая первый и последний, можно будет прокрутить так, чтобы они оказались в центре области просмотра списка. Если вы используете автоматическое центрирование, то, скорее всего, захотите установить для вертикального отступа значение 0.dp. Если указаны и autoCentering, и vertical content padding, то перед первым и после последнего элемента списка будет добавлено дополнительное пространство, позволяющее прокручивать список ещё дальше. (I2a282, b/214922490) - Мы добавили компонент
Dialog, который позволяет любому элементу composable запускать полноэкранное диалоговое окно поверх другого контента. Когда диалоговое окно показывается, его можно закрыть с помощью жеста смахивания. При этом на фоне будет виден контент родительского окна. Содержимое диалогового окна должно бытьAlertилиConfirmation(переименованные компонентыAlertDialogиConfirmationDialog).Alert,ConfirmationиDialogнаходятся в пакетеandroidx.wear.compose.material.dialog. В качестве пункта назначения можно использовать оповещение и подтверждение. Также при необходимости добавлен параметр ColumnScope для оповещений и подтверждений. (Ia9014) - Мы удалили
onSurfaceVariant2из цветов темы Material для Compose for WearOS и заменили его наonSurfaceVariantв библиотеке. (Icd592) - Добавлен метод для программного выбора варианта в
PickerState. Теперь при созданииPickerStateможно указать вариант, выбранный по умолчанию. (I92bdf) - Мы добавили возможность настраивать поведение
ScalingLazyColumnпри пролистывании. (I1ad2e, b/208842968) - Мы добавили
NavController.currentBackStackEntryAsState()в библиотекуWear.Compose.Navigation. (If9028, b/212739653) - Добавлены
Modifier.onRotaryScrollEvent()иModifier.onPreRotaryScrollEvent()для устройств Wear с вращающейся боковой кнопкой.(I18bf5, b/210748686)
Версия 1.0.0-alpha14
12 января 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 и androidx.wear.compose:compose-navigation:1.0.0-alpha14. Версия 1.0.0-alpha14 содержит следующие коммиты:
Новые функции
Мы добавили в
ScalingLazyListStateнесколько методов, которые позволяют разработчикам управлять прокруткой до определенных элементов списка, а также задавать начальный элемент списка и смещение.В рамках этого изменения мы также модифицировали ScalingLazyList, чтобы он был ориентирован на центр области просмотра ScalingLazyList, а не на ее начало.
В
ScalingLazyListдобавлено новое свойствоanchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter, которое позволяет определить, что должно быть выровнено по центральной линии области просмотра: центр (ScalingLazyListAnchorType.ItemCenter) илиEdge(ScalingLazyListAnchorType.ItemStart).В результате значения
ScalingLazyListItemInfo.offsetиScalingLazyListItemInfo.adjustedOffsetизменились и теперь отражают смещение объекта относительно позиции элемента списка иanchorTypeсписка. Например, для элементаScalingLazyColumnс параметромanchorType, равнымItemCenter, и элемента списка, центр которого расположен на центральной линии области просмотра, смещение будет равно0.Новые методы:
scrollTo,animatedScrollTo,centerItemIndexиcenterItemOffset. (I61b61)Мы добавили обработчик кнопки "Назад" в
SwipeDismissableNavHost, чтобы при нажатии на нее можно было перейти на предыдущий уровень иерархии навигации. (I5b086, b/210205624)
Версия 1.0.0-alpha13
15 декабря 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 и androidx.wear.compose:compose-navigation:1.0.0-alpha13. Версия 1.0.0-alpha13 содержит следующие коммиты.
Изменения в API
- Мы сделали
RangeIconsвнутренним (на него ссылаютсяInlineSliderиStepper). (I927ec)
Исправление ошибок
Устранена проблема, из-за которой
SwipeDismissableNavHostдобавлял целевой объект в иерархию Compose до того, как он достигал состояния жизненного циклаCREATED, что приводило к ошибкеIllegalStateException. Это исправление было необходимо для обновления зависимости отnavigation-composeдо2.4.0-beta02и более поздних версий. (I40a2b, b/207328687)Добавлен класс перечисления Drawables для получения ресурсов drawable в библиотеке Wear Compose, чтобы больше не требовалось использовать отражение. Исправлена ошибка, из-за которой удалялись объекты библиотеки, когда использовались значения
minifyEnabled=trueилиshrinkResources=true. (Ib2a98)Добавлены тесты для
Stepperв Wear Compose (I2d03a).Добавлены примеры для
SwipeDismissableNavHostв Wear Compose Navigation. (I85f06)
Версия 1.0.0-alpha12
1 декабря 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 и androidx.wear.compose:compose-navigation:1.0.0-alpha12. Версия 1.0.0-alpha12 содержит следующие коммиты:
Новые функции
Мы добавили компонент "Пошаговый регулятор", который позволяет пользователям выбирать значения из диапазона. Пошаговый элемент управления занимает весь экран. Вверху и внизу у него есть кнопки увеличения и уменьшения, а в середине – слот, в который можно добавить чип или текст. При необходимости значки кнопок можно изменить. (I625fe)
Мы добавили два новых компонента для показа диалоговых окон: AlertDialog ожидает ответа от пользователя и показывает заголовок, значок, сообщение и либо а) две кнопки для простого выбора (положительного или отрицательного), либо б) чипы или чипы-переключатели, расположенные вертикально, для более гибкого выбора. ConfirmationDialog показывает подтверждение с тайм-аутом. В этом простом диалоговом окне есть поля для заголовка и (анимированного) значка. (Ic2cf8)
Изменения в API
- Добавлены единицы измерения (миллисекунды) для предложенных значений длительности диалогового окна. (I09b48)
Версия 1.0.0-alpha11
17 ноября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 и androidx.wear.compose:compose-navigation:1.0.0-alpha11. Версия 1.0.0-alpha11 содержит следующие коммиты:
Новые функции
- Мы добавили компонент выбора, который позволяет пользователю выбрать элемент из прокручиваемого списка. По умолчанию список элементов повторяется бесконечно в обоих направлениях, чтобы создать впечатление вращающегося цилиндра, на который смотрят сбоку. В следующих версиях будут добавлены две функции: привязка к значению после пролистывания/проведения по экрану и добавление функции в PickerState для установки/прокрутки текущего значения. (I6461b)
Изменения в API
- Добавлен ScalingLazyItemScope и новые модификаторы fillParentMaxSize, fillParentMaxWidth и fillParentMaxHeight, позволяющие задавать размер элементов списка на основе размера родительского контейнера. Элементы могут занимать весь размер родительского элемента или его часть. Это позволяет использовать функции, которые уже доступны в LazyRow/Column (I4612f).
- Добавлена поддержка ScalingLazyColumn, позволяющая элементам иметь ключ. Также добавлены удобные методы, позволяющие добавлять элементы из массивов и списков. (Ic1f89)
Исправление ошибок
- Дополнительные примеры для TimeText (I8cb64)
Версия 1.0.0-alpha10
3 ноября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 и androidx.wear.compose:compose-navigation:1.0.0-alpha10. Версия 1.0.0-alpha10 содержит следующие коммиты:
Новые функции
Добавлен встроенный ползунок для Wear Compose. Встроенный ползунок позволяет пользователям выбирать значения из диапазона. Диапазон выбора представлен в виде полосы между минимальным и максимальным значениями, из которой пользователи могут выбрать одно значение. (If0148)
Попробуйте новую практическую работу по Compose для WearOS!
Изменения в API
- В Macrobenchmark теперь используется
minSdkVersionверсии23. (If2655)
Исправление ошибок
- Обновление обработки перехода в SwipeDismissableNavHost в SideEffect (I04994, b/202863359)
- Изменено поведение при переходе в SwipeDismissableNavHost (I1cbe0, b/202863359)
Версия 1.0.0-alpha09
27 октября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 и androidx.wear.compose:compose-navigation:1.0.0-alpha09. Версия 1.0.0-alpha09 содержит следующие коммиты:
Новые функции
- Мы запустили предварительную версию для разработчиков Compose для Wear OS. В статье блога рассказывается об основных composable-функциях и приводятся ссылки на ресурсы, которые помогут вам начать работу с ними.
Изменения в API
- Теперь разработчики могут настраивать все цвета в цветовой теме Wear Material Design. (I4759b, b/199754668)
Исправление ошибок
- Добавлены примеры SwipeToDismissBox, сохраняющие состояние (Ibaffe)
- Добавлены ссылки на руководства на сайте developer.android.com из KDocs для CurvedText, TimeText и SwipeToDismissBox. (I399d4)
- Теперь SwipeDismissableNavHost вызывает исключение, если текущий пункт назначения отсутствует (это означает, что NavGraph был создан без использования служебной функции wear.compose.navigation.composable) (I91403).
- Добавлены дополнительные материалы и примеры использования источника времени в TimeText (I4f6f0).
Версия 1.0.0-alpha08
13 октября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 и androidx.wear.compose:compose-navigation:1.0.0-alpha08. Версия 1.0.0-alpha08 содержит следующие коммиты:
Изменения в API
- Мы переименовали свойства AppCard и TitleCard
bodyвcontentи переместили их в конец списка свойств, чтобы их можно было указать в виде конечной лямбда-функции. Также для единообразия с новыми названиями слотов названиеbodyColorбыло изменено наcontentColor. (I57e78)
Исправление ошибок
- Добавлены ссылки на руководства на сайте developer.android.com из KDocs для компонентов "Кнопка", "Карточка", "Чип", "Тема", "Индикатор позиции" и "Масштабируемый ленивый столбец". (I22428)
- Исправлена ошибка, из-за которой SwipeToDismissBox иногда не обрабатывал свайпы. (I9387e)
- Добавлены примеры для Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip (Iddc15)
- Добавлены тесты производительности микроконтрольных показателей для Card, Chip, ToggleChip, TimeText и ScalingLazyColumn. (If2fe9)
Версия 1.0.0-alpha07
29 сентября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 и androidx.wear.compose:compose-navigation:1.0.0-alpha07. Версия 1.0.0-alpha07 содержит следующие коммиты:
Новые функции
- Добавлен компонент CurvedText в material – компонент, позволяющий разработчикам легко писать изогнутый текст, повторяющий кривизну круга (обычно на краю круглого экрана). (I19593)
Изменения в API
- Добавлены тесты для TimeText (Idfead)
- Преобразование ArcPaddingValues в интерфейс. (Iecd4c)
- Добавлена анимация в SwipeToDismissBox (I9ad1b)
- В API SwipeToDismissBox добавлен параметр hasBackground, позволяющий отключить жест пролистывания, если нет фонового контента. (I313d8)
rememberNavController()теперь принимает необязательный набор экземпляровNavigator, которые будут добавлены в возвращенныйNavController, чтобы лучше поддерживать необязательные навигаторы, такие как материалы для навигации по аккомпанементу. (I4619e)- Удалите копию NamedNavArgument из wear.compose.navigation и добавьте ссылку на нее из navigation-common. (I43af6)
Исправление ошибок
- Устранена нестабильность теста CurvedRow на небольших устройствах. (If7941)
- Исправлено возможное мерцание в CurvedRow при обновлении контента и обеспечено повторное измерение изогнутой строки (Ie4e06).
- Функция ChipDefaults.gradientBackgroundChipColors() была обновлена в соответствии с изменениями в спецификации UX. Теперь градиент начинается с MaterialTheme.colors.primary с альфа-каналом 32,5% и заканчивается MaterialTheme.colors.surface с альфа-каналом 0% на фоне MaterialTheme.colors.surface с альфа-каналом 75 %. (Id1548)
- Мы обновили цвета для переключателей в выбранном состоянии в соответствии с последними рекомендациями по дизайну Wear Material Design UX Spec. Если выбран переключатель ToggleChips, теперь у него будет градиентный фон от MaterialTheme.color.surface @ 0% alpha (слева вверху) до MaterialTheme.color.primary @ 32% alpha (справа внизу) поверх фона MaterialTheme.color.surface @ 75% alpha. В результате разница между выбранным и невыбранным состоянием ToggleChip становится менее заметной. (Idd40b)
Версия 1.0.0-alpha06
15 сентября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 и androidx.wear.compose:compose-navigation:1.0.0-alpha06. Версия 1.0.0-alpha06 содержит следующие коммиты.
Новые функции
- Мы добавили компонент Scaffold, который обеспечивает структуру для обработки позиции индикаторов (например, прокрутки или громкости), область в верхней части экрана для отображения времени и статуса приложения, а также поддерживает виньетку для размытия верхнего и нижнего краев экрана при прокрутке контента. Основная область Scaffold – это место, где размещается контент приложения. (I5e0bf)
- Добавлена реализация TimeText для Wear Compose (I5654c)
Библиотека навигации Wear Compose
Мы добавили первую версию библиотеки Wear Compose Navigation, которая обеспечивает интеграцию между библиотеками Wear Compose и Androidx Navigation. Он позволяет легко переходить между функциями @Composable в качестве пунктов назначения в приложении.
В первом выпуске доступны следующие функции:
- Компонуемый элемент
SwipeDismissableNavHost, в котором размещается граф навигации и поддерживается переход назад с помощью жестов пролистывания. NavGraphBuilder.composableдля создания графов навигации.rememberSwipeDismissableNavController(), чтобы разрешить передачу состояния
- Компонуемый элемент
Пример использования, в котором мы создаем два экрана и переходим между ними:
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "start" ) { composable("start") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Button(onClick = { navController.navigate("next") }) { Text("Go") } } } composable("next") { Column( horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center, modifier = Modifier.fillMaxSize(), ) { Text("Swipe to go back") } } }Wear Compose Navigation поставляется как отдельная библиотека, поэтому простым приложениям WearCompose, в которых реализована собственная навигация, не нужно зависеть от библиотеки Androidx Navigation.
Изменения в API
- В
SwipeDismissableNavHostдобавлена поддержкаrememberSaveableпутем установки ключа идентификации для фона и контента (I746fd). - Мы добавили адаптер PositionIndicator, который может обрабатывать LazyListState (I21b88).
- Обновлен компонент SwipeToDismissBox, чтобы поддерживать параметр rememberSaveable (Ie728b).
- Мы добавили поддержку reverseLayout в ScalingLazyColumn. Это позволяет изменить направление прокрутки и макет (I9e2fc).
- Удалены устаревшие функции
performGestureиGestureScope, которые были заменены функциямиperformTouchInputиTouchInjectionScope. (Ia5f3f, b/190493367) - Мы переименовали VignetteValue в VignettePosition, а VignetteValue.Both – в VignettePosition.TopAndBottom. (I57ad7)
- Мы переименовали ScalingLazyColumnState в ScalingLazyListState, ScalingLazyColumnItemInfo в ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo в ScalingLazyListLayoutInfo и ScalingLazyColumnScope в ScalingLazyListScope, чтобы в будущем добавить реализацию ScalingLazyRow. (I22734)
Исправление ошибок
- В документацию по компактным чипам добавлено описание того, что происходит, если не указать ни значок, ни ярлык. (I4ba88)
- Мы изменили некоторые компоненты карточки Wear. (I6b3d0)
- Расстояние между заголовком и текстом карточки уменьшено с 8 до 2 dp.
- Шрифт заголовка TitleCard изменен с body на title3.
- Изменен градиент фона карточки, чтобы фон выглядел темнее.
Версия 1.0.0-alpha05
1 сентября 2021 г.
Выпущены androidx.wear.compose:compose-foundation:1.0.0-alpha05 и androidx.wear.compose:compose-material:1.0.0-alpha05. Версия 1.0.0-alpha05 содержит следующие коммиты:
Изменения в API
- Добавление аннотации @Stable к ArcPaddingValues (I57deb)
- Теперь ScalingLazyColumnState реализует интерфейс ScrollableState, предоставляя разработчикам программный доступ к прокрутке компонента. (I47dbc)
Исправление ошибок
- Мы уменьшили расстояние между значком и текстом в чипе и переключателе чипа, чтобы привести их в соответствие с изменениями в спецификации UX. (I83802)
Версия 1.0.0-alpha04
18 августа 2021 г.
Выпущены androidx.wear.compose:compose-foundation:1.0.0-alpha04 и androidx.wear.compose:compose-material:1.0.0-alpha04. Версия 1.0.0-alpha04 содержит следующие коммиты:
Новые функции
- Добавлены SwipeToDismissBox и модификатор swipeable, которые можно использовать для поддержки жеста "провести влево, чтобы закрыть". Хотя этот компонент не зависит от компонентов навигации, предполагается, что он будет использоваться для перехода с одного экрана на другой. Добавлены интеграционные тесты для демонстрации функции "Проведите, чтобы закрыть". (I7bbaa)
- Мы добавили в класс ScalingLazyColumnState интерфейсы ScalingLazyColumnItemInfo и ScalingLazyColumnLayoutInfo, чтобы разработчики могли узнавать фактические позиции и размеры элементов в ScalingLazyColumn после применения масштабирования. Мы также исправили ошибку, связанную с расчетом масштабирования при применении к ScalingLazyColumn отступа сверху. (I27c07)
Изменения в API
- Добавьте класс CurvedTextStyle, чтобы задать стиль изогнутого текста в параметрах. Аналогично TextStyle, но теперь поддерживает только цвет, размер шрифта и фон. В будущем мы добавим больше вариантов оформления. (I96ac3)
- Мы добавили в класс ScalingLazyColumnState интерфейсы ScalingLazyColumnItemInfo и ScalingLazyColumnLayoutInfo, чтобы разработчики могли узнавать фактические позиции и размеры элементов в ScalingLazyColumn после применения масштабирования. Мы также исправили ошибку, связанную с расчетом масштабирования при применении к ScalingLazyColumn отступа сверху. (I27c07)
- В перечисление
SwipeDismissTarget, которое является частью APISwipeToDismissBox, добавлен элемент@ExperimentalWearMaterialApi. (I48b5e)
Исправление ошибок
- Добавлен тестовый материал для SwipeToDismissBox (I9febc).
Версия 1.0.0-alpha03
4 августа 2021 г.
Выпущены androidx.wear.compose:compose-foundation:1.0.0-alpha03 и androidx.wear.compose:compose-material:1.0.0-alpha03. Версия 1.0.0-alpha03 содержит следующие коммиты.
Изменения в API
- Добавлен компонент CurvedText, который позволяет разработчикам легко писать текст, повторяющий кривизну круга (обычно на краю круглого экрана) (Id1267).
- Мы переименовали
CardDefaults.imageBackgroundPainter()вCardDefaults.imageWithScrimBackgroundPainter(), чтобы было понятно, что фоновое изображение будет затемнено. (I53206) - Добавлен компонент ScalingLazyColumn, который представляет собой список для Wear Material. Он обеспечивает эффект рыбьего глаза, при котором размер элементов списка уменьшается, а прозрачность увеличивается по мере приближения к краю компонента. (I7070c)
Исправление ошибок
- Мы изменили цвет по умолчанию для названия приложения в карточке приложения в соответствии с обновленными спецификациями UX. По умолчанию для appName теперь используется цвет
MaterialTheme.colors.onSurfaceVariant. Также добавлено описание документации отсутствующего параметра для слота заголовка. (Ic4ad1)
Версия 1.0.0-alpha02
21 июля 2021 г.
Выпущены androidx.wear.compose:compose-foundation:1.0.0-alpha02 и androidx.wear.compose:compose-material:1.0.0-alpha02. Версия 1.0.0-alpha02 содержит следующие коммиты:
Новые функции
- Добавлен новый класс CurvedRow для композиций, расположенных по дуге (I29941).
- Добавлен новый тип карточки для использования в приложениях (TitleCard), а также поддержка изображений в качестве фона для карточек, чтобы подчеркнуть их содержимое (I53b0f).
Изменения в API
- Добавлена поддержка радиального выравнивания для CurvedRow (аналогично вертикальному выравниванию в строке) (Id9de5).
- Добавлен новый класс CurvedRow для композиций, расположенных по дуге (I29941)
- Добавлен новый тип карточки для использования в приложениях (TitleCard), а также поддержка изображений в качестве фона для карточек, чтобы подчеркнуть их содержимое (I53b0f).
- Добавлены значки переключателей (флажок, переключатель и радиокнопки) в ToggleChipDefaults, чтобы разработчикам было проще настраивать ToggleChip и SplitToggleChips (I7b639).
- В чипах обновлены отступы в начале и конце контента. Теперь они составляют 14 dp независимо от того, есть ли в чипе значок (ранее было 12 dp, если значок есть, и 14 dp, если его нет) (I34c86).
Исправление ошибок
- Добавьте тесты для CurvedRow (I93cdb)
- Привязка зависимостей Wear Compose к Compose 1.0.0-rc01. (Ie6bc9)
- Изменена обработка отрисовки фоновых изображений в карточках и чипах. Теперь изображения обрезаются, а не растягиваются, чтобы сохранить пропорции. (I29b41)
- Добавлены новые демонстрации и интеграционные тесты для Button и ToggleButton. (5e27ed2)
- Добавлены дополнительные тесты для чипов, чтобы охватить цвета контента для чипов фона изображений (Ia9183).
Версия 1.0.0-alpha01
1 июля 2021 г.
Выпущены androidx.wear.compose:compose-foundation:1.0.0-alpha01 и androidx.wear.compose:compose-material:1.0.0-alpha01. Версия 1.0.0-alpha01 содержит следующие коммиты:
Новые функции
Wear Compose – это библиотека на основе Kotlin и Compose, которая поддерживает Wear Material Design, расширение Material Design для носимых устройств с WearOS. В первой альфа-версии реализованы следующие функции:
- Тема Material – настраивает цвета, типографику и формы компонентов, используемых из этой библиотеки.
- Chip, CompactChip – чипы имеют форму стадиона. Доступны варианты с местом для значка, ярлыка и дополнительного ярлыка.
- - ToggleChip, SplitToggleChip – специализированный тип чипа, в который можно добавить значок переключателя с двумя состояниями, например радиокнопку или флажок. Кроме того, у SplitToggleChip есть две области, на которые можно нажать: одна для клика, а другая для переключения.
- Кнопка, компактная кнопка – кнопки круглой формы с одним слотом для значка или короткого текста (максимум три символа).
- ToggleButton – кнопка, которая включает или отключает действие. У нее есть один слот для значка или короткого текста (не более трех символов).
- Карточка, карточка приложения – прямоугольная форма со скругленными углами, в которой можно разместить значок приложения, время, заголовок и текст.
В будущих версиях мы добавим поддержку других виджетов, в том числе элементов выбора, ползунков, списков, индикаторов страниц, диалоговых окон, индикаторов прокрутки, уведомлений и т. д.
Кроме того, будет добавлена поддержка других функций, предназначенных для носимых устройств, например изогнутых макетов и текста, а также каркасов, которые упростят разработчикам создание приложений и оверлеев для носимых устройств.
Wear Compose Material разработан на тех же принципах, что и Compose Material, но предназначен для носимых устройств. При разработке для носимых устройств вместо библиотеки Compose Material следует использовать библиотеку Wear Compose Material.
Библиотеки Material взаимоисключающие и не должны использоваться в одном приложении. Если разработчик добавляет библиотеку Compose Material в зависимости, это означает, что: а) в библиотеке Wear Compose Material отсутствуют нужные компоненты (сообщите нам, какие именно); б) разработчик использует компонент, который не рекомендуется применять на носимых устройствах.