Носить композицию
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
18 сентября 2024 г. | 1.4.0 | - | - | 1.5.0-альфа02 |
Объявление зависимостей
Чтобы добавить зависимость от Wear, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.wear.compose:compose-foundation:1.4.0" // For Wear Material Design UX guidelines and specifications implementation "androidx.wear.compose:compose-material:1.4.0" // For integration between Wear Compose and Androidx Navigation libraries implementation "androidx.wear.compose:compose-navigation:1.4.0" // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.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.4.0") // For Wear Material Design UX guidelines and specifications implementation("androidx.wear.compose:compose-material:1.4.0") // For integration between Wear Compose and Androidx Navigation libraries implementation("androidx.wear.compose:compose-navigation:1.4.0") // For Wear preview annotations implementation("androidx.wear.compose:compose-ui-tooling:1.4.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 лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Wear Compose Material3 Версия 1.0
Версия 1.0.0-альфа25
18 сентября 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha25
. Версия 1.0.0-alpha25 содержит эти коммиты .
Изменения API
- Мы добавили индикатор неопределенного кругового прогресса. ( I427a7 )
- Мы добавили поддержку переполнения прогресса (прогресс>100%) как для
CircularProgressIndicator
, так и дляSegmentedCircularProgressIndicator
. Когда прогресс превысит 1,0, это будет обозначено новым цветомoverflowTrack
. ( Иааа3d ) - Круглые
IconToggleButton
иTextToggleButton
теперь поддерживают новый вариант анимации фигур, в котором разные фигуры представляют отмеченное, неотмеченное и нажатое состояния. Предыдущий вариант анимированной формы для только что нажатого состояния продолжает поддерживаться. ( I29f03 ) - Мы удалили поддержку использования
EdgeButton
сColumn
из-за необходимости явно указывать высотуEdgeButton
вScreenScaffold
. ( Ie353d ) - Мы добавили поддержку Wear Compose
LazyColumn
с помощью нашегоScreenScaffold
(и добавили реализациюScrollInfoProvider
дляLazyColumnState
). ( Ib8d29 ) - Мы объединили
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
в единую локальную композициюLocalTextConfiguration
, чтобы обеспечить более масштабируемое решение в будущем. ( I5edbc ) - Мы добавили arc-large в качестве дополнительной шкалы шрифта, зарезервированной для коротких текстовых строк заголовков в самом верху или внизу экрана, как в наложениях подтверждения. ( I60e3e )
- Мы добавили в Button параметры по умолчанию для рекомендуемых больших и очень больших размеров значков и заполнения содержимого. ( I84675 )
Исправления ошибок
- Мы обновили цвета
IconButton
иTextButton
. ( I48324 ) - Мы изменили базовые перегрузки Button, чтобы они были выровнены по центру по вертикали для согласованности с другими перегрузками. Чтобы восстановить предыдущее поведение, используйте
Modifier.align
изRowScope
. ( I66e57 )
Версия 1.0.0-альфа24
4 сентября 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha24
. Версия 1.0.0-alpha24 содержит эти коммиты .
Изменения API
- Мы добавили схему движения в тему Material3. Это будет использоваться компонентами библиотеки для применения характеристик анимации, таких как пружины для выразительного движения. ( I54ff3 )
- Мы добавили компоненты
AppScaffold
иScreenScaffold
в библиотеку Material3, которые включают в себя функциональные возможности для координации слоев и переходовTimeText
иScrollIndicator
.AppScaffold
предоставляет верхний уровень компонентов scaffold, которые располагаются поверх всех экранов. Таким образом, добавлениеTimeText
вAppScaffold
позволяет ему оставаться на месте при перелистывании между экранами. Экраны сами могут переопределять или скрывать текст времени.ScreenScaffold
предоставляет слот дляScrollIndicator
и автоматически анимирует индикатор прокрутки при прокрутке, включая время ожидания, чтобы скрыть индикатор прокрутки после бездействия. ( I047d6 ) - Мы добавили
ScrollIndicator
с новым дизайном Material3. Он имеет фиксированный размер большого пальца, основанный на исходном содержимом списка, чтобы избежать изменений размера при отложенной загрузке содержимого в список. ( Ic228d ) - Мы изменили API
ScrollAway
таким образом, чтоScreenStage
является классом значения, а не классом перечисления, чтобы можно было добавлять дополнительные этапы по мере необходимости в дальнейшем. ( I48c93 ) - Мы добавили
EdgeButton
— специальную кнопку, специфичную для Wear, форма которой повторяет кривизну нижней части экрана ( I16369 ). - Мы добавили новый слот в
ScreenScaffold
для нижней кнопки (например,EdgeButton
), которая будет отображаться и изменять размер в зависимости от прокручиваемого содержимого ( I032eb ). - Мы добавили
Modifier.scrollTransform
иModifier.targetMorphingHeight
, чтобы добавить эффекты движения Material3 к элементам вLazyColumn
. ( Ie229a ) - Мы добавили
SegmentedCircularProgressIndicator
как вариантCircularProgressIndicator
. Сегментированный вариант либо показывает одно значение прогресса для всех сегментов, либо показывает, что каждый сегмент включен или выключен. ( I6e059 ) - Мы добавили
LinearProgressIndicator
в качестве альтернативы существующемуCircularProgressIndicator
. ( I89182 ) - Мы добавили
AlertDialog
, предоставляющий макеты для отображения важных подсказок пользователю. Варианты включены либо для пары кнопок подтверждения/отключения, либо для одной нижней кнопки (обычно EdgeButton) под стопкой опций. В обоих вариантах есть слоты для значка, заголовка и дополнительного текста для предоставления дополнительной информации. ( Ieb873 ) - Мы добавили
OpenOnPhoneDialog
, который следует использовать для указания действия, которое будет продолжено на телефоне пользователя.OpenOnPhoneDialog
закрывается по истечении указанного времени ожидания. ( I978fd ) - Мы добавили
Confirmation
, компонент диалогового окна, в котором есть слоты для значка и изогнутого или линейного текста. Для сообщений об успехе/неуспехе предусмотрены конкретные варианты. Подтверждения автоматически отклоняются по истечении времени ожидания. ( Ib43e8 ) - Мы добавили фон в
TimeText
чтобы устранить проблемы, при которых базовый контент иTimeText
перекрывались и скрывали время. ( Ia11fd ) - Мы добавили
LevelIndicator
, который показывает значение такого параметра, как громкость, и может использоваться с существующим компонентомStepper
для создания экрана громкости.LevelIndicator
похож наScrollIndicator
, но отображается на противоположной стороне экрана и по умолчанию имеет более широкую ширину штриха и другой цвет индикатора. ( I8a4ac ) - Мы добавили
TimePicker
с макетами для 24-часового времени (с секундами или без них) или 12-часового времени с выбором до/после полудня. ( Я5124 ) - Мы добавили
DatePicker
с настройкой порядка столбцов (т. е. день-месяц-год, месяц-день-год или год-месяц-день) и дополнительными минимальными/максимальными датами. ( Ibf13b ) - Мы добавили параметр веса в
text
функциюTimeText
. В тех случаях, когда TimeText состоит из более чем одного текстового элемента, это позволяет контролировать распределение пространства. ( I36700 ) - Мы добавили
RadioButton
иSplitRadioButton
— эти компоненты упрощают предыдущий API, объединяя как (Split)SelectableButton
, так и дочерний радиоуправление ( If7ae8 ). - Мы добавили
CheckboxButton
иSplitCheckboxButton
— эти компоненты упрощают предыдущий API, объединяя как (Split)ToggleButton
, так и дочерний элемент управления Checkbox ( Ia8f70 ). - Мы добавили
SwitchButton
иSplitSwitchButton
— эти компоненты упрощают предыдущий API, объединяя как(Split)ToggleButton
так и дочерний элемент управления Switch ( I0d349 ). - Мы обновили документацию
AnimatedText
чтобы объяснить поведение выхода за пределы. ( Iff30a ) - Мы добавили
ButtonGroup
для объединения 2 или 3 кнопок, чтобы нажатие кнопок создавало скоординированную анимацию. ( Ie27db ) - Мы добавили дополнительную анимацию формы для
IconButton
иTextButton
при нажатии. ( Иффка5 ) - Мы добавили дополнительный вариант цвета
FilledVariant
дляButton
,IconButton
,TextButton
,CompactButton
иEdgeButton
( I65fc3 ). - Мы добавили параметр
forcedSize
вImageWithScrimPainter
, так что фон изображения кнопки теперь сохраняет размер своего компонента по умолчанию. УстановкаforcedSize = null
вместо этого принимаетPainter.instrinsicSize
. ( Ic57af ) - Мы добавили долгое нажатие в кнопки ( Ib613d ).
- Поддержка длительного нажатия также была добавлена в
IconButton
иTextButton
. ( I38891 ) - В «Карточки» добавлена поддержка длительного нажатия. ( I305d5 )
- Мы добавили
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
в качествеCompositionLocals
и использовали их в качестве параметров по умолчанию дляText
. Локальные параметры композиции теперь могут использоваться такими компонентами, какCheckboxButton
,SwitchButton
,RadioButton
для реализации рекомендаций UX, но при необходимости параметры могут быть переопределены разработчиками. ( Iab841 ) - Мы добавили
Placeholder
, который помогает маскировать содержимое таких компонентов, как кнопки и карточки, до загрузки данных. ( I1a532 ) - Мы добавили
IconToggleButtonColors
иTextToggleButtonColors
вместо удаленныхToggleButtonColors
. ( Ie0bf1 )
Исправления ошибок
- Мы обновили
Button
,FilledTonalButton
,OutlinedButton
,ChildButton
,CompactButton
чтобы использовать новыеCompositionLocals
LocalTextMaxLines
,LocalTextAlign
,LocalTextOverflow
для реализации рекомендаций по UX — при необходимости эти параметры могут быть переопределены разработчиками непосредственно в Text ( Ie51f7 ). - Мы изменили ширину обводки
LevelIndicator
по умолчанию на6dp
чтобы отличать ее отScrollIndicator
, ширина обводки которого равна4dp
. ( Если6f63 ) - Мы исправили проблему в
TimeText
, чтобы поддерживать большие углы развертки. ( Ie489f ) - Исправлена проблема во время рекомпозиции
EdgeButton
. ( I4cdca ) - Исправлены макеты разделенных кнопок переключения при предоставлении настраиваемого заполнения контента. ( Ia33d3 )
- Небольшие значения прогресса округлены как минимум до ширины линии индикатора прогресса. ( I3bd84 )
Версия 1.0.0-альфа23
14 мая 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha23
. Версия 1.0.0-alpha23 содержит эти коммиты .
Изменения API
- Мы обновили API-интерфейсы
ToggleButton
иRadioButton
, чтобы можно было настроить отключенные цвета. ( Если13а7 ) - Мы добавили новый
CircularProgressIndicator
для Material3. ( Ib3bd7 )
Исправления ошибок
- Мы исправили ошибку, из-за которой выбираемые кнопки объявляли двойное нажатие для переключения, если они уже выбраны. ( I7ed88 )
Версия 1.0.0-альфа22
1 мая 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha22
. Версия 1.0.0-alpha22 содержит эти коммиты .
Изменения API
- Мы обновили
ColorScheme
Material3. ( I7b2b8 ) - Мы обновили переключатель Material3 — помимо некоторых изменений цвета, галочка теперь соответствует галочке, используемой для флажка. ( Icac7b )
Исправления ошибок
- Обновите все демо-версии интеграции, чтобы использовать новый модификатор
rotaryScrollable
. ( I25090 )
Версия 1.0.0-альфа21
17 апреля 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha21
. Версия 1.0.0-alpha21 содержит эти коммиты .
- Этот выпуск был запущен из-за технической проблемы в предыдущем выпуске, которая привела к отсутствию файлов исходного кода. В этом выпуске нет новых коммитов.
Версия 1.0.0-альфа20
3 апреля 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha20
. Версия 1.0.0-alpha20 содержит эти коммиты .
Исправления ошибок
- Мы скорректировали альфа-каналы нажатого и сфокусированного состояния Ripple для контраста. ( I59f0a )
- Мы добавили расстояние между основными и дополнительными метками в
Button
,ToggleButton
иRadioButton
в соответствии с последними изменениями в стилях оформления и высоте строк. ( I2c0ba )
Версия 1.0.0-альфа19
6 марта 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha19
. Версия 1.0.0-alpha19 содержит эти коммиты .
Изменения API
- Мы добавили
TimeText
в библиотеку Wear Compose Material3. Этот компонент показывает текущее время (и дополнительный статус) вверху экрана. Новый лаконичный API Material3 позволяет избежать дублирования линейного и изогнутого контента. ( I4d7c3 ) - Мы обновили имена параметров с
onSelected
наonSelect
дляRadioButton
. ( I1a971 ) - Токенизировать
RadioButton
иSplitRadioButton
, а также провести рефакторинг существующих методов, чтобы уменьшить объем поискаCompositionLocal
, добавив кэшированные экземпляры цветов и сделав методыRadioButtonColors
иSplitRadioButtonColors
внутренними. ( I02b33 )
Версия 1.0.0-альфа18
21 февраля 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha18
. Версия 1.0.0-alpha18 содержит эти коммиты.
Изменения API
- Мы провели рефакторинг шаблона по умолчанию для
CardColors
,ToggleButtonColors
иSplitToggleButtonColors
создав внутренние кэшированные экземпляры и сократив использованиеCompositionLocal
. ( Если3fec )
Версия 1.0.0-альфа17
7 февраля 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha17
. Версия 1.0.0-alpha17 содержит эти коммиты.
Изменения API
- Мы обновили API кнопок, чтобы использовать
buttonColors
по умолчанию, и удалили дубликатыfilledButtonColors
. ( I4fe3b ) - Мы провели рефакторинг шаблонов по умолчанию для
ButtonColors
,IconButtonColors
иTextButtonColors
создав внутренний кэшированный экземпляр и сократив использованиеCompositionLocal
. ( I5f51c ) - Мы устранили накладные расходы на
rememberUpdatedState
в классах цветов, специфичных для компонентов, и пометили методы доступа внутри классов цветов как внутренние. ( Если6571 )
Исправления ошибок
- Мы обновили
Modifier.minimumInteractiveComponentSize
для использованияModifier.node
. ( Iba6b7 )
Версия 1.0.0-альфа16
24 января 2024 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha16
. Версия 1.0.0-alpha16 содержит эти коммиты.
Новые возможности
- Мы добавили
CompactButton
, который может использовать те же цвета заливки, тона и контура, что и Button. ( I05df0 ).
Изменения API
- Мы добавили
RadioButton
/SplitRadioButton
в качестве контейнеров для элементов управления выбором, таких как элемент управления Radio. Он отличается от существующегоToggleButton
тем, чтоRadioButton
можно выбирать (и он работает внутри группы выбора), тогда какToggleButton
можно переключать (и он независим). ( I61275 ) - Мы удаляем
LocalContentAlpha
из библиотеки Wear Compose Material3 для согласованности с библиотекой Compose Material3. ( I49a0a ) - Компоненты Wear Material и Wear Material3, предоставляющие
MutableInteractionSource
в своих API, были обновлены и теперь предоставляютMutableInteractionSource
с нулевым значением, значение которого по умолчанию равно нулю. Здесь нет никаких семантических изменений: передача null означает, что вы не хотите подниматьMutableInteractionSource
, и при необходимости он будет создан внутри компонента. Изменение значения на null позволяет некоторым компонентам никогда не выделятьMutableInteractionSource
, а другим компонентам — только лениво создавать экземпляр, когда это необходимо, что повышает производительность этих компонентов. Если вы не используетеMutableInteractionSource
который передаете этим компонентам, рекомендуется вместо этого передать значение null. Также рекомендуется внести аналогичные изменения в ваши собственные компоненты. ( Ib90fc , б/298048146 ) - Добавляет новый API-интерфейс Ripple в библиотеки
wear:compose-material
иwear:compose-material3
который заменяет устаревшийrememberRipple
. Также добавляется временныйCompositionLocal
,LocalUseFallbackRippleImplementation
, чтобы вернуть компоненты Material к использованию устаревших APIrememberRipple/RippleTheme
. Это будет удалено в следующем стабильном выпуске и предназначено только для временного облегчения миграции в тех случаях, когда вы предоставляете собственныйRippleTheme
. Посетите сайт Developer.android.com для получения информации о миграции и дополнительной информации об этом изменении. ( af92b21 ) - Мы внесли небольшие улучшения в API
HorizontalPageIndicator
и его документацию. ( I60efc ) - Мы обновили
ColorScheme
, чтобы сделать его неизменяемым, что сделало отдельные обновления цветов менее эффективными, но сделало более эффективным более частое использование цветов. Причина этого изменения заключается в том, что большинство приложений не будут использовать обновление отдельных цветов в качестве основного варианта использования. Это все еще возможно, но при этом потребуется больше перекомпоновок, чем раньше. В свою очередь, мы значительно уменьшим количество государственных подписок на весь материальный код и повлияем на стоимость инициализации и времени выполнения для более стандартных вариантов использования. ( Ibc2d6 ) - Обновлены API-интерфейсы
ToggleButton
иSplitToggleButton
позволяющие настраивать отключенные цвета. Кроме того, токены Material Design теперь используются для значений цвета и типографики. ( Если087c ) - Обновлены цвета фона изображения кнопки для использования жетонов Material Design. ( Иба215 )
- Мы изменили компоненты
Checkbox
,Switch
иRadioButton
чтобы они были доступны только для отображения, удалив обработку щелчков. Ожидается, что эти компоненты будут использоваться в(Split)ToggleButton
, который обрабатывает щелчок, поэтому теперь компоненты более четко обозначаются как предназначенные только для отображения (и не предназначены для автономного использования на Wear). ( I2322e )
Исправления ошибок
- Мы добавили токены для значений длительности и замедления движения в Wear Compose Material 3. ( I437cd )
- Мы исправили ошибку в
ToggleButton
,SplitToggleButton
,Checkbox
,Switch
иRadioButton
чтобы объявления о доступности не повторялись (ранее семантические роли дублировались). ( Ica281 ) - Мы удалили слой MaterialCore для
CompactButton
чтобы повысить производительность. ( 7902858 )
Версия 1.0.0-альфа15
15 ноября 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha15
. Версия 1.0.0-alpha15 содержит эти коммиты.
Изменения API
- Мы переименовали
SwipeToDismissBox
базового уровня вBasicSwipeToDismissBox
. Это делает различие между компонентом уровня Foundation иSwipeToDismissBox
уровня Material3. Последний извлекает цвета изMaterialTheme
для использования в скримах и делегирует оставшуюся реализациюBasicSwipeToDismissBox
. ( Ибекфк )
Исправления ошибок
- Мы удалили слой Material-Core для кнопки Material3, чтобы улучшить производительность. ( I55555 )
Версия 1.0.0-альфа14
18 октября 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha14
. Версия 1.0.0-alpha14 содержит эти коммиты.
Изменения API
- Мы удалили параметр
indicatorStyle
из Material3HorizontalPageIndicator
— вместо этого он будет следовать форме экрана устройства (линейной или круглой). ( I83728 ) - Мы отделили цвета для
SplitToggleButton
от цветов дляToggleButton
, добавив новый классSplitToggleButtonColors
. ( I78bee )
Версия 1.0.0-альфа13
4 октября 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha13
. Версия 1.0.0-alpha13 содержит эти коммиты.
Изменения API
- Мы добавили необязательное поле «Субтитры» в
TitleCard
. ( Ифк45а ) - Мы добавили цветовые токены Material Design для
TextButton
. ( I769dc )
Версия 1.0.0-альфа12
20 сентября 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha12
. Версия 1.0.0-alpha12 содержит эти коммиты.
Изменения API
- Мы обновили
IconButton
для использования токенов Material Design. ( I3f137 ) - Мы обновили
IconToggleButton
для использования токенов Material Design. ( I7d263 ) - Мы обнародовали конструкторы
CheckboxColors
,RadioButtonColors
,SwitchColors
. ( I82b73 )
Версия 1.0.0-альфа11
6 сентября 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha11
. Версия 1.0.0-alpha11 содержит эти коммиты.
Исправления ошибок
- Мы обновляем типографику для карточек Material3 до
TitleMedium
. ( I597bd ) - Мы обновили типографику и выравнивание для
ListHeader
иListSubheader
Material3. ( Ib5ceb )
Версия 1.0.0-альфа10
23 августа 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha10
. Версия 1.0.0-alpha10 содержит эти коммиты.
Новые возможности
- Добавьте
HorizontalPageIndicator
в библиотеку Wear Material3. ( Ифи99 )
Изменения API
- Обновите код кнопок, чтобы использовать токены дизайна Material3. ( I92fe4 )
- Объявление API-интерфейсов Wear Material 3 Stepper и Slider экспериментальными, поскольку детали пользовательского интерфейса все еще дорабатываются. ( I84d54 )
- Мы удалили размеры
ExtraSmall
из круглыхTextButton
иTextToggleButton
, поскольку этот размер применяется только кIconButton
. ( Ibc7d5 )
Исправления ошибок
- Мы обновили руководство по типографике для TextToggleButton, чтобы использовать LabelLarge для LargeButtonSize ( Ib10fa ).
- Мы обновили руководство по типографике для TextButton, чтобы использовать LabelLarge для LargeButtonSize ( I8f3a7 ).
- Для обеспечения доступности мы установили минимальное значение касания карты на уровне 48 dp. ( Ieb9b1 )
- Добавьте AppCard с демо-изображением, удалив AppCard с демо-изображением в фоновом режиме ( Id735f ).
- Исправлена ошибка в круглых кнопках, из-за которой модификаторы не были правильно связаны. ( I5e162 )
Версия 1.0.0-альфа09
9 августа 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha09
. Версия 1.0.0-alpha09 содержит эти коммиты.
Новые возможности
- Мы добавили
ToggleButton
для материала3 ( I6bed6 ).
Изменения API
- Мы включили аннотацию
FloatRange
в качестве ограничений API, о которых ранее говорилось в комментариях. ( Icb401 ) - Мы обновили типографику Wear Material3, чтобы она соответствовала последним рекомендациям Material3. ( I1bad6 )
Исправления ошибок
- Мы обновили цвета
Button
,IconButton
иTextButton
в соответствии с дизайном Material3. ( Ib2495 ) - Мы исправили видимость галочки в отключенном состоянии. ( Ib25bf )
Версия 1.0.0-альфа08
26 июля 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha08
. Версия 1.0.0-alpha08 содержит эти коммиты.
Новые возможности
- Мы добавили следующие элементы управления выбором для Material3 —
Switch
,Checkbox
,RadioButton
. ( Ib918c ) - Мы добавили
IconToggleButton
иTextToggleButton
в Material3, круглую кнопку-переключатель с одним слотом для значка и текста соответственно. Для разных размеровToggleButton
мы рекомендуем использоватьModifier.touchTargetAwareSize
с размерами, указанными в соответствующих кнопках переключения. ( I9f015 ) - Мы добавили
ListHeader
иListSubheader
к нашим компонентам Material3. ( Ибаефе ) - Мы добавили Material3
SwipeToDismissBox
, который вызывает новый FoundationSwipeToDismissBox
и предоставляет значения цвета по умолчанию из своей темы. ( I275fb ) - Мы добавили
InlineSlider
Material3 в Wear Compose. Это позволяет пользователям делать выбор из диапазона значений. Диапазон выбора отображается в виде полосы между минимальным и максимальным значениями диапазона, из которого пользователи могут выбрать одно значение.InlineSlider
идеально подходит для настройки таких параметров, как громкость или яркость. ( I7085f )
Изменения API
- Мы обновили тему «Фигуры в Wear Material 3», чтобы использовать ее на основе
RoundedCornerShape
вместо Shape. ( Идб133 ) - Мы сделали константы высоты для Button общедоступными ( Idbfde ).
- Обновлены файлы API для подавления аннотаций совместимости ( I8e87a , b/287516207 ).
- Мы обновили
InlineSliderColors
в Wear Compose Material 3, чтобы иметь открытый конструктор и общедоступные свойства. ( I6b632 ) - Мы обновили все цветовые классы в Wear Compose Material 3, чтобы иметь общедоступные конструкторы и общедоступные свойства. ( I17702 )
- Мы сделали константы горизонтального и вертикального заполнения Button общедоступными. ( Ieeaf7 )
Исправления ошибок
- Кнопка теперь будет регулировать свою высоту, чтобы вместить контент, который увеличился из-за больших шрифтов для обеспечения доступности, когда это необходимо ( Iaf302 ).
- Мы обновили несколько демонстрационных версий Button для решения проблем с доступностью. ( I61ce9 )
-
Stepper
иInlineSlider
теперь поддерживают повторные нажатия при длительном нажатии, так что вы можете быстро увеличивать/уменьшать значениеStepper
иInlineSlider
удерживая кнопки + или - ( I27359 ).
Версия 1.0.0-альфа07
21 июня 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha07
. Версия 1.0.0-alpha07 содержит эти коммиты.
Новые возможности
- Мы добавили компонент
Stepper
в нашу библиотеку Compose for Wear OS Material 3. Это похоже на предыдущую версию Material, но по умолчанию не учитывает семантику диапазона, согласно отзывам разработчиков. Мы предоставляемModifier.rangeSemantics
в тех случаях, когда требуется семантика диапазона. ( Ic39fd ) - Мы добавили
curvedText
в нашу библиотеку Compose for Wear OS Material 3. ( Ia8ae3 )
Исправления ошибок
- Мы обновили
wear.compose.foundation
, чтобы он стал API-зависимостьюwear.compose.material3
( I72004 , b/285404743 ).
Версия 1.0.0-альфа06
7 июня 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha06
. Версия 1.0.0-alpha06 содержит эти коммиты.
Исправления ошибок
- Мы обновили
TextButton
, чтобы использовать функцию расширенияtoDisabledColor
для корректных отключенных альфа-значений. ( I814c8 )
Версия 1.0.0-альфа05
24 мая 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha05
. Версия 1.0.0-alpha05 содержит эти коммиты.
Новые возможности
- Мы добавили
TextButton
в Material3, круглую кнопку с одним слотом для текста. Для разных размеровTextButton
мы рекомендуем использоватьModifier.touchTargetAwareSize
иExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
иLargeButtonSizeIcon
представленные вTextButtonDefaults
.TextButton
по умолчанию не имеет рамки и имеет прозрачный фон для действий с низким акцентом. Для действий, требующих особого внимания, используйтеfilledTextButtonColors
; для среднего выделения, выделенногоTextButton
, установите границу наButtonDefaults.outlinedButtonBorder
; в качестве золотой середины между обведенным и заполненным используйтеfilledTonalTextButtonColors
. ( I667e4 ) - Мы добавили
Card
,OutlinedCard
,AppCard
иTitleCard
в библиотеку Wear Compose Material3.AppCard
иTitleCard
также можно придать контурный вид с помощьюCardDefaults.outlinedCardColors
иCardDefaults.outlinedCardBorder
( I80e72 ).
Изменения API
- Мы переместили параметр метки кнопки в конец, чтобы поддерживать конечный синтаксис лямбда-выражений, и удалили параметр роли (поскольку его можно переопределить с помощью
Modifier.semantics
). КонструкторыButtonColors
теперь общедоступны. ( Ie1b6d )
Версия 1.0.0-альфа04
10 мая 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит эти коммиты.
Новые возможности
- Мы добавили
IconButton
в Material3, круглую кнопку с одним слотом для значка/изображения. Существует четыре варианта:IconButton
,FilledIconButton
,FilledTonalIconButton
иOutlinedIconButton
. Для разных размеровIconButton
мы рекомендуем использоватьModifier.touchTargetAwareSize
иExtraSmallButtonSize
,SmallButtonSize
,DefaultButtonSize
иLargeButtonSizeIcon
представленные вIconButtonDefaults
. Мы также предоставляемIconButtonDefaults.iconSizeFor
чтобы определить рекомендуемый размер значка для данного размера кнопки. ( I721d4 )
Версия 1.0.0-альфа03
19 апреля 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Изменения API
- Мы добавили компонент «Кнопка материала 3» — это наша кнопка в форме стадиона, которая раньше называлась «Чип» в библиотеке материалов Wear Compose (она была переименована в «Кнопка» для согласованности с библиотекой Compose Material 3). Кнопка по умолчанию имеет заполненный фон, и существуют варианты кнопок:
FilledTonal
(приглушенный фон), Outlined (прозрачный с тонкой рамкой) и Child (прозрачный фон и без рамки, используются для дополнительных действий с наименьшей заметностью). Круглые кнопки для простых значков и текстового содержимого появятся в будущем выпуске ( Ia6942 ).
Версия 1.0.0-альфа02
5 апреля 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Исправления ошибок
- Мы добавили
DefaultTextStyle
в Wear Compose Material 3, который по умолчанию устанавливает дляPlatformTextStyle.includeFontPadding
значение true (текущий параметр). Это позволит нам синхронизировать отключение заполнения шрифта по умолчанию с библиотеками Compose в будущем (см. Исправление заполнения шрифта в Compose для фона ). ( I7e461 )
Версия 1.0.0-альфа01
22 марта 2023 г.
Выпущен androidx.wear.compose:compose-material3:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
Material 3 — это следующая эволюция Material Design, включающая обновленные темы и переработанные компоненты. Material 3 на Wear Compose разработан с учетом совместимости с библиотекой Material 3 Compose на Android. Этот первый альфа-релиз содержит ранние функциональные реализации следующего:
Мы продолжим разработку Wear Material (
androidx.wear.compose:compose-material
) и Wear Material 3 (androidx.wear.compose:compose-material3
) параллельно. В будущих выпусках Material3 набор виджетов будет расширен, включив в него другие знакомые компоненты из Compose for Wear OS, такие как кнопки, средства выбора и ползунки.Библиотеки Wear Material и Wear Material 3 являются взаимоисключающими, и их не следует смешивать в одном приложении, прежде всего потому, что они ссылаются на разные темы, что может привести к неожиданным несоответствиям.
Wear Compose версии 1.5
Версия 1.5.0-альфа02
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 )
Исправления ошибок
- Мы исправили ошибку, из-за которой поворотная прокрутка теперь отключена в
ScalingLazyColumn
когда для флагаuserScrollEnabled
установлено значениеfalse
. ( I490ab , б/360295825 ) - Мы исправили ошибку, устраняющую непредвиденное вертикальное заполнение изогнутого текста. Высота изогнутого текста теперь более точно соответствует фактическому пространству, используемому текстом. Обратите внимание, что это может привести к поломке тестов скриншотов, включающих изогнутый текст ( Iaa6ef ).
- Мы вернули исправление ошибки в
Dialog
где обратный вызовonDismissRequest
вызывался, когдаshowDialog
было установлено значение false, поскольку в некоторых случаях это приводило к многократному вызовуonDismissRequest
. ( I64656 )
Версия 1.5.0-альфа01
4 сентября 2024 г.
Выпущен androidx.wear.compose:compose-*:1.5.0-alpha01
. Версия 1.5.0-alpha01 содержит эти коммиты .
Изменения API
- Мы добавили новый
LazyColumn
в библиотеку Wear Compose Foundation со связанными API-интерфейсамиLazyColumnState
иLazyColumnScope
. Это служит основой для создания настраиваемых эффектов масштабирования и морфинга с помощью Wear Compose. ( Ib3b22 ) - Мы добавили индексированную версию
itemsIndexed
вLazyColumnScope
как часть нового APILazyColumn
. ( Ib4a57 ) - Мы добавили модификаторы
LazyColumn
для поддержки масштабирования и морфинга. ( Ie229a ) -
HierarchicalFocusCoordinator
повышен до стабильной версии. ( I31035 ) - Мы добавили поддержку межбуквенного интервала в изогнутом тексте. ( I3c740 )
- В
CurvedLayout.curvedComposable
добавлен параметрrotationLocked
, позволяющий остановить вращение компонентов. ( I66898 ) - Временный API
LocalUseFallbackRippleImplementation
из износного материала и износного материала3 был удален ( 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.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-бета03
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-бета02
29 мая 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-beta02
. Версия 1.4.0-beta02 содержит эти коммиты .
Исправления ошибок
- Мы увеличили ширину границы, передаваемой программам чтения с экрана из изогнутого текста, чтобы устранить проблемы с усечением ( Id865f ).
- Мы ограничили границу
HorizontalPageIndicator
, который передавался программам чтения с экрана — раньше индикатор занимал весь экран ( Id8d7a ).
Версия 1.4.0-бета01
14 мая 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-beta01
. Версия 1.4.0-beta01 содержит эти коммиты .
В выпуске Compose for Wear OS 1.4-beta01 указано, что этот выпуск библиотеки является полнофункциональным, а API заблокирован (кроме тех случаев, когда он помечен как экспериментальный). Wear Compose 1.4 включает в себя следующие новые функции:
- Мы добавили
Modifier.rotaryScrollable
, новый модификатор, который соединяет вращающиеся события с прокручиваемыми контейнерами, позволяя пользователям прокручивать с помощью заводной головки или вращающегося безеля на устройстве Wear OS. Кроме того,ScalingLazyColumn
иPicker
теперь по умолчанию поддерживают поворотный ввод. Используйте параметрrotaryScrollableBehavior
, чтобы настроить поведение прокрутки или привязки. Для поведения привязки рекомендуется обеспечить привязку через параметрflingBehavior
, а также для сенсорной прокрутки. -
SwipeDismissableNavHost
теперь предоставляет анимацию входа для переходов внутри приложения. -
PositionIndicator
теперь отображается по умолчанию при первом отображении экрана. -
SelectableChip
иSplitSelectableChip
были добавлены как вариантToggleChip
— используйте их сRadioButton
чтобы обеспечить выбираемую семантику вместо переключаемой семантики для обеспечения доступности. -
ListHeader
теперь поддерживает регулировку высоты, когда содержимому требуется дополнительная высота для размещения шрифтов большого размера.
Исправления ошибок
- Мы исправили ошибку, из-за которой выбираемые фишки объявляли двойное нажатие для переключения, если они уже выбраны. ( I7ed88 )
Версия 1.4.0-альфа08
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 ) - Мы внесли дополнительные изменения в ротационный API: переименовали
RotaryScrollableLayoutInfoProvider
вRotarySnapLayoutInfoProvider
(поскольку этот провайдер нужен только для ротации с привязкой); изменил тип параметраsnapOffset
вRotaryScrollableDefaults.snapBehavior snapOffset
с Int на Dp. ( Иддебе ) - Мы переименовали параметр
clickInteractionSource
вSplitSelectableChip
containerInteractionSource
. ( Ia8f84 ) - Мы обновили имена параметров обратного вызова щелчка для
SplitSelectableChip
— сonClick
наonSelectionClick
и сonBodyClick
наonContainerClick
. ( я32237 )
Исправления ошибок
- Мы обновили горизонтальное отступы для
PositionIndicator
до 2dp (было 5dp), чтобы исправить ошибку, при которойPositionIndicator
(полоса прокрутки) перекрывал прокручиваемый контент. Обратите внимание, что это изменение, как ожидается, приведет к поломке существующих снимков экрана, включающихPositionIndicator
из-за изменения заполнения. ( I57472 ) - Мы улучшили документацию для нового роторного API, описав различия между поворотными устройствами с низким и высоким разрешением. ( I63abe )
- Мы устранили исключение выхода за пределы диапазона в
SwipeDismissableNavHost
, которое могло сработать, когда интерполированные значения альфа были меньше нуля. ( Ib75a1 , б/335782510 )
Версия 1.4.0-альфа07
17 апреля 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha07
. Версия 1.4.0-alpha07 содержит эти коммиты .
Изменения API
- Мы добавили
Modifier.rotary
, новый модификатор, который соединяет события вращения с прокручиваемыми контейнерами, позволяя пользователям прокручивать с помощью заводной головки или вращающегося безеля на своем устройстве Wear OS. Кроме того,ScalingLazyColumn
и Picker теперь по умолчанию поддерживают поворотный ввод с новыми перегрузками, которые включают параметрrotaryBehavior
для указания конфигурации прокрутки или привязки. Если параметрrotaryBehavior
настроен на привязку, рекомендуется также обеспечить привязку через параметрflingBehavior
для сенсорной прокрутки. ( I2ef6f ) - Источники
NestedScroll
Drag и Fling заменяютсяUserInput
иSideEffect
, чтобы обеспечить расширенное определение этих источников, которые теперь включают анимацию (Side Effect) и колесо мыши и клавиатуру (UserInput). ( I40579 ) - Мы добавили
SelectableChip
иSplitSelectableChip
чтобы сделать различие между переключаемыми элементами управления, такими какSwitch/Checkbox
, и выбираемыми элементами управления, такими какRadioButton
. Это заменяет ранее добавленные перегрузкиToggleChip/SplitToggleChip
параметрамиselectionControl
. ( Ia0217 ) - Модификатор видимости
IndeterminateStrokeWidth
вProgressIndicatorDefaults
обновлен до общедоступного. ( I5b5a4 )
Версия 1.4.0-альфа06
3 апреля 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha06
. Версия 1.4.0-alpha06 содержит эти коммиты .
Исправления ошибок
- Мы добавили внутренний проект поддержки вращения в рамках более масштабной работы по переносу режима вращения в AndroidX от Horologie. ( I617d1 )
- Мы добавили внутренний проект поддержки тактильных ощущений в рамках более масштабной работы по переносу режима вращения в AndroidX от Horologie. ( I5568a )
Версия 1.4.0-альфа05
20 марта 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha05
. Версия 1.4.0-alpha05 содержит эти коммиты .
Изменения API
- Мы сделали свойства
initialCenterItemIndex
иinitialCenterItemScrollOffset
объектаScalingLazyListState
общедоступными. ( I0c616 ) - Мы сделали общедоступным
FullScreenStrokeWidth
изProgressIndicatorDefaults
. ( Ибеа23 )
Исправления ошибок
- Мы улучшили производительность
PositionIndicator
, уменьшив количество вызововlayoutInfo
изScalingLazyColumn
. ( Idc83d )
Версия 1.4.0-альфа04
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-альфа03
21 февраля 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha03
. Версия 1.4.0-alpha03 содержит эти коммиты.
Изменения API
- Обертка
Modifier.inspectable
устарела. Этот API создаст больше недействительных модификаторов, чем необходимо, поэтому его использование теперь не рекомендуется. Разработчикам рекомендуется реализовать методinspectableProperties()
вModifierNodeElement
если они хотят предоставить свойства модификатора инструментам. ( Ib3236 )
Исправления ошибок
- Мы исправили ошибку документации для аннотаций
WearPreview*
. ( Ид526d )
Версия 1.4.0-альфа02
7 февраля 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha02
. Версия 1.4.0-alpha02 содержит эти коммиты.
Исправления ошибок
- Мы исправили ошибку в функции смахивания для раскрытия, из-за которой можно было взаимодействовать с совершенным действием над одним элементом (и отменять его), начав смахивать другой элемент. ( Ide059 ).
- Мы обновили
ListHeader
для поддержки регулировки высоты, когда содержимому требуется дополнительная высота для размещения шрифтов большого размера. ( I7290c , б / 251166127 )
Версия 1.4.0-альфа01
24 января 2024 г.
Выпущен androidx.wear.compose:compose-*:1.4.0-alpha01
. Версия 1.4.0-alpha01 содержит эти коммиты.
Новые возможности
- Мы добавили анимацию входа в
SwipeDismissableNavHost
для переходов внутри приложения. ( cfeb79a ). -
PositionIndicator
теперь отображается по умолчанию при первом отображении экрана. Это изменение было введено для того, чтобы обеспечить соответствие рекомендациям по качеству износа. К сожалению, это означает, что тесты снимков экрана необходимо будет обновить на экранах, которые включаютPositionIndicator
, посколькуPositionIndicator
ранее не отображался. ( 419cef7 )
Изменения API
- Мы добавили новый API-интерфейс Ripple в библиотеки
wear:compose-material
иwear:compose-material3
который заменяет устаревшийrememberRipple
. Также добавляется временныйCompositionLocal
,LocalUseFallbackRippleImplementation
, чтобы вернуть компоненты Material к использованию устаревших APIrememberRipple/RippleTheme
. Это будет удалено в следующем стабильном выпуске и предназначено только для временного облегчения миграции в тех случаях, когда вы предоставляете собственныйRippleTheme
. Посетите сайт Developer.android.com для получения информации о миграции и дополнительной информации об этом изменении. ( af92b21 ) - Мы обновили
ColorScheme
, чтобы сделать его неизменяемым, что сделало отдельные обновления цветов менее эффективными, но сделало более эффективным более частое использование цветов. Причина этого изменения заключается в том, что большинство приложений не будут использовать обновление отдельных цветов в качестве основного варианта использования. Это все еще возможно, но при этом потребуется больше перекомпоновок, чем раньше. В свою очередь, мы значительно уменьшим количество государственных подписок на весь код материала и повлияем на стоимость инициализации и времени выполнения для более стандартных вариантов использования. ( f5c48b7 ) - Компоненты Wearmaterial и Wearmaterial3, предоставляющие
MutableInteractionSource
в своих API, были обновлены и теперь предоставляютMutableInteractionSource
с нулевым значением, значение которого по умолчанию равно нулю. Здесь нет никаких семантических изменений: передача 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 содержит эти коммиты .
Исправления ошибок
- Мы исправили ошибку в функции смахивания для раскрытия, из-за которой можно было взаимодействовать с совершенным действием над одним элементом (и отменять его), начав смахивать другой элемент. ( Иде059 )
Версия 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
используют этот новый угловой радиус, чтобы избежать обрезки содержимого по углам Chip и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
, чтобы использовать радиус закругленных углов 26dp, и теперь он будет использоваться Chip иToggleChip
. Это изменение необходимо для поддержки регулировки высоты, когда содержимому требуется дополнительная высота для размещения шрифтов большого размера — в противном случае существующая форма стадиона обрезает часть текстового содержимого.Это изменение может привести к сбоям в скриншотных тестах. ( I2e6ae )
Версия 1.3.0-бета02
13 декабря 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-beta02
. Версия 1.3.0-beta02 содержит эти коммиты.
Исправления ошибок
- Мы восстановили предполагаемое движение смахивания в
BasicSwipeToDismissBox
. В предыдущей версии это было изменено, так что часть перехода при скольжении происходила, когда палец касался экрана. ( ID8e76 )
Версия 1.3.0-бета01
15 ноября 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-beta01
. Версия 1.3.0-beta01 содержит эти коммиты.
В выпуске Compose for Wear OS 1.3-beta01 указано, что этот выпуск библиотеки является полнофункциональным, а 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
в Material, которые соответствуют рекомендуемому руководству по пользовательскому интерфейсу дляCard
иChip
. Он также имеет поддержку отмены вторичного действия. -
DefaultTextStyle
теперь отключает заполнение шрифта, чтобы обеспечить единообразие на платформе Android. -
Chip
иToggleChip
теперь регулируют свою высоту, чтобы разместить контент, который увеличился из-за больших шрифтов для обеспечения доступности. -
PositionIndicator
теперь имеет отдельные спецификации анимации для анимации постепенного появления, исчезновения и изменения положения. Из соображений производительности мы рекомендуем отключать постепенное появление и изменение положения при использовании с прокручиваемыми списками. -
ExpandableStateMapping
предоставляет новый способ созданияExpandableStates
, когда их необходимо создавать по требованию и не обязательно с использованием области@Composable
. -
Placeholder
теперь позволяет выполнить сброс, если контент больше не находится в готовом состоянии. Кроме того, настройка уменьшения движения теперь применяется к эффекту мерцания и стирающему движению наPlaceholder
.
Известные проблемы
-
PositionIndicator
изначально не отображается при первом отображении экрана. Мы намерены внести изменения в раннюю альфа-версию 1.4, чтобы она изначально отображалась, но без какой-либо анимации.
Изменения API
- Мы переименовали
SwipeToDismissBox
базового уровня вBasicSwipeToDismissBox
. Это делает различие между компонентом уровня Foundation иSwipeToDismissBox
уровня материала более четким. Последний извлекает цвета изMaterialTheme
для использования в скримах и делегирует оставшуюся реализациюBasicSwipeToDismissBox
. ( Ибекфк ) - Мы пометили
rememberExpandableStateMapping
как экспериментальный и улучшилиexpandableItem
. ( I5f6bc ) - Мы заменили класс
SwipeToRevealAction
в API-интерфейсах MaterialSwipeToReveal
Card и Chip на API-интерфейс на основе слотов, используя составные элементыSwipeToRevealPrimaryAction
,SwipeToRevealSecondaryAction
иSwipeToRevealUndoAction
. См. пример кода для примеров использования нового API. ( Ia8943 ) - Мы заменили флаги анимации
PositionIndicator
параметрамиAnimationSpec
. Отдельные анимации можно отключить, передавsnap
в качествеAnimationSpec
. ( I6c523 )
Исправления ошибок
- Мы исправили ошибку, вызванную ограниченным изогнутым текстом при ограниченном размере ( I50efe ).
- Мы устранили потенциальный сбой NaN, связанный с
curvedComposable
( I970eb ). - Мы отменили удаление анимации выделения изменения позиции в
PositionIndicator
. ( Ieb424 ) - Мы удалили слой ядра материала для материала Chip, чтобы улучшить его производительность. ( Если2dcb )
Версия 1.3.0-альфа08
18 октября 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha08
. Версия 1.3.0-alpha08 содержит эти коммиты.
Изменения API
- Мы добавили отдельные флаги в перегрузки
PositionIndicator
для управления различными анимациями:showFadeInAnimation
,showFadeOutAnimation
иshowPositionAnimation
. Предыдущий API устарел и перенаправляет вызовы на новый. По соображениям производительности и согласованности пользовательского интерфейса, когдаPositionIndicator
используется с прокручиваемым списком, мы рекомендуем отключать флагиshowFadeInAnimation
иshowPositionAnimation
. ЕслиPositionIndicator
используется как самостоятельный индикатор, например, для изменения объема, то мы рекомендуем включить все 3 анимации. ( I44294 ) - Мы объявили устаревшими Material
SwipeToDismissBoxState
,SwipeToDismissValue
иedgeSwipeToDismiss
после переноса функции Swipe-to-Dismiss вwear.compose.foundation
. Пожалуйста, замените эквивалентамиwear.compose.foundation
. ( Iee8c9 )
Исправления ошибок
- Мы обновили базовые профили для библиотек износа, материалов и навигации. ( Идб060 )
- Мы отменили изменение поведения
PositionIndicator
введенное в предыдущем CL, так чтоPositionIndicator
анимировался при первоначальном отображении экрана. Мы намерены внести аналогичное изменение в раннюю альфа-версию 1.4, чтобы изначальноPositionIndicator
отображался, но без какой-либо анимации. ( I41843 ) - Мы устранили некоторые проблемы с производительностью в
PositionIndicator
. ( I1c654 , б/302399827 ) - Мы оптимизировали производительность реализации по умолчанию поставщика состояний исследования касания, чтобы она полагалась на
State<Boolean>
а не на производное состояние. ( Ieec4d ) - Мы установили прямоугольники
systemGestureExclusion
для Android 13 и выше. ( Ib1f4b )
Версия 1.3.0-альфа07
4 октября 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha07
. Версия 1.3.0-alpha07 содержит эти коммиты.
Изменения API
- Мы добавили в
PositionIndicator
отдельные флаги для управления различными анимациями:showFadeInAnimation
,showFadeOutAnimation
иshowPositionAnimation
. Предыдущий API устарел и перенаправляет вызовы на новый. По соображениям производительности и согласованности пользовательского интерфейса, когдаPositionIndicator
используется с прокручиваемым списком, мы рекомендуем отключать флагиshowFadeInAnimation
иshowPositionAnimation
. ЕслиPositionIndicator
используется как самостоятельный индикатор, например, для изменения объема, то мы рекомендуем включить все 3 анимации. ( Ia2d63 )
Исправления ошибок
- Мы улучшили свайп, чтобы показать движение, добавив анимацию затухания к основному тексту действия и затемнив второстепенное действие или изменив масштаб значка при полном раскрытии свайпа. ( Ib7223 )
- Рекомендуется сделать действия «Проведите пальцем по экрану» доступными, и мы добавили настраиваемые действия по обеспечению специальных возможностей в наши примеры «Проведите пальцем по экрану». ( I42224 )
- Мы улучшили производительность
SwipeToDismissBox
, включая рефакторинг, чтобы гарантировать, что исходная логика не вызовет рекомпозицию.SwipeToDismissBox
теперь отображается в полноэкранном режиме. ( Ie0aa2 ) - Мы исправили ошибку, когда
PositionIndicator
некорректно исчезал. ( I2091a ) - Улучшена производительность
PositionIndicator
за счет оптимизации рекомпозиции. Новые флаги для управления анимацией (fadeIn
,fadeOut
иpositionChange
) были добавлены впоследствии (см. Изменения API) ( Ifac7d ). - Мы добавили тесты Microbenchmark для
PositionIndicator
( Idf875 ).
Версия 1.3.0-альфа06
20 сентября 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha06
. Версия 1.3.0-alpha06 содержит эти коммиты.
Исправления ошибок
- Мы добавили поддержку
Modifier.edgeSwipeToDismiss
с помощьюSwipeToReveal
. ( I95774 , б / 293444286 ) - Мы добавили образцы для материалов
SwipeToRevealChip
иSwipeToRevealCard
. ( Ieb974 ) - Мы обновили базовые профили для библиотек Wear Compose Foundation и Material. ( I1dd1f )
Версия 1.3.0-альфа05
6 сентября 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha05
. Версия 1.3.0-alpha05 содержит эти коммиты.
Исправления ошибок
- Мы добавили обработку в функции «Проведите пальцем по экрану», чтобы можно было пролистывать только один элемент за раз. ( I3cd7a )
- Улучшена документация
ScalingLazyColumnDefaults
чтобы лучше соответствовать ее реальному поведению. ( I886d3 )
Версия 1.3.0-альфа04
23 августа 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha04
. Версия 1.3.0-alpha04 содержит эти коммиты.
Новые возможности
- Мы добавили поддержку отмены для вторичного действия
SwipeToReveal
. ( I7a22d )
Изменения API
- Добавьте
HorizontalPageIndicator
в библиотеку Wear Material3. ( Ифи99 ) - Обновлен инструмент предварительного просмотра Wear Compose для использования библиотеки
androidx.wear.tooling.preview
. ( Ib036e )
Исправления ошибок
- Исправлена ошибка в круглых кнопках, из-за которой модификаторы не были правильно связаны. ( I5e162 )
Версия 1.3.0-альфа03
9 августа 2023 г.
Выпущен androidx.wear.compose:compose-*:1.3.0-alpha03
. Версия 1.3.0-alpha03 содержит эти коммиты.
Изменения API
- Мы добавили два новых компонента в Material для реализации
SwipeToReveal
с картами и чипами. Эти составные элементы соответствуют рекомендуемому руководству по пользовательскому интерфейсу для компонента и упрощают разработчикам реализациюSwipeToReveal
с существующими компонентами в Wear Material. ( I7ec65 ) - Мы включили аннотации
FloatRange
в качестве ограничений API, которые ранее были указаны в комментариях. ( Icb401 )
Исправления ошибок
- Мы переместили первоначальную логику прокрутки
ScalingLazyColumn
внутрьonGloballyPositioned()
. ( Ic90f1 ) - Теперь мы используем
drawWithCache
вPositionIndicator
,ProgressIndicator
иSelectionControls
для оптимизации распределения штрихов. ( I5f225 , б/288234617 ) - Мы исправили видимость галочки в отключенном состоянии. ( Ib25bf )
- Мы обновили
Placeholder
, чтобы можно было сбросить его и отобразить заполнитель, если контент больше не находится в готовом состоянии. ( Ибд820 ) - Мы внесли некоторые исправления в ненадежные тесты
Placeholder
( Idb560 ).
Версия 1.3.0-альфа02
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 , б / 287516207 )
- Мы сделали константы высоты для
Chip
,CompactChip
иToggleChip
общедоступными ( Idbfde ). - Мы сделали горизонтальные и вертикальные отступы для
Chip
иCompactChip
общедоступными. ( Ieeaf7 ) - Добавлена возможность отключения обработки пролистывания в
SwipeDismissableNavHost
с помощью нового параметраuserSwipeEnabled
. ( Id2a0b , б/230865655 ) - Мы обновили библиотеку навигации Wear Compose, чтобы использовать новый
SwipeToDismissBox
из Wear Compose Foundation. ( I4ff8e )
Исправления ошибок
- Мы исправили ошибку z-порядка, из-за
expandedItem
не отображал правильное содержимое после нажатия кнопки, когда у нее есть кнопки. ( I1899d , р/289991514 ) - Улучшите обработку фокуса
SwipeToDismissBox
(и, следовательно,SwipeDismissableNavHost
) с помощьюHierarchicalFocusCoordinator
( I45362 , b/277852486 ). - Мы исправили обработку жестов в
SwipeableV2
. ( I89737 ) - Мы завершили работу над базовыми профилями для нашей версии 1.2. ( Ид5740 )
- После миграции
SwipeToDismissBox
в Foundation реализация материалаSwipeToDismissBox
теперь пересылается в Foundation и предоставляет значения цвета по умолчанию из своей темы. ( If8451 ). - Мы добавили семантику заголовка в
ListHeader
. ( Ic5420 ) -
Chip
иToggleChip
теперь будут корректировать свою высоту, чтобы вместить контент, который увеличился из-за больших шрифтов для обеспечения доступности, когда это необходимо. ( Iaf302 ) - Исправлена ошибка в семантической роли сенсорной области
SplitToggleChip
для обеспечения доступности. ( Ieed3a ) - Настройка уменьшения движения теперь отключает эффект мерцания и стирания заполнителей. ( I91046 )
-
Stepper
иInlineSlider
теперь поддерживают повторные нажатия при длительном нажатии, так что вы можете быстро увеличивать/уменьшать значениеStepper
иInlineSlider
удерживая кнопки + или –. ( I27359 )
Версия 1.3.0-альфа01
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
, чтобы он стал API-зависимостьюwear.compose.material
( I72004 , b/285404743 ). - Мы исправили ошибку в
SwipeToDismissBox
. Ключи фона и содержимого теперь передаются в блок памяти, поэтому при изменении содержимого или фона создаются новые модификаторы. ( Ib876c , б / 280392104 ) - Мы обновили
TimeText
, чтобы использовать локаль при выборе формата для 12- или 24-часового времени. ( Если4а3д ) - Мы исправили несоответствие в параметрах
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 for 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-бета02
7 июня 2023 г.
Выпущен androidx.wear.compose:compose-*:1.2.0-beta02
. Версия 1.2.0-beta02 содержит эти коммиты.
Новые возможности
- Мы добавили новую экспериментальную переменную
LocalReduceMotion
CompositionLocal
, которая отключает масштабирование и затухание вScalingLazyColumn
. ( I58024 )
Исправления ошибок
- Мы обновили базовые профили для основы изнашиваемого материала и библиотек материалов ( I4725d ).
- Мы исправили несоответствие значений по умолчанию для параметров
SwipeToDismissBox
contentScrimColor
( I2d70f ). - Мы исправили значение по умолчанию
DefaultTextStyle
используемое для параметраIncludeFontPadding
( I737ed ).
Версия 1.2.0-бета01
24 мая 2023 г.
Выпущен androidx.wear.compose:compose-*:1.2.0-beta01
. Версия 1.2.0-beta01 содержит эти коммиты.
Что нового в Compose for Wear OS 1.2
В выпуске Compose for Wear OS 1.2-beta01 указано, что этот выпуск библиотеки является полнофункциональным, а API заблокирован (кроме тех случаев, когда он помечен как экспериментальный). Wear Compose 1.2 включает в себя следующие новые функции:
-
expandableItem
expandableItems
— это два новых компонентаFoundation
, которые поддерживают расширение элементов внутриScalingLazyColumn
. ИспользуйтеexpandableItem для одногоexpandableItem
элемента, например текста, в котором указано количество строк. ИспользуйтеexpandableItems для группы расширяемых элементовexpandableItems
expandableButton
чтобы упростить создание кнопки, которая сворачивается после раскрытия содержимого. -
HierarchicalFocusCoordinator
— этот экспериментальный компонент позволяет помечать поддеревья композиции как включенные или отключенные. -
Picker
— API теперь включаетuserScrollEnabled
, чтобы контролировать, активно ли средство выбора для прокрутки пользователем. -
PickerGroup
— новый компонент для совместной работы с несколькими сборщиками. Он управляет фокусом между средствами выбора с помощью APIHierarchicalFocusCoordinator
и обеспечивает автоматическое центрирование элементов средства выбора. -
Placeholder
— мы обновили анимацию мерцания и выключения. Эффект вытеснения теперь применяется сразу же, когда контент готов. -
ScalingLazyColumn
— мы перенеслиScalingLazyColumn
и связанные с ним классы изandroidx.wear.compose.material.ScalingLazyColumn
вandroidx.wear.compose.foundation.lazy.ScalingLazyColumn
. Пожалуйста, обновите, чтобы использовать версиюFoundation.Lazy
. -
SwipeToReveal
— мы добавили экспериментальную поддержку смахивания для раскрытия как средства доступа к дополнительным действиям, дополняя существующий шаблон «длительного нажатия». -
Stepper
— теперь имеет перегрузку с дополнительным параметромenableRangeSemantics
для облегчения отключения семантики диапазона по умолчанию. -
Previews
— мы добавили следующие пользовательские аннотации для предварительного просмотра компонуемых объектов на экранах Wear:WearPreviewSmallRound
позволяет просматривать компонуемый объект на небольшом круглом устройстве;WearPreviewLargeRound
позволяет просмотреть компоновку на большом круглом устройстве;WearPreviewSquare
позволяет просмотреть компоновку на квадратном устройстве. Кроме того, следующие аннотации и аннотации с несколькими предварительным просмотром:WearPreviewFontScales
просматривает компонуемые элементы на изнашиваемом устройстве с несколькими размерами шрифта, аWearPreviewDevices
просматривает компонуемые элементы на разных устройствах износа. - Мы добавили
DefaultTextStyle
в Wear Compose, который по умолчанию присваивает свойствуPlatformTextStyle.includeFontPadding
значение true (это текущий параметр). Это позволит нам по умолчанию синхронизировать отключение шрифта с библиотеками Compose в ранней версии 1,3 альфа -версии - см. 1.2.0 -Alpha10 для получения дополнительной информации.
Новые возможности
- Мы добавили экспериментальную поддержку для отключенного масштабирования и анимации затухания при включении настройки Creat_Motion. ( I58024 )
Исправления ошибок
- Улучшенная документация для
angularWidthDp
вCurvedSize.kt
( IAB75C ) -
SwipeDismissableNavHost
теперь регистрирует предупреждение с потенциальными причинами пустого переходного стока. Это сделано для предотвращения неожиданных аварий, вызванных из -заIllegalArgumentException
, которое было брошено, когда обратный стол был пуст. ( I04A81 , B/277700155 )
Версия 1.2.0-Альфа10
10 мая 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha10
выпускается. Версия 1.2.0-Alpha10 содержит эти коммиты.
Новые возможности
- Мы добавили поддержку Swipe, чтобы показать, как средство доступа к вторичным действиям. Этот шаблон дополняет шаблон «длинной прессы», существующий способ, которым пользователь может раскрыть (разные) вторичные действия. ( I60862 )
Изменения API
- Мы добавили
RevealScope
к действию композиционные продукты вSwipeToReveal
, что дает доступ к смещению, при котором выявляются дополнительные действия. ( I3fd56 )
Исправления ошибок
- Исправлена проблема с тем, что
ScalingLazyColumn
застрял на Wear API 33 после Fling ( IC4599 ) - Мы добились некоторых улучшений производительности в
PositionIndicator
для сокращения Jank. ( I35e92 ) - Мы исправили ошибку в чипе и
CompactChip
где семантическая роль больше не была подготовлена кRole.Button
. ( I93F91 , B/277326264 )
Известные проблемы
Мы определили ошибку в Android Studio, которая вызывает сбой в предварительном просмотре при аннотировании с помощью @WearPreViewDevices и @WearpReviewFontscales - исправление планируется в ближайшее время. Обратите внимание, что другие аннотации предварительного просмотра износа работают, как предназначено в Android Studio Giraffe 2022.3.1 и выше.
В версии 1.2.0 -Alpha07 мы добавили DefaultTextStyle для износа, поддерживая существующее значение PlatfortTextStyle.includeFontPadding как true - для фона, см. Fix Padding в Compose . Мы будем изменять The DefaultTextStyle, чтобы отключить подкладку Font в ранней версии Alpha на 1,3, чтобы быть последовательными на всей платформе Android. Это будет решать некоторые случаи обрезки текста с большими размерами шрифтов, а также может повлиять на макеты экрана, так что экранные тесты нуждаются в обновлении. Например, с большими размерами шрифтов мы видим текстовое обрезку здесь:
- Это больше не присутствует, когда отключен шрифт:
Новая настройка может быть принята сейчас, переопределив типографику в вашей теме - см. Пример кода .
Версия 1.2.0-Alpha09
19 апреля 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha09
выпускается. Версия 1.2.0-Alpha09 содержит эти коммиты.
Изменения API
- Добавить
angularSizeDp
в APICurvedModifier
для установки угловой ширины в DP ( I89A52 )
Исправления ошибок
- У нас есть фиксированные проблемы с доступностью в наших демонстрациях Picker ( 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
, чтобы избежать дополнительных переобожений при вручную анимировать цвета с использованием состояния. ( I5d319 )
Версия 1.2.0-альфа07
22 марта 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha07
выпускается. Версия 1.2.0-alpha07 содержит эти коммиты.
Изменения API
- Мы перенесли расширяемые компоненты предмета (добавлены в 1.2.0-Alpha06) из материала в фундамент, поскольку они не имели значимой ссылки на
MaterialTheme
. ( IB0525 )
Исправления ошибок
- Мы исправили сбой, который произошел на экране с использованием
PickerGroup
, гарантируя, чтоPickerGroup
правильно обрабатывает фокус, когда нет Picker. Также добавлена поддержка прокрутки RSB в наших демонстрациях Sicker. ( IF8C19 ) - Мы улучшили диалоговые переходы - вступительный переход теперь более гладкий, чтобы соответствовать переходу Autro. ( IB5AF9 )
- Мы добавили по
DefaultTextStyle
для износа Compose, который поPlatformTextStyle.includeFontPadding
по умолчанию. Это позволит нам по умолчанию синхронизировать отключение подготовки шрифтов с библиотеками Compose в будущем - см. ( Fix Font Padding In Compose ) для фона. ( I2aee8 ) - Вернул зависимость предварительного просмотра
UpsideDownCake
через Complose, которая заблокировала издательские приложения в магазин Google Play. ( I6443d )
Версия 1.2.0-альфа06
8 марта 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha06
выпускается. Версия 1.2.0-alpha06 содержит эти коммиты.
Изменения API
- Добавьте компонент
CurvedBox
, который помещает компоненты друг на друга в изогнутом мире. ( I29200 ) - Добавлены расширяемые предметы (ы) - два новых компонента для поддержки либо группы расширяемых элементов в
ScalingLazyColumn
, либо расширяемый отдельный элемент, такой как текст, в котором расширяется количество строк. ( I95dd5 ) - Мы добавили следующие пользовательские аннотации для предварительного просмотра композиционных продуктов на экранах износа:
WearPreviewSmallRound
Предварительный просмотр композиции на небольшом круглом устройстве;WearPreviewLargeRound
Предварительно просмочает композицию на большом круглом устройстве;WearPreviewSquare
Предварительно просмотрите композицию на квадратном устройстве. Кроме того, следующие и многопрофильные аннотации:WearPreviewFontScales
Предварительно просмотрите композиции на износном устройстве с несколькими размерами шрифтов, в то время какWearPreviewDevices
предварительно просмочает композиции на разных устройствах износа. Чтобы использовать эти превью, вы должны использовать новейшую Android Studio (Giraffe Canary 6) или выше. Обратите внимание, что если эти аннотации не соответствуют вашей цели, предварительный просмотр все еще может использоваться и поддерживает дальнейшие настройки с помощью параметров. ( I397ff ) - Мы отметили
HierarchicalFocusCoordinator
как экспериментальный, в то время как он считается кандидатом, который будет перемещаться в библиотеки Core Compose, учитывая его широкую применимость. ( I3a768 )
Исправления ошибок
- Исправлена ошибка на
HierarchicalFocusCoordinator
, когда Lambda прошел для параметраfocusEnabled
, мы теперь правильно используем новый. ( ICB353 ) - Мы обновили цвет контента по умолчанию на фоне при использовании основных цветов в качестве фона в
Button
,CompactButton
,Chip
,CompactChip
иToggleButton
. Это улучшает контраст для доступности. ( I527cc )
Версия 1.2.0-альфа05
22 февраля 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha05
выпускается. Версия 1.2.0-alpha05 содержит эти коммиты.
Изменения API
- Обновлено API
PickerGroup
, чтобы позволить распространять ограничения MIN в композицию необязательно. Когда установлено как истинное, минимальные ограничения, передаваемые из родительского композиции, будут разрешены вPickerGroup
. Если установить как false,PickerGroup
сбросит минимальные ограничения. ( I3e046 ) - Мы добавили
animateScrollToOption
в API Picker, чтобы поддержать программную анимацию в конкретную опцию Sicker ( i6fe67 )
Исправления ошибок
- Мы обновили
HorizontalPageIndicator
для поддержки макетов справа налево. ( IA4359 ) - Добавлены тесты на скриншот для макета правого на лето в
HorizontalPageIndicator
( i6FBB8 ) - Добавлены дополнительные тесты в
SwipeDismissableNavHostTest
, который используетTestNavHostController
( i61d54 )
Версия 1.2.0-альфа04
8 февраля 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha04
выпускается. Версия 1.2.0-Alpha04 содержит эти коммиты.
Новые возможности
-
PickerGroup
для обработки нескольких сборщиков вместе с использованием API Focus. Он обрабатывает фокус между различными сборщиками, позволяет автоматической центрировке сборщиков на основе параметров и позволяет разработчикам изменять фокус между различными сборщиками при обработке событий из группы. В режиме TalkbackPickerGroup
обрабатывает фокус разговора, перемещая фокус на выбранного сборщика из группы. ( I60840 )
Изменения API
- Мы добавили перегрузку в Stepper с дополнительным параметром
enableRangeSemantics
, чтобы облегчить отключение семантики диапазона по умолчанию ( IA61D4 )
Исправления ошибок
- Позвольте
ScalingLazyColumn
быть вложенным на странице прокрутки горизонтали ( IEC3F8 , B/266555016 ) - Улучшение Stepper KDOCS и
StepperTest
Tests Clean-Up. ( 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
и более естественно, поскольку он не является самоуверенным материалом. Изменения сейчас происходят в подготовке к новой библиотеке Material3, над которой мы будем работать параллельно с существующей библиотекой материалов. ( I060E7 )
Следующие изменения являются частью миграции ScalingLazyColumn
от материала в Foundation.Lazy
:
- API
PositionIndicator
нацеленные наScalingLazyColumn
были устарели - пожалуйста, обновите ToFoundation.Lazy ScalingLazyColumn
. Дополнительно полеanchorType
было добавлено вScalingLazyListLayoutInfo
. ( I29d95 ) -
ScalingLazyColumn
был отмечен как устаревший в пакете Material Compose Compose ( I16D34 ) - Мы обновили модификатор
ScrollAway
, чтобы использоватьScalingLazyListState
из износа ComposeFoundation.Lazy
Lazy и установили перегрузку, которая взялаScalingLazyListState
из износа Compose Material. ( IFC42C ) - Мы обновили API диалога, чтобы использовать
ScalingLazyListState
изFoundation.Lazy
и установили перегрузки, в которых использовались материалScalingLazyListState
( IC8960 ) - Мы обновили API -интерфейсы Picker, чтобы использовать
ScalingParams
изFoundation.Lazy
и установили перегрузки, в которых использовалисьScalingParams
материала. ( Idc3d8 )
Исправления ошибок
- Мы исправили ошибку, которая вызвала ненужные переоборудования в
ScalingLazyListState.centerItemIndex
, гарантируя, что оно раздвигает обновления только в случае изменения значения ( IA9F38 ) - Мы улучшили производительность
SwipeToDismissBox
( i3933b ) - Добавлены эталонные тесты для
ScalingLazyColumn
в фундаменте Wear Compose ( IE00F9 ) - Мы обновили некоторые внутренние методы классов
ScalingLazyColumn
в материале, чтобы использовать их эквиваленты отFoundation.Lazy
( i38aab ) - Мы исправили некоторые проблемы в тестах сбора и добавили больше тестов для проверки прокрутки с смещением ( i6ac34 )
- Мы мигрировали демонстрации интеграции
ScalingLazyColumn
чтобы зависеть отFoundation.Lazy
ScalingLazyColumn
- Мы добавили дополнительные параметры
fromDate/toDate
к нашей демонстрацииDatePicker
( I961CD )
Версия 1.2.0-Alpha02
11 января 2023 г.
androidx.wear.compose:compose-*:1.2.0-alpha02
выпускается. Версия 1.2.0-Alpha02 содержит эти коммиты.
Изменения API
- Android Compose Compose Tests теперь запускают пропуски макета для каждого кадра при выполнении кадров, чтобы добраться до холостого хода (например, через
waitForIdle
). Это может повлиять на тесты, которые утверждают на отдельных кадрах анимации макета. ( I8ea08 , b/222093277 ) - Параметр
minLines
добавляется для износа текста для последовательного поведения сBasicText
( i24874 ) -
CompactChipTapTargetPadding
был обнародован, чтобы он появился в документации ( IF1E70 , B/234119038 )
Исправления ошибок
- Отключить мультиплатформенные сборки для пакетов
wear.compose
Packages ( IAD3D7 ) - Исправить KDOCS для
scrollToOption
( i6f9a0 ) -
PlaceholderState.rememberPlaceholderState()
обновлен для использованияrememberUpdatedState
state, чтобы штат обновит, еслиonContentReady
lambda. ( I02635 , B/260343754 ) - Мы исправили проблему с джадотизацией текста, замеченную в компоненте
Picker
, используя новую стратегию композиции, добавленную вModifier.graphicsLayer
. ( I99302 ) - Мы исправили ошибку, которая вызвала мерцание в нашей демонстрации
DatePicker
( I60BD ) - Мы улучшили доступность для 12-часовых демонстраций сбора времени и даты ( I05E12 )
- Мы обновили наши демонстрационные демонстрации времени и даты, чтобы выбранные изменения не были затронуты, когда они не выбираются ( i4aecb )
Версия 1.2.0-альфа01
7 декабря 2022 г.
androidx.wear.compose:compose-*:1.2.0-alpha01
выпускается. Версия 1.2.0-Alpha01 содержит эти коммиты.
Новые возможности
- Мы обновили экспериментальную функциональность заполнителей, так что эффект «Wipe Off» немедленно применяется, когда контент готов, а не ожидает начала следующего цикла анимации. Мы также сделали несколько обновлений в Shimmer и вытирали анимацию. ( I5a7f4 )
Изменения API
- Мы добавили
HierarchicalFocusCoordinator
координатуру, чтобы обеспечить маркировку субтидов композиции в качестве фокусировки или отключена фокуса. ( I827cb ) - Мы добавили новую собственность, чтобы переопределить семантическую роль для
ToggleButton
. ( I67132 ) - Мы обновили
TimeTextDefaults.TimeFormat12Hours
для удаления AM/PM вTimeText
. Это изменит значение по умолчанию параметровtimeSource
вTimeText
API. ( I1eb7f ) - Мы расширили API Picker, чтобы улучшить доступность для экранов с помощью многопостановки. Существует новое свойство
userScrollEnabled
способствующее управлению, активен ли сборщик для прокрутки пользователя. ( I3c3aa )
Исправления ошибок
- Мы изменили ширину границы по умолчанию для
OutlinedButton/OutlinedCompactButton
с 2.DP на 1.DP, чтобы соответствовать окончательным спецификациям UX. ( ICF84D ) - Чтобы уменьшить эффект первого элемента, добавленного в пустую
ScalingLazyColumn
появляющийся в прокрутке, мы добавили оценочныйautoCentering topPadding
когда содержимое пустое. Это изменение рассчитывает количество верхней прокладки, необходимого, предполагая начальный элемент высоты 0.dp. ДляScalingLazyListAnchorType.ItemStart
это будет рассчитать правильную верхнюю прокладку, дляScalingLazyListAnchorType.ItemCenter
Этот расчет будет неверным, так как высота элементов необходима для правильного размера содержимого, что приводит к небольшому прокрущению, на место на основе элементов реальной высоты. I239a4 ) - Мы обновили фон Scrim, применяемый к анимации
SwipeToDismiss
, чтобы соответствовать платформе износа. ( I9003e ) - У нас есть фиксированное
PositionIndicator
связанное сLazyListState
иScalingLazyListState
для списков размера 0, чтобы избежать разделения по нулевым ошибкам. ( 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
state, чтобы штат обновит, еслиonContentReady
lambda. ( 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 ( Подробнее ).
- Список ключевых изменений в износ Compose 1.1 см. Примечания к выпуску ( Compose for Wear OS 1.1 Beta01 ).
Новые возможности
- Мы обновили экспериментальную функциональность заполнителей, так что эффект «Wipe Off» немедленно применяется, когда контент готов, а не ожидает начала следующего цикла анимации. Мы также сделали несколько обновлений в Shimmer и вытирали анимацию. ( I5a7f4 )
Исправления ошибок
- Мы изменили ширину границы по умолчанию для
OutlinedButton/OutlinedCompactButton
с 2.DP на 1.DP, чтобы соответствовать окончательным спецификациям UX. ( ICF84D ) - Чтобы уменьшить эффект первого элемента, добавленного в пустую
ScalingLazyColumn
появляющийся в прокрутке, мы добавили оценочныйautoCentering topPadding
когда содержимое пустое. Это изменение рассчитывает количество верхней прокладки, необходимого, предполагая начальный элемент высоты 0.dp. ДляScalingLazyListAnchorType.ItemStart
это будет рассчитать правильную верхнюю прокладку, дляScalingLazyListAnchorType.ItemCenter
Этот расчет будет неверным, так как высота элементов необходима для правильного размера содержимого, что приводит к небольшому прокрущению, на место на основе элементов реальной высоты. I239a4 ) - Мы обновили фон Scrim, применяемый к анимации
SwipeToDismiss
, чтобы соответствовать платформе износа. ( I9003E ) - У нас есть фиксированное
PositionIndicator
связанное сLazyListState
иScalingLazyListState
для списков размера 0, чтобы избежать разделения по нулевым ошибкам. ( 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 ) - Мы
itemIndex
ошибку вModifier.scrollAway
TimeText
( I2137a ) - Мы обновили анимацию
SwipeToDismissBox
, чтобы соответствовать реализации платформы. После первоначальной анимации сжимания экран теперь скользит вправо, как только увольнение было вызвано. ( I41d34 ) - В качестве оптимизации мы обновили
Modifier.scrollAway
только для чтенияscrollState
внутри блока измерения, чтобы избежать переоборудования модификатора после каждого переживания. ( I4c6f1 ) - Мы добавили документацию и образец для заполнителей, чтобы показать правильный заказ для
Modifier.placeholder
иModifier.placeholderShimmer
. ( IE96F4 , B/256583229 ) - Мы изменили ширину границы по умолчанию для
OutlinedCompactChip/OutlinedChip
с 2.DP на 1.DP, чтобы соответствовать окончательным спецификациям UX. ( Ib3d8e ) - Мы исправили ошибку в
rememberPickerState
, где обновленные входы не были сохранены, поэтому композиции не были обновлены после изменений в входы. ( I49ff6 , b/255323197 ) - Мы сделали несколько обновлений пользовательского интерфейса для заполнителей, 1) изменить мерцающий градиент на 1,5x размер экрана, 2) добавить смягчение (кубическое бреевое) протекания мерцания и 3) ускоряет анимацию вытирания (250 мс). ( ID29C1 )
- Мы исправили ошибку пользовательского интерфейса в эффекте WipeOff WipeOff Placeholder, где чип и фон карт немного рано вытирали из -за того, что не приняли позицию компонента на экране. ( I2c7cb )
- Мы обновили фона заполнителей, чтобы слияние цветов, а не слоя, где это возможно, чтобы уменьшить риск смешивания альфа -смешивания различных укороченных слоев от позволения базовым цветам кровоточить на краях заполнителя. ( I2ea26 )
- Мы исправили расчет
ScalingLazyListState.centerItemIndex/centerItemOffset
так что если два элемента расположены по обе стороны от центральной линии видового порта, то, что является наиболее близким, будет рассматриваться какcenterItem
. ( I30709 , B/254257769 ) - Мы исправили ошибку в
ScalingLazyListState.layoutInfo.visibleItemsInfo
, который сообщал о неправильных смещениях во время инициализацииScalingLazyColumn
. Теперь пустой список будет возвращен до тех пор, пока все элементы списка не будут видны и не смогут правильные смещения. Проверьте наScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty()
подтвердит, что инициализацияScalingLazyColumn
завершена, и элементы видны. ( I3a3b8 )
Версия 1.1.0-бета01
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-бета-бита01 Compose for Wear OS показал, что этот выпуск библиотеки завершен, а API заблокирован.
- Выпуск Wear Compose 1.1 включает в себя следующую новую функциональность:
- Picker - Улучшения доступности для Picker, так что экраны с несколькими пикерами были судоходными с помощью считывателей экрана, а описание контента доступно
- Параметр Picker
contentDescription
теперь используется только для выбранной опции Picker и принимает нулевую строку (в предыдущем коммите необходимо было перенести отображение из опции к описанию контента, но использовалась только выбранная опция). - Элементы сборщика теперь всегда выравниваются в центре, исправляя ошибку, когда устанавливает
gradientRatio
на ноль, имел побочный эффект изменения выравнивания. -
Chip/ToggleChip
- мы обновили градиенты по умолчанию дляChip/ToggleChip
чтобы привести их в соответствие с последними спецификациями UX.ChipDefaults.gradientBackgroundChipColors
был обновлен, чтобы начать с 50% первичных, а не 32,5%. -
Chip/ToggleChip
- добавлены перегрузки для изменения форм чипа -
Chip/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
Out из взгляда, поскольку пользователь начинает прокручивать список элементов вверх. -
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()
), который протягивается поверх других эффектов, чтобы указать пользователям, что мы ждем загрузки данных.- Все эти эффекты предназначены для координации и мерцания и протирания оркестренным образом.
- Core Compose зависимости обновляются с 1,2 до 1,3
Изменения API
- Параметры шрифта (
fontFamily
,fontWeight
,fontStyle
&fontSynthesis
) теперь могут быть указаны непосредственно как параметрыcurvedText
( IDC422 )
Исправления ошибок
-
curveText
иbasicCurvedText
теперь будут работать должным образом с Talkback (есть соответствующий узел Compose-UI, который имеет правильный размер и размещен (но пустые), используя текст в качестве описания контента) ( i7af7c , b/210721259 ) - Исправление ошибки в
Picker
PickerState.repeatedItems = false
, чтобы добавить явную настройку автокентеринг -параметров на внутреннюю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 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
Out из взгляда, поскольку пользователь начинает прокручивать список элементов вверх. ( 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
чтобы Tarkback мог распознать их как кнопки. ( ICB46C , B/244260275 ) - Мы исправили Z-порядка позиции и индикаторов страниц в каркасе. Индикаторы теперь будут сидеть на вершине виньетки, и поэтому не будут скрыты виньеткой, если она будет присутствовать. ( 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, чтобы улучшить доступность, так как исходные цвета не имели достаточного контраста, что приводило к трудностям для пользователей дифференцировать фон чипов/карты/кнопки от цвета фона тем. Обновленными цветами являются поверхность (0xff202124-> 0xff303133), Onprimary (0xff202124-> 0xff303133), OneSecondator (0xff202124-> 0xff303133), Promansvariant (0xff669df6-> 0xff8ab8) и Primaryvariant (0xff669df6-> 0xff8ab8) и Primaryvariant (0xff669df6-> 0xff8) ) Изменения в цветах, хотя и относительно тонкие, могут влиять на существующие тесты экрана. ( 81AB09 )
Исправления ошибок
- Исправьте логическую ошибку в
ScalingLazyColumn
, которая может привести к спискам с небольшим (обычно 2) количеством элементов списка, не завершающих инициализацию, и в результате прозрачна. ( 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 требует проставки 4.DP между меткой и площадью 24x24.dp и значка управления переключением, что дает общую ширину 28.dp. Однако реализация неправильно дает область управления переключением 36x24.dp. Это приводит к уходу в сторону 8.dp зоны полезной текстовой метки. ПРИМЕЧАНИЕ. Это исправление ошибки дает дополнительное пространство для текстовой метки, и в качестве результата может (положительно) повлиять на макет текста для переполненного текста. Если у вас есть тесты экрана, включаяToggleChips
они, возможно, потребуются обновлять. ( I514c8 , b/240548670 )
Версия 1.1.0-альфа02
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 содержит эти коммиты.
Новые возможности
- Мы переключили комплекс для зависимости износа ОС в библиотеках Core Compose с 1.2.0 на 1.3.0-Alpha0x
Изменения API
- Добавлены перегрузки для изменения форм чипа ( I02E87 )
Исправления ошибок
- Мы анимировали видимость виньетки при демонстрации/скрытии диалога, чтобы соответствовать существующей анимации масштабирования. ( IDA33E )
- Мы исправили ошибку, в которой при прокрутке может возникнуть разрыв на нулевом. ( I86cb6 )
- Исправлена ошибка в
ChipDefaults.childChipColor()
чтобы убедиться, что отключенный цвет фона полностью прозрачен. ( I2b3c3 , b/238057342 )
Версия 1.1.0-альфа01
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
от Picker теперь используется только для выбранной опции Picker и принимает нулевую строку (ранее необходимо было перенести отображение из опции к описанию содержимого, но использовалась только выбранная опция). ( IFE6A7 ) - Мы сделали улучшения доступности для Picker, чтобы экраны с несколькими пикерами были судоходными с считывателями экрана, а описание контента доступно ( i64EDB )
Исправления ошибок
- Мы обновили базовые правила профиля, упакованные в библиотеку износа Compose ( I9C694 )
- Мы исправили направление градиента для чипов в правом левом режиме. Был верхним левым-> внизу справа, теперь вверху справа-> внизу слева. ( IC2E77 )
- Мы обновили градиенты по умолчанию для
Chip/ToggleChip/Card
чтобы привести их в очередь с последними UX Spec.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 ) - Элементы сборщика теперь всегда выравниваются в центре, исправляя ошибку, когда устанавливает
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 содержит эти коммиты.
Исправления ошибок
- Мы исправили Z-порядка позиции и индикаторов страниц в каркасе. Индикаторы теперь будут сидеть на вершине виньетки, и поэтому не будут скрыты виньеткой, если она будет присутствовать. ( 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
, которая может привести к спискам с небольшим (обычно 2) количеством элементов списка, не завершающих инициализацию, и в результате прозрачна. ( 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 for Wear OS ( Подробнее ).
- Составьте для износа ОС Строится на библиотеках Core Compose, предоставляющих дополнительные носимые компоненты и, где это необходимо, альтернативные реализации компонентов Core 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 содержит эти коммиты.
Исправления ошибок
- We have corrected the direction of the gradient for Cards in right to left (RTL) mode. It was top left->bottom right, and it is now top right->bottom left. ( Ic2e77 )
- We have updated the default gradients for
Chip/ToggleChip/Card
to bring them in line with the latest UX spec.ChipDefaults.gradientBackgroundChipColors
has been updated to start from 50% of primary rather than 32.5%.CardDefaults.cardBackgroundPainter
has been updated to start from 30% of primary and end at 20% ofonSurfaceVariant
(was previously 20% to 10% onSurfaceVariant).ToggleChip.toggleChipColors
changes from a linear gradient of 75% surface to 32.5% primary to 0% surface to 50% primary. ( I43bbd ) - We have added a background color (
MaterialTheme.color.surface
) behindChip/ToggleChips
that have gradient backgrounds in order to ensure that they are properly visible in the unlikely event that a light color is used behind them. ( Ibe1a4 , b/235937657 ) - We have updated the baseline profile rules packaged with the Wear Compose library ( 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
, and androidx.wear.compose:compose-navigation:1.0.0-rc01
are released . Версия 1.0.0-RC01 содержит эти коммиты.
Изменения API
- Интерфейсы в библиотеках компоновки теперь создаются с использованием методов интерфейса jdk8 по умолчанию ( I5bcf1 ).
Исправления ошибок
- We have removed the explicit call to
fillMaxWidth()
on list header as it is not needed and can result in problems if aScalinglazyColumn
has a mixture ofListHeader()
andChip()
components as the width will tend to grow/shrink asListHeader
items are scrolled in/out of view. ( I37144 , b/235074035 ) - We have fixed a bug in the
ScalingLazyColumn
that could result in the list items not drawing correctly until scrolled if the 0th list item was large enough (including padding) ( Ic6159 , b/234328517 ) - We have made a small adjustment in the
ScalingLazyColumn
easing as items reach the edge of the screen to match UX spec updates. Old valuesCubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f)
-> new valuesCubicBezierEasing(0.3f, 0f, 0.7f, 1f)
. To keep the old behavior you can override thescalingParams
ofScalingLazyColumn
( Ie375c ) - We have added padding to the
CompactChip
in order to ensure that its tap target size is at least 48.dp high to meet the Material accessibility guidelines. This might impact any layouts you have usingCompactChips
as they will be taking up additional space. ( I3d57c )
Версия 1.0.0-бета03
1 июня 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta03
, androidx.wear.compose:compose-material:1.0.0-beta03
, and androidx.wear.compose:compose-navigation:1.0.0-beta03
are released . Версия 1.0.0-BETA03 содержит эти коммиты.
Новые возможности
- We have made
ScalingLazyColumn
work in Compose@Preview
mode. ( I3b3b6 , b/232947354 )
Изменения API
- We have changed the default value for the
ScalingLazyColumn.horizontalAlignment
property from Start toCenterHorizontally
to ensure that when list items do not fill the entire width of the column they will be aligned for maximum visibility. To switch back to the previous behavior sethorizontalAlignment = Alignment.Start
.( I9ed4b )
Известные проблемы
- CompactChip's tap/touch height is smaller than Material accessibility guidelines. This will be corrected in the next release (15th June) . If you are using CompactChip this will affect your layouts as CompactChips will now have additional padding above and below. Please adjust and test your layouts or see the bug comments for a workaround to use the existing behavior. ( b/234332135 )
Исправления ошибок
- New demo to animate adding or removing a start text on a
TimeText
. ( I16d75 ) - Add tests for
HorizontalPageIndicator.PagesState
( I64ed0 ) - Updating
TimeText
closer to UX specs ( Ib7ea1 )
Версия 1.0.0-бета02
18 мая 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta02
, androidx.wear.compose:compose-material:1.0.0-beta02
, and androidx.wear.compose:compose-navigation:1.0.0-beta02
are released . Version 1.0.0-beta02 contains these commits.
Новые возможности
- Picker now always responds to scroll events even when in read-only mode. This avoids the need for users to first select a Picker by tapping, before they can scroll. In read-only mode, options other than that currently selected are obscured by a shim in
gradientColor
. ( I72925 ) - We have changed the UX behavior of
Chip/ToggleChip/CompactChip/SplitToggleChip
to stop them from doingfillMaxWidth
by default. Instead they will grow to fit their contents. To keep the previous behavior simply addmodifier = Modifier.fillMaxWidth()
( I60a2c , b/232206371 )
Исправления ошибок
-
CurvedTextStyle
constructor taking aTextStyle
now also respects thefontWeight
(This may be added to the constructor and copy methods in future revisions of the API) ( Ieebb9 ) - Edge swiping improvements. When
Modifier.edgeSwipeToDismiss
is used and a swipe to the left is triggered from the edge area, it no longer triggers swipe-to-dismiss when swipe direction changes to the right. Previously, it was possible to trigger swipe-to-dismiss by swiping to the left and then swiping to the right.( I916ea ) -
HorizontalPageIndicator
now shows up to 6 pages on the screen. If there are more than 6 pages in total, it shows a half-size indicator on the left or right, with a smooth transition between pages.( I2ac29 ) - Improved default snap behavior on
ScalingLazyColumn
andPicker
( I49539 ) - Edge swiping improvements. When
Modifier.edgeSwipeToDismiss
is used, swipe-to-dismiss only triggers when first touch lands on the edge and swiped to the right, Previously it was possible to trigger swipe-to-dismiss by swiping from any part of the screen if a scroll reaches the start.( I8ca2a )
Версия 1.0.0-бета01
11 мая 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-beta01
, androidx.wear.compose:compose-material:1.0.0-beta01
, and androidx.wear.compose:compose-navigation:1.0.0-beta01
are released . Версия 1.0.0-BETA01 содержит эти коммиты.
What's in Compose for Wear OS 1.0
The 1.0.0-beta01
of Compose for Wear OS marks an important milestone as the library is feature complete and the API locked.
Wear Compose Material components in the 1.0 release include:
- Material Theme - used as a replacement for the Compose for Mobile
MaterialTheme
, provides the colors, shapes and typography for building components on Wearables that implement the Wear Material Design UX guidelines out of the box. -
Button
,CompactButton
andToggleButton
- Button offers a single slot to take an icon, image or short text (3 characters max). Circular in shape with recommended sizes for default, large or small buttons.CompactButton
offers a single slot to take any content (icon, image or text) and is circular in shape with background size extra small.CompactButton
has optional transparent padding around the background that increases the clickable area.ToggleButton
is a button that offers a single slot to take any content (short text, icon or image) and has on/off (checked/unchecked) states with coloring and different icons to show whether checked or not - Cards - used to display information about applications such as notifications. Flexible design for different use cases with
AppCard
andTitleCard
giving different layouts and support for images as either card contents or backgrounds. - Chips - stadium shaped components similar to buttons, but with a larger area and multiple slots to allow for labels, secondary labels and icons. In different sizes and with support for images as backgrounds.
- ToggleChips and SplitToggleChips - a Chip with a checked/unchecked state and the addition of a
ToggleControl
slot to show an icon such as a switch or radio button to show the checked state of the component. In addition, theSplitToggleChip
has two tappable areas, one clickable and one toggleable. - CircularProgressIndicator - Wear Material progress indicator with two variations. The first expresses the proportion of completion of an ongoing task and supports a gap in the circular track between start and end angles. The second indicates indeterminate progress for an unspecified wait time.
- curvedText - forms part of the DSL for describing
CurvedLayouts
, along withcurvedRow
andcurvedColumn
, to lay out components around circular devices. See Wear Component Foundation below for more details onCurvedLayout
andCurvedModifier
(this plays a similar role to Modifiers in the non curved world and allows for configuration of various aspects of layout, padding, gradients, etc). - Dialog, Alert and Confirmation - Dialog displays a full-screen dialog, layered over any other content, and supports swipe-to-dismiss. It takes a single slot which is expected to be opinionated Wear Material dialog content such as Alert or Confirmation. Alert is opinionated dialog content with slots for icon, title and message. It has overloads for either two negative and positive buttons shown side-by-side or a slot for one or more vertically stacked chips. Confirmation is opinionated dialog content that displays a message for a given duration. It has a slot for an icon or image (that could be animated).
- HorizontalPageIndicator - shows horizontal page position in a fashion appropriate to the Wearable form factor. Designed to take the full screen and show a curved indicator on round devices. Can be used with the Accompanist page viewer.
- Icon - A Wear implementation of Icon which takes color and alpha from the Wear Material Theme. For a clickable icon, see Button or Chip.
- Picker - displays a scrollable list of items from which to pick. By default, items will be repeated 'infinitely' in both directions. Can be displayed in read-only mode to hide unselected options.
- PositionIndicator - shows scroll position or other positional indication in a fashion appropriate to the Wearable form factor. Designed to take the full screen and shows a curved indicator on round devices.
- Scaffold - implements the basic Wear Material Design visual layout structure. This component provides an API to put together several Wear Material components (such as
TimeText
,PositionIndicator
andVignette
) constructing the screen, ensuring proper layout strategy for them and collecting necessary data so these components will work together correctly. - ScalingLazyColumn - a scrolling scaling/fisheye list component that forms a key part of the Wear Material Design language. Provides scaling and transparency effects to the content items.
ScalingLazyColumn
is designed to be able to handle potentially large numbers of content items, which are only materialized and composed when needed. - Slider - allows users to make a selection from a range of values. The range of selections is shown as a bar, which can optionally be displayed with separators.
- Stepper - a full-screen component that allows users to make a selection from a range of values, using increase/decrease buttons at the top and bottom of the screen, with a slot in the middle for Text or a Chip.
- SwipeToDismissBox - handles the swipe-to-dismiss gesture. It takes a single slot for the background (only displayed during the swipe gesture) and the foreground content. Can optionally be combined with the androidx navigation library by using
SwipeDismissableNavHost
(see Wear Compose Navigation library below). - Text - A Wear implementation of the Compose Material Text component, taking color and alpha from the Wear Material Theme
- TimeText - a component for showing Time and application status at the top of the screen. Adjusts to screen shape by using curved text on round screens.
Vignette - a screen treatment for use in the Scaffold that blurs top and bottom of screen when scrollable content is in use.
The following components are also included from Wear Compose Foundation:
CurvedLayout - Wear Foundation
CurvedLayout
is a layout composable that places its children in an arc, rotating them as needed. This is similar to a Row layout curved into a segment of an annulus. Note that the content of aCurvedLayout
is not a composable lambda - rather, it is a DSL (domain-specific language). All elements in the CurvedLayout's DSL support an optional modifier parameter, created fromCurvedModifier
.basicCurvedText - an element in the
CurvedLayout
DSL,basicCurvedText
allows developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen).basicCurvedText
can be only created within theCurvedLayout
to ensure the best experience, like being able to specify the positioning, and usingCurvedModifiers
. Note that in most cases curvedText should be used instead, since it uses Material theming.curvedComposable - wraps normal composable content so that it can be used with
CurvedLayout
. IfcurvedComposable
has several elements inside, they will be drawn on top of each other (like a Box). To put several composables along a curve, wrap each one withcurvedComposable
.curvedRow and curvedColumn - similar to Row and Column,
curvedRow
andcurvedColumn
can be nested inside aCurvedLayout
to lay elements out as needed. For acurvedRow
, the angular layout direction and radial alignment may be specified. For acurvedColumn
, the angular alignment and radial direction may be specified.CurvedModifier - all curved components accept a modifier parameter that can be created using
CurvedModifier
: background, size, weight and padding are supported.The following component is also included from Wear Compose Navigation:
SwipeDismissableNavHost - provides a place in the Compose hierarchy for self-contained navigation to occur, with backwards navigation provided by a swipe gesture. Content is displayed within a
SwipeToDismissBox
, showing the current navigation level. During a swipe-to-dismiss gesture, the previous navigation level (if any) is shown in the background.See previous release notes for the various Alpha releases for more details of what has been delivered.
Изменения API
- Added
CurvedModifier.padding*
functions. These are used to specify additional space to be added around a curved component. ( I4dbb4 ) - Removed
CompositionLocal
internal class ( I42490 ) - We have added constant values for
Button
,CompactButton
andToggleButton
icon sizes, as guidance ( I57cab ) - Add enabled parameter to
AppCard
andTitleCard
. Now they have a similar API toandroidx.compose.material
Cards. When the parameter is set to false, the card will not be clickable. ( Idc48d , b/228869805 )
Исправления ошибок
- Stepper now disables the decrease and increase buttons when the lower/upper limits have been reached (and applies ContentAlpha.disabled to the iconColor) ( I4be9f )
- We have added 1dp padding around Picker contents when drawn with a gradient to prevent jitter on text seen when swiping. ( I0b7b9 )
- Add screenshot tests for
PositionIndicator
( I5e8bc ) - Add more tests for
AppCard
andTitleCard
( I85391 , b/228869805 )
Версия 1.0.0-альфа21
20 апреля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha21
, androidx.wear.compose:compose-material:1.0.0-alpha21
, and androidx.wear.compose:compose-navigation:1.0.0-alpha21
are released . Version 1.0.0-alpha21 contains these commits.
Новые возможности
- Added new curved modifiers to specify the background of a curved element:
CurvedModifier.background
,.radialGradientBackground
and.angularGradientBackground
( I8f392 ) - Allow curved text overflow mode (clip/ellipsis/visible) to be specified. ( I8e7aa )
- Added
CurvedModifier.weight
modifier, similar to the one in Compose. This can be used on children of curvedRow and CurvedLayout (for width) and children of curvedColumn (for height). ( I8abbd ) - Added
CurvedModifier.size
,.angularSize
and.radialSize
modifiers to specify the size of a curved element. ( I623c7 )
Изменения API
- Reorder parameters to ensure background is before color consistently across the Wear Compose API ( I43208 )
- Removed clockwise &
insideOut
parameters and replaced with more expressive constants on new classes. Curved layout direction can now beLayoutDirection
aware, and it is inherited when not specified ( If0e6a ) - We have replaced
autoCenter: Boolean
withautoCenter: AutoCentringParams
in order to fix an API issue with theScalingLazyColumn
. ( Ia9c90 ) - We have renamed
iconTintColor
andtoggleControlTintColor
toiconColor
andtoggleControlColor
throughout the API (Chip/ToggleChip/Dialog/Slider/Stepper/...) as the color is applied to the icon/toggleControl slot. ( Ied238 ) - Rewrite
PageIndicatorStyle
enum into value class ( I2dc72 ) - We have added
RowScope/ColumnScope/BoxScope
to some of the slots in our Composables to indicate to developers what the layouts assumptions are. This will allow developers to use additional modifiers on some slot content and avoid the need to provide extra layout elements. Additionally we have made some minor updates to the AppCard/TitleCard colors so thattimeColor
andappColor
default tocontentColor
, these properties can still all be individually overridden if needed. ( I26b59 ) - Made
SwipeToDismissBoxState.Companion
object private ( I39e84 ) - Fix parameters order for
InlineSlider
andStepper
. A simple change to follow api guidelines ( I11fec ) - We have removed the Saver object for
SwipeToDismissBoxState
as it was not used. ( Ifb54e ) - We have updated
CompactChip
to bring it inline with the latest UX Specification. Padding has been reduced to horizontal = 12.dp and vertical = 0.dp. The font for label has been changed from button to caption1. The recommended icon sizes are 20x20 when both icon and label are present and 24x24 for an icon only compact chip. For the icon only use case we have also ensured that the icon is center aligned. ( Iea2be ) - We have added a number of new fields to
ScalingLazyListLayoutInfo
to enable developers to know the amount ofcontentPadding
andautoCenteringPadding
that has been applied. These can be useful for developers when calculating fling/scroll ( I7577b ) - We have implemented in/out transitions for Dialog. A
showDialog
parameter has been added and the Dialog now controls its own visibility (this enables Dialog to run the intro and outro animations when the Dialog is shown/hidden). Note that the outro animation is not performed when the user leaves the dialog via swipe-to-dismiss. We have also added a default value for state in the recently addedSwipeToDismissBox
overload. ( I682a0 ) - In order to better support i18n and a11y we have changed
ToggleChip
andSplitToggleChip
so that they no longer have a default for thetoggleControl
slot. We have also changedToggleChipDefaults
so that the following methods now return ImageVector rather than Icon (note that as they no longer return @Composables they have changed to start with lower case),SwitchIcon()->switchIcon()
,CheckboxIcon->checkboxIcon()
andRadioIcon()->radioIcon()
- this allows and encourages developers to create their ownIcon()
composables with an appropriatecontentDescription
set. ( I5bb5b ) - We have added a
SwipeDismissableNavHostState
parameter toSwipeDismissableNavHost
. This supports use of edge-swiping on screens used as navigation destinations, becauseSwipeToDismissBoxState
can now be hoisted and used to initialize bothSwipeDismissableNavHostState
andModifier.edgeSwipeToDismiss
on screens that require edge-swiping. ( I819f5 , b/228336555 )
Исправления ошибок
- Ensure curved layouts are updated when needed. ( Ie8bfa , b/229079150 )
- Bug fix for https://issuetracker.google.com/issues/226648931 ( Ia0a0a , b/226648931 )
- Removed unnecessary experimental annotations ( I88d7e )
Версия 1.0.0-альфа20
6 апреля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha20
, androidx.wear.compose:compose-material:1.0.0-alpha20
, and androidx.wear.compose:compose-navigation:1.0.0-alpha20
are released . Version 1.0.0-alpha20 contains these commits.
Новые возможности
- Add
edgeSwipeToDismiss
modifier forSwipeToDismiss
. AllowsswipeToDismiss
to be active only on the left edge of the viewport. Used when the center of the screen needs to be able to handle horizontal paging, such as 2-d scrolling a Map or swiping horizontally between pages.( I3fcec , b/200699800 )
Изменения API
- Base implementation of
CurvedModifiers
, this opens the way to introduce ways to customize curved content (but noCurvedModifiers
are provided yet, and the ability to create custom modifiers may be available later) ( I9b8df ) -
EdgeSwipe
modifier documentation and default values update for better understanding .( I6d00d ) - Add
PageIndicator
slot into Scaffold. By addingPageIndicator
directly into Scaffold we might assure that it will be correctly shown on circular devices. ( Ia6042 ) - Remove default Icons from
InlineSlider
and Stepper parameters. This will help developers to be more attentive to localization and accessibility requirements. Usages of default icons were shown in demos and samples. ( I7e6fd ) - Replace Trailing and Leading parameter names with Start and End in TimeText ( Iaac32 )
- We have added a
SwipeToDismissBox
overload with anonDismissed
parameter to support the common usage of triggering a navigation event when the swipe gesture has completed. ( I50353 , b/226565726 ) - Removed
ExperimentalWearMaterialApi
annotations fromTimeText
usage ( Ide520 ) - We have marked
ScalingLazyList/Column
scope and info interfaces as sealed as they are not intended for external developers to implement and this will allow us to add new members in them in future without binary breaking changes. ( I7d99f ) - We have added a new
flingBehaviour
property to the Picker and aPickerDefaults.flingBehaviour()
method to enable configuration of the fling behavior such as adding RSB support.PickerState
now implements theScrollableState
interface. ( Ib89c7 )
Исправления ошибок
- Update the Android Runtime (ART) baseline profile rules for Wear Compose libraries. ART can leverage profile rules on devices in order to compile ahead-of-time a specific subset of the application to improve the performance of the application. Обратите внимание, что это не повлияет на отказываемые приложения. ( Iaa8ef )
- Improve documentation ( I2c051 )
Версия 1.0.0-альфа19
23 марта 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha19
, androidx.wear.compose:compose-material:1.0.0-alpha19
, and androidx.wear.compose:compose-navigation:1.0.0-alpha19
are released . Version 1.0.0-alpha19 contains these commits.
Изменения API
- Renamed
CurvedRow
toCurvedLayout
, and reworked to be a scope with a DSL. Using this DSL, more complex curved layouts can be specified using a series of nestedcurvedRow
andcurvedColumn
(Which are the curved layout equivalents of Row and Column). Inside these layout elements, three elements can be used:curvedComposable
(to add any @Composable),basicCurvedText
(foundation's curved text) andcurvedText
(wear material aware curved text). ( Ib776a ) - Make the side for the
PositionIndicator
configurable. The basic PositionIndicator's position can now be configured to be End (layout direction-aware), OppositeRsb (takes into account screen rotation, to position itself opposite to the physical RSB), or the absolutes Left & Right. ( I2f1f3 ) - For
SwipeToDismissBox
, we have renamedSwipeDismissTarget
.Original toSwipeToDismissValue.Default
andSwipeDismissTarget.Dismissal
toSwipeToDismissValue.Dismissed
. We have also movedSwipeToDismissBoxDefaults.BackgroundKey
andSwipeToDismissBoxDefaults.ContentKey
toSwipeToDismissKeys.Background
,SwipeToDismissKeys.Content
respectively. ( I47a36 ) - We have added a read-only mode to Picker, for screens with multiple Pickers where only one Picker is editable at a time. When the Picker is read-only, it displays the currently selected option, and a label if one has been provided. ( I879de )
-
SwipeToDismissBoxState
has been refactored to restrict the scope ofExperimentalWearMaterialApi
toModifier.swipeable
andSwipeableState
, which are now used internally.SwipeToDismissBoxState
now hascurrentValue
,targetValue
,isAnimationRunning
andsnapTo
members to support common use cases - please let us know if you require any further properties to be made available. Also fixed the behavior ofSwipeableState
in the case where the swipe offset is within a rounding error of an anchor. ( I58302 )
Исправления ошибок
- Simplified and fixed code to detect if the content of a
ScalingLazyColumn
can be scrolled (used to decide if we display a scrollbar or not) ( I7bce0 ) - Fixed a bug on Position Indicator when used with more than one state and switching between them ( I320b5 )
- We have updated the default Compose for Wear OS theme typography/fonts to match our latest UX guidance. Of note display1 (40.sp) and display2 (34.sp) are now smaller than their previous values and various other minor updates to line height and line spacing have been made. ( Ie3077 )
- We have added resistance to
SwipeToDismissBox
so that motion only happens when swiping to dismiss and not at all in the opposite direction. ( Ifdfb9 ) - We have changed some of the default parameter values for the
CircularProgressIndicator
functions to bring them in-line with Wear Material Design UX guidance. For the Spinner/Indeterminant version the size (40->24.dp), indicatorColor (primary->onBackground), trackColor transparency (30%->10%) and stroke width (4->3dp) have been updated. For the Progress/Determinate version the trackColor transparency (30%->10%) has been updated. ( I659cc ) - We have updated the default scaling params of the
ScalingLazyColumn
in-line with the latest Wear Material Design UX specifications. Visually this results in list items starting to be scaled closer to the list center, but being less scaled at the list edge than before. ( Ica8f3 ) - Some adjustments to
ScalingLazyColumnDefaults.snapFlingBehavior
to improve the end of the animation ( If3260 )
Версия 1.0.0-альфа18
9 марта 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha18
, androidx.wear.compose:compose-material:1.0.0-alpha18
, and androidx.wear.compose:compose-navigation:1.0.0-alpha18
are released . Версия 1.0.0-alpha18 содержит эти коммиты.
Изменения API
- Several improvements to PositionIndicator: ShowResult renamed PositionIndicatorVisibility. Some performance improvements to avoid recomputations when not needed ( Iaed9d )
- The recommended coloring for the
SplitToggleChip
has been updated. SplitToggleChip's now have a solid colored background when checked or unchecked with the coloring of the ToggleControl being the primary indication of whether the component is checked or not. We have added a newToggleDefaults.splitToggleChipColors()
to support the new color scheme. We have also simplified thetoggleChipColors()
methods removing the splitBackgroundOverlayColor ( I7e66e ) - We have added unadjustedSize to the
ScalingLazyListItemInfo
as it is not safe to calculate the original item size using the scaled size and scaling factor due to float maths precision. ( I54657 , b/221079441 ) - Add
HorizontalPageIndicator
. It represents a total number of pages and a selected page. Might be linear or curved, depending on the shape of the device. It also supports custom indicator shape, which defines how each indicator is visually represented. ( Iac898 ) - We have updated
PickerState
so that the numberOfOptions can be updated. This supports use-cases such as aDatePicker
, when the number of days in the month changes depending on the month selected. The constructor parameter for PickerState has changed to initialNumberOfOptions accordingly. ( Iad066 ) - Hide the
PositionIndicator
when is a scrollbar and can't scroll. ( Id0a7f ) - For consistency with Scaffold, our full-screen Dialog component now displays a
PositionIndicator
and aVignette
. We are also now usingScalingLazyColumn
instead ofColumn
, which means that the Dialog contents are now inScalingLazyListScope
(and typically need to be enclosed by item { /* content */ }). Dialog supports the verticalArrangement parameter accordingly. ( Idea13 ) - We have changed the name of
ToggleChip
andSplitToggleChip
toggleIcon property to toggleControl to better align with Material Design in order to help designers and developers navigate the API. ( If5921 , b/220129803 ) - We have added a new entry caption3 to the Wear Material Theme Typology.Caption3 is a small font used for the extra long-form writing like legal texts. ( I74b13 , b/220128356 )
Исправления ошибок
- Stop the snapping animation when we are there. ( Idb69d )
- Animate changes in PositionIndicator. ( I94cb9 )
- Based on UI/UX feedback we have changed the
ScalingLazyColumn
autoCentering so that it will provide only enough space to make sure the items with indexScalingLazyListState.initialCenterItemIndex
or higher will be able to be fully scrolled to the center of the viewport. This allows developers to place one or two items about the item initially in the center which are not scrollable into the middle. This will mean that an autoCenter'ingScalingLazyColumn
will not be able to scroll above theinitialCenterItemIndex/initialCenterItemScrollOffset
( I22ee2 ) - We have added a demo for a Date Picker and fixed a bug in
PickerState
where the initiallySelectedOption was not applied until the Picker had been displayed. ( Id0d7e ) - In order to reduce the clipping of wider
ScalingLazyColumn
items on circular screens we have increased the default horizontal content padding from 8 to 10 dp. ( I0d609 ) - Ensure the
PositionIndicator
is shown when scrolling. ( Ied9a2 )
Версия 1.0.0-альфа17
23 февраля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha17
, androidx.wear.compose:compose-material:1.0.0-alpha17
, and androidx.wear.compose:compose-navigation:1.0.0-alpha17
are released . Версия 1.0.0-alpha17 содержит эти коммиты.
Новые возможности
- We have added snap support that can be used with
ScalingLazyColumn
. SetflingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state)
to enable snap support. ( I068d3 , b/217377069 ) - We have added demos for Picker used to select a time in either 24 hour or 12 hour clock. ( Ie5552 )
Изменения API
- Fix an issue with
TimeText
custom fonts & styles on square device ( Iea76e ) -
ScalingLazyListLayoutInfo
now hasreverseLayout
,viewportSize
and orientation properties matching those fromLazyListLayoutInfo
( I4f258 , b/217917020 ) -
ScalingLazyColumn
now has auserScrollEnabled
property matching that fromLazyList
( I164d0 , b/217912513 ) - Pickers now have a gradient on the top and bottom by default ( Iab92a )
Исправления ошибок
- We have modified
ScalingLazyColumn
so that it no longer greedily fills all of the space in its parent. Instead it will take its size from the size of its contents. This makes it consistent with the behaviour ofLazyColumn
. If you want to reinstate the old behaviour then passModifier.fillMaxWidth()/width()/widthIn()
to theScalingLazyColumn
( I51bf8 ) - We have improved the exception message in
SwipeDismissableNavHost.kt
that was triggered if the navigation backstack was empty. ( I1b1dc )
Версия 1.0.0-альфа16
9 февраля 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha16
, androidx.wear.compose:compose-material:1.0.0-alpha16
, and androidx.wear.compose:compose-navigation:1.0.0-alpha16
are released . Версия 1.0.0-alpha16 содержит эти коммиты.
Новые возможности
- Add
CircularProgressIndicator
. Progress indicators display the length of a process or an unspecified wait time. Supports a gap (cutout) for TimeText or other components if used full-screen. ( Iab8da )
Изменения API
- Pickers now have a
flingBehavior
parameter, the default value makes them snap to the closest option when scrolling/flinging. ( I09000 ) - Additional integer API for InlineSlider and Stepper ( I1b5d6 )
Исправления ошибок
- We have changed the default initialCenterItemIndex for the
ScalingLazyListState
from 0->1. This means that unless overridden on state construction withScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =
)
then the 2nd list item (index == 1) will be placed in the center of the viewport at initialization and the 1st (index == 0) item will be placed before it. This allows for a better default visual effect out of the box as most of the viewport will be filled with list items. ( I0c623 , b/217344252 ) - We have reduced the
ScalingLazyColumn
defaultextraPadding
that is provided to ensure that there are plenty of list items to draw (even when we are scaling some of them down in size) from 10% to 5%. This will avoid composing extra list items that might not appear in the viewport. If non standard scalingParams are being used (more extreme scaling for instance) the developer can adjust extra padding usingviewportVerticalOffsetResolver
. ( I76be4 ) - Fix an issue with TimeText on multiple lines on square device ( Ibd3fb )
- We have modified
ScalingLazyColumn
so that it no longer greedily fills all of the space in its parent. Instead it will take its size from the size of its contents. This makes it consistent with the behavior ofLazyColumn
. If you want to reinstate the old behavior then passModifier.fillMaxSize()
to theScalingLazyColumn
- NOTE: This change is incomplete and will be addressed in a follow up change in the next Alpha release. ( I3cbfa )
Версия 1.0.0-альфа15
26 января 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha15
, androidx.wear.compose:compose-material:1.0.0-alpha15
, and androidx.wear.compose:compose-navigation:1.0.0-alpha15
are released . Версия 1.0.0-alpha15 содержит эти коммиты.
Изменения API
- We have added a new property
autoCentering
to theScalingLazyColumn
. When true (the default) this will ensure that all items including the first and last can be scrolled so that they are visible in the center of the lists viewport. Note that if using auto-centering you will probably want to set vertical content padding to 0.dp. If both autoCentering and vertical content padding are provided then they will both result in additional space being available before the first and after the last list items allowing them to be scrolled even further. ( I2a282 , b/214922490 ) - We have added a
Dialog
component that enables any composable to trigger a full screen dialog that sits on top of other content. When shown, the dialog supports swipe-to-dismiss and will show its parent's content in the background during the swipe gesture. The dialog content is expected to beAlert
orConfirmation
(renamed from earlier componentsAlertDialog
andConfirmationDialog
) -Alert
,Confirmation
andDialog
are all in theandroidx.wear.compose.material.dialog
package. Alert and Confirmation can be used as navigation destinations. Also, added ColumnScope to Alert and Confirmation parameters as necessary. ( Ia9014 ) - We have removed
onSurfaceVariant2
from the Compose for WearOS Material Theme Colors and replaced uses in the library withonSurfaceVariant
. ( Icd592 ) - Added a method to programmatically select an option on the
PickerState
, the initially selected option can now also be specified when creating aPickerState
. ( I92bdf ) - We have added support for customizing the fling behavior of the
ScalingLazyColumn
. ( I1ad2e , b/208842968 ) - We have added
NavController.currentBackStackEntryAsState()
to theWear.Compose.Navigation
library. ( If9028 , b/212739653 ) - Added
Modifier.onRotaryScrollEvent()
andModifier.onPreRotaryScrollEvent()
for Wear devices with a rotating side button.( I18bf5 , b/210748686 )
Версия 1.0.0-альфа14
12 января 2022 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha14
, androidx.wear.compose:compose-material:1.0.0-alpha14
, and androidx.wear.compose:compose-navigation:1.0.0-alpha14
are released . Version 1.0.0-alpha14 contains these commits.
Новые возможности
We have added a number of methods to
ScalingLazyListState
to allow developer control over scrolling to specific list items and also setting the initial list item and offset.As part of this change we have also modified the ScalingLazyList so that it is oriented around the center of the viewport of the ScalingLazyList rather than the start of the viewport.
A new property
anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter
has been added to theScalingLazyList
to control whether the center (ScalingLazyListAnchorType.ItemCenter
) orEdge
(ScalingLazyListAnchorType.ItemStart
) should be aligned to the viewport's centerline.As a result the
ScalingLazyListItemInfo.offset
andScalingLazyListItemInfo.adjustedOffset
have changed and will now reflect the offset of the item with respect to both the position of the list item and theanchorType
of the list. Eg for aScalingLazyColumn
withanchorType
ofItemCenter
and an list item positioned with its center on the centerline of the viewport the offset would be0
.The new methods are
scrollTo
,animatedScrollTo
,centerItemIndex
, andcenterItemOffset
. ( I61b61 )We have added a back button handler to
SwipeDismissableNavHost
, so that pressing back navigates to the previous level in the navigation hierarchy. ( I5b086 , b/210205624 )
Версия 1.0.0-альфа13
15 декабря 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha13
, androidx.wear.compose:compose-material:1.0.0-alpha13
, and androidx.wear.compose:compose-navigation:1.0.0-alpha13
are released . Версия 1.0.0-alpha13 содержит эти коммиты.
Изменения API
- We have made
RangeIcons
internal (referenced internally byInlineSlider
andStepper
). ( I927ec )
Исправления ошибок
Fixed an issue where
SwipeDismissableNavHost
would add a destination to the Compose hierarchy before it has reached theCREATED
Lifecycle state, resulting in anIllegalStateException
. This fix was a prerequisite to updating dependency onnavigation-compose
to2.4.0-beta02
and beyond. ( I40a2b , b/207328687 )Added a Drawables enum class for getting drawable resources within the Wear Compose library, so that reflection is no longer needed. This fixes a bug where library drawables were removed when
minifyEnabled=true
orshrinkResources=true
). ( Ib2a98 )Added tests for
Stepper
in Wear Compose ( I2d03a )Added samples for
SwipeDismissableNavHost
in Wear Compose Navigation. ( I85f06 )
Версия 1.0.0-альфа12
1 декабря 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha12
, androidx.wear.compose:compose-material:1.0.0-alpha12
, and androidx.wear.compose:compose-navigation:1.0.0-alpha12
are released . Версия 1.0.0-alpha12 содержит эти коммиты.
Новые возможности
We have added a Stepper component which allows users to make a selection from a range of values. Stepper is a full-screen control with increase and decrease buttons at the top and bottom, and a slot in the middle (expected to take either a Chip or Text). The button icons can be customized if required. ( I625fe )
We have added 2 new composables for displaying dialogs: AlertDialog waits for a response from the user and displays a title, icon, message and either a) two buttons for simple positive/negative choices or b) vertically stacked chips or toggle chips for more flexible choices, ConfirmationDialog displays an acknowledgement with a timeout. This simple dialog has slots for a title and an (animated) icon. ( Ic2cf8 )
Изменения API
- Add units (millis) to suggested dialog duration values. ( I09b48 )
Версия 1.0.0-альфа11
November 17, 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha11
, androidx.wear.compose:compose-material:1.0.0-alpha11
, and androidx.wear.compose:compose-navigation:1.0.0-alpha11
are released . Версия 1.0.0-alpha11 содержит эти коммиты.
Новые возможности
- We have added a picker component that lets the user select an item from a scrolling list. By default, the list of selectable items is repeated 'infinitely' in both directions, to give the impression of a rotating cylinder seen from the side. Two features will be added in later releases: snapping to a value after a swipe/fling; adding a function to PickerState to set/scroll to the current value. ( I6461b )
Изменения API
- Added a ScalingLazyItemScope and some new modifiers fillParentMaxSize/fillParentMaxWidth/fillParentMaxHeight to allow list items to be sized based on the size of the parent container. Items can be set to fill all or a fraction of the parent's size. This exposes functionality already available in the LazyRow/Column ( I4612f )
- Added support to ScalingLazyColumn to allow items to have a key. Also added convenience methods to allow adding of items from Arrays and Lists. ( Ic1f89 )
Исправления ошибок
- Additional examples for TimeText ( I8cb64 )
Версия 1.0.0-альфа10
November 3, 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha10
, androidx.wear.compose:compose-material:1.0.0-alpha10
, and androidx.wear.compose:compose-navigation:1.0.0-alpha10
are released . Версия 1.0.0-alpha10 содержит эти коммиты.
Новые возможности
Added an InlineSlider for wear compose. InlineSlider allows users to make a selection from a range of values. Диапазон выбора отображается в виде полосы между минимальным и максимальным значениями диапазона, из которого пользователи могут выбрать одно значение. ( If0148 )
Check out the new Compose for WearOS Codelab !
Изменения API
- Macrobenchmark now has a
minSdkVersion
of23
. ( If2655 )
Исправления ошибок
- Update transition handling in SwipeDismissableNavHost in a SideEffect ( I04994 , b/202863359 )
- Update transition handling in SwipeDismissableNavHost ( I1cbe0 , b/202863359 )
Версия 1.0.0-альфа09
27 октября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha09
, androidx.wear.compose:compose-material:1.0.0-alpha09
, and androidx.wear.compose:compose-navigation:1.0.0-alpha09
are released . Версия 1.0.0-alpha09 содержит эти коммиты.
Новые возможности
- We have launched the Developer Preview of Compose on Wear OS - see our blog post which reviews the main composables and links to further resources to starting using them.
Изменения API
- We have added support for developers to be able to customize all of the colors in the Wear Material Design Color theme. ( I4759b , b/199754668 )
Исправления ошибок
- Added SwipeToDismissBox samples that persist state ( Ibaffe )
- Added links to developer.android.com guides from KDocs for CurvedText, TimeText and SwipeToDismissBox. ( I399d4 )
- SwipeDismissableNavHost now throws if there's no current destination (indicates that the NavGraph was not built with the wear.compose.navigation.composable utility function) ( I91403 )
- Added additional documentation and examples for time source usage in TimeText ( I4f6f0 )
Версия 1.0.0-альфа08
13 октября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha08
, androidx.wear.compose:compose-material:1.0.0-alpha08
, and androidx.wear.compose:compose-navigation:1.0.0-alpha08
are released . Версия 1.0.0-alpha08 содержит эти коммиты.
Изменения API
- We have renamed AppCard and TitleCard
body
properties tocontent
and moved them to the end of the property list to allow them to be provided as a trailing lambda. Also renamedbodyColor
tocontentColor
for consistency with the new slot names. ( I57e78 )
Исправления ошибок
- Added links to developer.android.com guides from KDocs for button, card, chip, theme, position indicator and scaling lazy column components. ( I22428 )
- Fix WearOS SwipeToDismissBox sometimes not handling swipes. ( I9387e )
- Added samples for Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, ToggleChip, SplitToggleChip ( Iddc15 )
- Added microbenchmark performance tests for Card, Chip, ToggleChip, TimeText and ScalingLazyColumn. ( If2fe9 )
Версия 1.0.0-альфа07
29 сентября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha07
, androidx.wear.compose:compose-material:1.0.0-alpha07
, and androidx.wear.compose:compose-navigation:1.0.0-alpha07
are released . Версия 1.0.0-alpha07 содержит эти коммиты.
Новые возможности
- Added a CurvedText component in material, a component allowing developers to easily write curved text following the curvature of a circle (usually at the edge of a circular screen). ( I19593 )
Изменения API
- Added tests for TimeText ( Idfead )
- Transform ArcPaddingValues into an interface. ( Iecd4c )
- Added animation to SwipeToDismissBox ( I9ad1b )
- Added hasBackground parameter to the SwipeToDismissBox API so that the swipe gesture can be disabled when there is no background content to display. ( I313d8 )
-
rememberNavController()
now takes a optional set ofNavigator
instances that will be added to the returnedNavController
to better support optional Navigators such as those from Accompanist Navigation Material . ( I4619e ) - Reference NamedNavArgument from navigation-common and remove copy from wear.compose.navigation. ( I43af6 )
Исправления ошибок
- Fixed CurvedRow test flakiness on smaller devices. ( If7941 )
- Fixed possible flickering on CurvedRow when the content updates, and ensures the curved row is remeasured ( Ie4e06 )
- ChipDefaults.gradientBackgroundChipColors() has been updated in line with UX Spec changes. The gradient now starts with MaterialTheme.colors.primary with alpha 32.5% and ends with MaterialTheme.colors.surface with alpha @ 0% over a background of MaterialTheme.colors.surface @ 75% alpha. ( Id1548 )
- We have updated the colors for ToggleChips when in the selected state to match the latest Wear Material Design UX Spec guidance. When selected ToggleChips now have a gradient background from MaterialTheme.color.surface @ 0% alpha, top left, to MaterialTheme.color.primary @ 32% alpha, bottom right, over a background of MaterialTheme.color.surface @ 75% alpha. This results in a more subtle difference between checked and unchecked for the ToggleChip. ( Idd40b )
Версия 1.0.0-альфа06
15 сентября 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha06
, androidx.wear.compose:compose-material:1.0.0-alpha06
, and androidx.wear.compose:compose-navigation:1.0.0-alpha06
are released . Версия 1.0.0-alpha06 содержит эти коммиты.
Новые возможности
- We have added Scaffold a top level application composable that provides a structure for handling PositionIndicators (like Scroll or Volume) position, an area at the top of the screen for displaying the time and application status, and also supports a Vignette to blur the screen top and bottom edge for scrollable content. The main area of the Scaffold is where the application contents are placed. ( I5e0bf )
- Added TimeText implementation for Wear Compose ( I5654c )
Wear Compose Navigation Library
We have added the first release of the Wear Compose Navigation library, which provides integration between the Wear Compose and Androidx Navigation libraries. It provides a simple means to navigate between @Composable functions as the destinations in your application.
This initial release provides:
- A
SwipeDismissableNavHost
composable that hosts a navigation graph and provides backwards navigation via swipe gestures -
NavGraphBuilder.composable
extension to assist with constructing navigation graphs -
rememberSwipeDismissableNavController()
to allow hoisting state
- A
Example usage where we create two screens and navigate between them:
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 is packaged as a separate library so that simple WearCompose applications that implement their own hand-rolled navigation are not required to depend on the Androidx Navigation library.
Изменения API
- Updated
SwipeDismissableNavHost
to supportrememberSaveable
by setting the key identity for background and content ( I746fd ) - We have added a PositionIndicator adapter that can handle LazyListState ( I21b88 )
- Updated SwipeToDismissBox to support rememberSaveable ( Ie728b )
- We have added reverseLayout support to the ScalingLazyColumn. This allows for the reversing of the direction of scrolling and layout ( I9e2fc )
- Deprecated
performGesture
andGestureScope
, which have been replaced byperformTouchInput
andTouchInjectionScope
. ( Ia5f3f , b/190493367 ) - We have renamed VignetteValue to VignettePosition and renamed VignetteValue.Both renamed to VignettePosition.TopAndBottom. ( I57ad7 )
- We have renamed ScalingLazyColumnState to ScalingLazyListState, ScalingLazyColumnItemInfo to ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo to ScalingLazyListLayoutInfo and ScalingLazyColumnScope to ScalingLazyListScope in case we decide to add a ScalingLazyRow implementation in the future. ( I22734 )
Исправления ошибок
- Updated CompactChip documentation to describe what happens if neither an icon nor a label is provided. ( I4ba88 )
- We have made some adjustments to the Wear card components. ( I6b3d0 )
- TitleCard spacing between Title and Body reduced from 8.dp to 2.dp.
- TitleCard header font changed from body to title3.
- Card background gradient changed to make the background appear darker.
Версия 1.0.0-альфа05
September 1, 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha05
and androidx.wear.compose:compose-material:1.0.0-alpha05
are released. Версия 1.0.0-alpha05 содержит эти коммиты.
Изменения API
- Mark ArcPaddingValues as @Stable ( I57deb )
- ScalingLazyColumnState now implements the ScrollableState interface giving developers programmatic access to scroll the component. ( I47dbc )
Исправления ошибок
- We have reduced the spacing between Icon and Text in Chip and ToggleChip to bring them in line with updates to the UX Spec. ( I83802 )
Версия 1.0.0-альфа04
August 18, 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha04
and androidx.wear.compose:compose-material:1.0.0-alpha04
are released. Версия 1.0.0-alpha04 содержит эти коммиты.
Новые возможности
- Added a SwipeToDismissBox and swipeable modifier that can be used to support a left-to-right swipe-to-dismiss gesture. Although independent of navigation components, this is expected to be used to exit one screen and navigate to another. Added integration tests to demo swipe-to-dismiss. ( I7bbaa )
- We have added ScalingLazyColumnItemInfo and ScalingLazyColumnLayoutInfo interfaces to ScalingLazyColumnState class to enable developers to know the actual positions and sizes of items in the ScalingLazyColumn after scaling has been applied. We have also fixed a bug with the way that scaling was calculated when 'top' content padding is applied to the ScalingLazyColumn. ( I27c07 )
Изменения API
- Add CurvedTextStyle class to specify curved text styling Options. Similar to TextStyle, but now only supports color, fontSize and background. More styling options will be added in the future. ( I96ac3 )
- We have added ScalingLazyColumnItemInfo and ScalingLazyColumnLayoutInfo interfaces to ScalingLazyColumnState class to enable developers to know the actual positions and sizes of items in the ScalingLazyColumn after scaling has been applied. We have also fixed a bug with the way that scaling was calculated when 'top' content padding is applied to the ScalingLazyColumn. ( I27c07 )
- Added
@ExperimentalWearMaterialApi
toSwipeDismissTarget
enum, part of theSwipeToDismissBox
API. ( I48b5e )
Исправления ошибок
- Added test material for SwipeToDismissBox ( I9febc )
Версия 1.0.0-альфа03
4 августа 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha03
and androidx.wear.compose:compose-material:1.0.0-alpha03
are released. Версия 1.0.0-alpha03 содержит эти коммиты.
Изменения API
- Added CurvedText component, that allows developers to easily write text following the curvature a circle (usually at the edge of a circular screen) ( Id1267 )
- We have renamed
CardDefaults.imageBackgroundPainter()
toCardDefaults.imageWithScrimBackgroundPainter()
to make it clear that the background image with have a scrim drawn over it. ( I53206 ) - Adding ScalingLazyColumn component that provides a list component for Wear Material that gives a fisheye view with the list contents scaling down in size and becoming transparent as they scale towards the edge of the component. ( I7070c )
Исправления ошибок
- We changed the default color of the appName content in AppCard in response to a UX Spec update. The default color for the appName is now
MaterialTheme.colors.onSurfaceVariant
. Additionally added a missing parameter doc description for the title slot. ( Ic4ad1 )
Версия 1.0.0-альфа02
July 21, 2021
androidx.wear.compose:compose-foundation:1.0.0-alpha02
and androidx.wear.compose:compose-material:1.0.0-alpha02
are released. Версия 1.0.0-alpha02 содержит эти коммиты.
Новые возможности
- Added a new class CurvedRow to laid out composables in an arc ( I29941 )
- Added a new type of card for use in applications (TitleCard), also add support for having images as the background to Cards to emphasize their contents ( I53b0f )
Изменения API
- Add support for radial alignment to CurvedRow (similar to the vertical alignment in a row) ( Id9de5 )
- Add a new class CurvedRow to laid out composables in an arc ( I29941 )
- Added a new type of card for use in applications (TitleCard), also add support for having images as the background to Cards to emphasize their contents ( I53b0f )
- Added toggle icons (checkbox, switch and radio buttons) to ToggleChipDefaults to make it easier for developers to configure ToggleChip and SplitToggleChips ( I7b639 )
- The start and end content padding for Chips has been updated so that it is consistently 14.dp regardless of whether the Chip has an icon present or not (was previously 12.dp if icon present and 14.dp if not) ( I34c86 )
Исправления ошибок
- Add tests for CurvedRow ( I93cdb )
- Tying Wear Compose dependencies to Compose 1.0.0-rc01. ( Ie6bc9 )
- Changed the handing of background image painting in Cards and Chips so that the image is Cropped rather than being stretched in order to maintain image proportions. ( I29b41 )
- Added more demos and integration tests for Button and ToggleButton. ( 5e27ed2 )
- Added more Chip tests to cover the content colors for imageBackgroundChips ( Ia9183 )
Версия 1.0.0-альфа01
1 июля 2021 г.
androidx.wear.compose:compose-foundation:1.0.0-alpha01
and androidx.wear.compose:compose-material:1.0.0-alpha01
are released. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
Wear Compose is a Kotlin, Compose-based library that supports Wear Material design, an extension of Material Design for WearOS wearables. Этот первый альфа-релиз содержит ранние функциональные реализации следующего:
- Material theme - configures the colors, typography and shapes consistently across the components used from this library.
- Chip, CompactChip - chips are stadium shaped and variations are available to take icon, label and secondary label content.
- - ToggleChip, SplitToggleChip - a specialized type of chip that includes a slot for a bi-state toggle icon such as a radio button or checkbox. In addition, the SplitToggleChip has two tappable areas, one clickable and one toggleable.
- Button, CompactButton - buttons are circular in shape, with a single content slot for an icon or minimal text (maximum 3 characters).
- ToggleButton - a button that turns an action on or off, with a single slot for icon or minimal text (maximum 3 characters).
- Card, AppCard - rectangular shaped with rounded corners, offering slots for content such as app icon, time, title and body.
Future releases will extend the Widget set adding support for Wear Material Design pickers, sliders, lists, page indicators, dialogs, scroll rsb indicators, toasts and more.
Additionally support will be provided for other Wearable Specific features such as curved layouts and text, as well as scaffolding to make it easy for developers to build Wearable apps/overlays.
Wear Compose Material is designed with the same principles as Compose Material, although being targeted at wearables. The Wear Compose Material library should be used in place of the Compose Material library when building for a Wearable device.
The two “Material” libraries should be considered mutually exclusive and should not be mixed in the same app. If developers find themselves including the Compose Material library in their dependencies it would suggest that either a) there are components missing from the Wear Compose Material library, please let us know what you need, or b) are using a component that we do not recommend for use on a Wearable Device.