макетирование одежды
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 17 декабря 2025 г. | 1.3.0 | - | - | 1.4.0-alpha03 |
Объявление зависимостей
Чтобы добавить зависимость от wear-protolayout, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Котлин
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
классный
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0" }
Котлин
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.4
Версия 1.4.0-alpha03
17 декабря 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.4.0-alpha03 . Версия 1.4.0-alpha03 содержит следующие коммиты .
Исправлены ошибки
- Сравнение двух типов ресурсов для улучшения обработки ресурсов и повышения производительности теперь осуществляется с использованием оптимизированных методов хеширования и равенства. ( 82f21b2f )
Версия 1.4.0-alpha02
22 октября 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.4.0-alpha02 . Версия 1.4.0-alpha02 содержит следующие коммиты .
Новые функции
- Добавлен новый источник событий платформы (
isInAmbientMode), описывающий, находится ли устройство в режиме ожидания или нет ( Ief832 ).
Изменения в API
- Теперь
clickableэлементPendingIntentпринимает резервное действие (LoadAction/LaunchAction), которое будет использоваться, еслиPendingIntentне поддерживается рендереромProtoLayout. Резервное действие будет автоматически выбрано и размещено в макете, если версия рендерера ниже той, которая поддерживаетPendingIntent. ( I6eee2 , b/450259727 ) - Поле
protoLayoutScopeвMaterialScopeтеперь имеет значениеNonNullдля упрощения использования при созданииMaterialScopeс помощьюmaterialScopeWithResources. Кроме того, появилась функцияhasProtoLayoutScopeдля проверки наличия этого поля. ( I1858f , b/450067019 )
Версия 1.4.0-alpha01
24 сентября 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит следующие коммиты .
Новые функции
- Добавлен вспомогательный метод для
LayoutModifier, который позволяет элементу плавно появляться по мере того, как плитка становится видимой. ( I38531 , b/390345969 ) - Добавлен
materialScopeWithResourcesдля поддержки концепцииMaterialScopeв M3, который также обеспечивает автоматическую регистрацию ресурсов. В его состав добавлены новые вспомогательные методы для изображений (backgroundImageavatarImageи icon), которые устраняют необходимость ручной регистрации ресурсов вonTileResourceRequestпри их использовании. ( I525bd , b/428692714 ) - Вспомогательные функции Kotlin для
ProtoLayout, предназначенные для работыImageиImageResources, с использованиемProtoLayoutScopeи автоматической регистрации ресурсов. ( Iada82 , b/430584304 ) - Добавлен геттер для определения количества свойств Лотти, разрешенных для настройки одной анимации Лотти. ( I73733 , b/436532706 )
- Добавить API в
AndroidLottieResourceByResId, позволяющий настраивать анимацию Lottie через свойства, а также API для создания свойства для оформления слота с указанием его ID и цвета. ( I301b3 , b/423581481 ) - Добавить API поставщика для приема
PendingIntentв качестве действия клика ( I01978 , b/433802488 ) - В
Image.Builderдобавлен новый API —setImageResource, позволяющий напрямую устанавливать объект ресурса в качестве изображения вonTileRequest, без необходимости регистрировать его в сопоставлении вonTileResourcesRequest. ( Ifa69a , b/428693523 ) - Добавлена концепция
ProtoLayoutScopeв рамках подготовки к улучшенной обработке ресурсов в Tiles. ( I132ce , b/428692423 ) -
ProtoLayoutMaterial3MaterialScopeполеContextтеперь доступно как public и может использоваться в методах внутри этой области видимости без необходимости его передачи. ( I0e5cc , b/414559956 ) - Сделать API семантики заголовков общедоступными ( I75299 , b/413653475 )
- Предоставить доступ к константам
ARC_DIRECTION_*в качестве общедоступных для использования вArc/ArcLine/ArcText/DashedArcLine. ( I83959 , b/427556439 )
Изменения в API
- Мы объявили устаревшими методы
Image.Builder()иImage.Builder.setResourceIdв пользу нового API автоматической регистрации ресурсов, доступного вImage.Builder(ProtoLayoutScope)иImage.Builder.setImageResource, который устраняет необходимость переопределения методаonTileResourcesRequest. ( I7bfe6 , b/432758526 ) - Переместите API для создания
ProtoLayoutScopeиз категории ограниченного доступа в категорию публичного доступа. Однако их не следует использовать, поскольку система уже обрабатывает эти вызовы. ( I1d8e8 , b/432758251 )
Исправлены ошибки
- Добавить реализацию для поддержки
PendingIntentвProtoTiles( I38167 , b/430610429 ) - Добавить метод
invalidateLayout. ( Ief898 ) - Перенос минимального SDK по умолчанию с API 21 на API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
-
ImageResourceтеперь есть методыhashCodeиequals. ( I650ee , b/428692423 , b/428693523 ) - Добавить новое протокольное сообщение
PendingIntentActionи его построитель-обертку ( Ie2aca , b/427643502 ) - Уменьшить частоту создания экземпляров
ZoneId. ( I284d3 ) - Применить описание содержимого по умолчанию к
textButtonс одним слотом. ( I0dc8a , b/415001534 ) - Исправлены вычисления для корректировки максимального количества строк на стороне рендерера. ( I933bc , b/414353620 )
Версия 1.3
Версия 1.3.0
4 июня 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0 . Версия 1.3.0 содержит следующие коммиты .
Важные изменения по сравнению с версией 1.2.0
- В дизайне часов используется технология Material 3: компоненты и компоновка оптимизированы для круглого дисплея и масштабируются под разные размеры экрана, от маленьких до больших.
- Это включает в себя библиотеку
protolayout-material3, написанную исключительно на Kotlin, с более похожими на Compose API для следующих компонентов и функций: - Динамическая цветовая тема, заимствованная из системы и циферблата часов, с использованием новейшей темы Material3 для цветов, форм и типографики.
-
MaterialScopeдля учета всех заданных по умолчанию параметров и упрощения настройки. -
iconEdgeButton,textEdgeButton -
iconButton,textButton,button,imageButton,avatarButton,compactButton -
titleCard,appCard,graphicDataCard,iconDataCard,textDataCard -
circularProgressIndicator,segmentedCircularProgressIndicator -
primaryLayout,buttonGroup - Все компоненты работают с любыми версиями SDK и
ProtoLayoutRenderer, обеспечивая разумные резервные варианты там, где это применимо.
- Это включает в себя библиотеку
- Более удобные для Kotlin API, похожие на Compose, для базовых элементов ProtoLayout.
-
LayoutModifierпозволяет добавлять большинство модификаторов в виде цепочек функций (padding,contentDescription(включаяclearSemantics),background,clip,opacityи т. д.), и может быть преобразован в существующий объектModifiers -
LayoutColorsиLayoutString— типы данных с упрощенной поддержкой использования динамических полей и ограничений. -
textиfontStyle - Улучшена поддержка карт для
StateBuilder, включаяDynamicDataMapи фабричные методы, такие какintAppDataKeyдля упрощения создания объектовAppDataKey
-
- Анимации Lottie поддерживают возможность установки различных триггеров для запуска анимации, например, при загрузке макета или при отображении макета.
- Улучшена поддержка градиентов:
- API для линейных градиентов, входящий в состав
Brush, может использоваться в модификаторахBackgroundдля таких элементов, какBox,Spacerи т. д. - Разрешить динамические значения цвета в
ColorStop, используемом для линейных и градиентных переходов. - Существующий градиент заметания в дуговых объектах теперь поддерживает динамические цвета, а также начальные и конечные углы.
- Привязка данных платформы в
protolayout-expressionпозволяет получать информацию всякий раз, когда изменяется видимость макета, что, например, может использоваться для скрытия определенных частей макета во время пролистывания плитки. - В библиотеку тестирования
protolayout-testingдобавлена поддержка упрощенного модульного тестирования любых элементов ProtoLayout. - Новый элемент
DashedArcLineс улучшенным набором функций, позволяющий использовать пунктирные линии, в отличие от существующегоArcLine -
ArcSpacerподдерживает задание длины в единицах измерения DP вместо градусов. - Добавлена ось закругления
FontSettingприменимая к некоторым шрифтам.
Версия 1.3.0-rc01
20 мая 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-rc01 без изменений по сравнению с предыдущим релизом. Версия 1.3.0-rc01 содержит следующие коммиты .
Версия 1.3.0-beta02
7 мая 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-beta02 . Версия 1.3.0-beta02 содержит следующие коммиты .
Исправлены ошибки
- Мы внесли важное улучшение в параметры типографического оформления, применяемые в API 36 и выше. Это связано с тем, что начиная с API 36 все тайлы будут отображаться системным шрифтом, поэтому это изменение обеспечивает лучшую согласованность в карусели тайлов. ( If316f )
- Конструкторы
Text,Spacer,ArcLineиDashedArcLineне будут выдавать ошибку, если для динамических значений не заданыlayoutConstraints. Обратите внимание, что более старые рендереры по-прежнему требуют установкиlayoutConstraintsи будут игнорировать любые динамические значения, у которых они не заданы. ( Ic52e8 ) - Добавьте модификатор семантики заголовка, чтобы указать, что элемент макета является заголовком раздела контента в целях доступности, и по умолчанию отметьте текст в слоте заголовка элемента
primaryLayoutкак заголовок, предназначенный для людей с ограниченными возможностями. ( Iae1fb ) - Финальная доработка пользовательского интерфейса
primaryLayout, где расстояние между слотом заголовка и основным слотом уменьшено до 4dp вместо 6dp на экранах меньшего размера. ( I0e056 ) - Применить описание содержимого по умолчанию к
textEdgeButton. ( Ifaf8b ) - Небольшое обновление внутреннего отступа
avatarButton. ( I0910b )
Версия 1.3.0-beta01
9 апреля 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-beta01 . Версия 1.3.0-beta01 содержит следующие коммиты .
Новые функции
Выпуск 1.3.0-beta01 библиотеки Wear ProtoLayout указывает на то, что данный релиз является полностью функциональным, а API заблокирован (за исключением тех мест, которые помечены как экспериментальные). Wear ProtoLayout 1.3 включает следующие новые функции и API:
- В дизайне часов используется технология Material 3: компоненты и компоновка оптимизированы для круглого дисплея и масштабируются под разные размеры экрана, от маленьких до больших.
- Это включает в себя библиотеку
protolayout-material3, написанную исключительно на Kotlin, с более похожими на Compose API для следующих компонентов и функций: - Динамическая цветовая тема, заимствованная из системы и циферблата часов, с использованием новейшей темы Material3 для цветов, форм и типографики.
-
MaterialScopeдля учета всех заданных по умолчанию параметров и упрощения настройки. -
iconEdgeButton,textEdgeButton -
iconButton,textButton,button,imageButton,avatarButton,compactButton -
titleCard,appCard,graphicDataCard,iconDataCard,textDataCard -
circularProgressIndicator,segmentedCircularProgressIndicator -
primaryLayout,buttonGroup - Все компоненты работают с любыми версиями SDK и ProtoLayout Renderer, обеспечивая разумные резервные варианты там, где это применимо.
- Это включает в себя библиотеку
- Более удобные для Kotlin API, похожие на Compose, для базовых элементов ProtoLayout.
-
LayoutModifierпозволяет добавлять большинство модификаторов в виде цепочек функций (padding,contentDescription(включаяclearSemantics),background,clip,opacityи т. д.), и может быть преобразован в существующий объектModifiers -
LayoutColorsиLayoutString— типы данных с упрощенной поддержкой использования динамических полей и ограничений. -
textиfontStyle - Улучшена поддержка карт для
StateBuilder, включаяDynamicDataMapи фабричные методы, такие какintAppDataKeyдля упрощения создания объектовAppDataKey
-
- Анимации Lottie поддерживают возможность установки различных триггеров для запуска анимации, например, при загрузке макета или при отображении макета.
- Улучшена поддержка градиентов:
- API для линейных градиентов, входящий в состав
Brush, может использоваться в модификаторахBackgroundдля таких элементов, какBox,Spacerи т. д. - Разрешить динамические значения цвета в
ColorStop, используемом для линейных и градиентных переходов. - Существующий градиент заметания в дуговых объектах теперь поддерживает динамические цвета, а также начальные и конечные углы.
- Привязка данных платформы в
protolayout-expressionпозволяет получать информацию всякий раз, когда изменяется видимость макета, что, например, может использоваться для скрытия определенных частей макета во время пролистывания плитки. - В библиотеку тестирования
protolayout-testingдобавлена поддержка упрощенного модульного тестирования любых элементов ProtoLayout. - Новый элемент
DashedArcLineс улучшенным набором функций, позволяющий использовать пунктирные линии, в отличие от существующегоArcLine -
ArcSpacerподдерживает задание длины в единицах измерения DP вместо градусов. - Добавлена ось закругления
FontSettingприменимая к некоторым шрифтам.
Версия 1.3.0-alpha10
12 марта 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha10 . Версия 1.3.0-alpha10 содержит следующие коммиты .
Новые функции
- Добавить вспомогательную функцию для Brush в модификаторе фона Kotlin. ( I995de )
- В
MaterialScopeстало доступно обязательное поле Android Context, что упрощает его использование разработчиками в функциях, создающих компоненты для плиток Material3. ( I7df73 )
Изменения в API
- Переименуйте API
platformVisibilityStatusвPlatformEventSources.isLayoutVisibleи добавьте новый экспериментальный APIPlatformEventSources.isLayoutUpdatePending. ( IE1E04 )
Исправлены ошибки
- Теперь поля для
primaryLayoutокругляются в большую сторону, что в некоторых случаях может привести к уменьшению пространства в основном слоте до 2 dp. ( I8f5d3 ) - Уточнение стандартной динамической цветовой темы в компонентах Material3
ProtoLayout. ( Iff5f3 ) - Типографика
Typography.NUMERAL_*по умолчанию больше не является табличной/моноширинной. Если текст анимируется, настоятельно рекомендуется добавить параметрFontSetting.tabularNum(). Во всех остальных случаях этот параметр моноширинного формата не требуется, и без него будет доступно больше символов. ( Id3cd9 ) - Уточнение стандартной динамической цветовой темы в компонентах Material3
ProtoLayout. ( I9d831 )
Версия 1.3.0-alpha09
26 февраля 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha09 . Версия 1.3.0-alpha09 содержит следующие коммиты .
Новые функции
- Добавлены экспериментальные модификаторы для
enterTransitionиexitTransition( I4a4d6 ) - Мы добавили дополнительную привязку платформы для получения статуса видимости всего макета при его изменении. ( I250c3 )
- Разрешить внедрение данных о состоянии тестового приложения и платформе в
LayoutElementAssertionsProviderдля оценки динамических значений. ( Ib5fcb ) - Добавить фильтры углов в библиотеку тестирования макета ( IE2361 )
-
ButtonColors,CardColorsиProgressIndicatorColorsтеперь поддерживают метод copy с возможностью переопределения некоторых параметров. ( IE2054 )
Изменения в API
- Добавить поддержку динамической привязки данных в библиотеку тестирования ( Ib98de )
- Исправлена ошибка использования
imageButtonс функциейbackgroundImageпутем удаления эффекта наложения. Кроме того, добавлена возможность указания значения null для цветаbackgroundImage, что означает, что наложение не будет применено. ( Ibec3c )
Исправлены ошибки
- Изменен метод
hasValueOfTypeпо умолчанию: теперь вместоIllegalArgumentExceptionон выбрасывает исключениеUnsupportedOperationException. ( Ia36c3 ) - Значения цветовых токенов по умолчанию обновлены в соответствии с последней спецификацией ( I75d44 ).
- Исправлена ошибка сглаживания, видимая на дуговых линиях в рендерере AndroidX tiles. ( I88190 )
Версия 1.3.0-alpha08
12 февраля 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha08 . Версия 1.3.0-alpha08 содержит следующие коммиты .
Новые функции
- Добавить параметр списка
FontSettingдля текста Material3. ( Ic102d ) - Добавлен класс
DynamicDataMap, который теперь поддерживаетсяStateBuilder, для более типобезопасного API Kotlin для состояний приложения ( I012ba ). - Добавлены фабричные методы, такие как
intAppDataKeyдля упрощения создания объектовAppDataKey( Icea2a ). - В дополнение к методам
hasInt/hasColor/...,DynamicDataValueтеперь имеет методhasValueOfType(Class<?>)( I4f7a6 ). - Мы добавили
errorDimвColorSchemeMaterial3 ProtoLayout для обработки ошибок высокого приоритета или экстренных действий, таких как оповещения о безопасности. ( Ia17bb ) - Мы добавили защиту от сбоя при доступе к глобальной настройке reducemotion, которая срабатывала на некоторых платформах, где эта настройка не была предоставлена. ( I01e2c )
Изменения в API
-
addKeyToValueMappingпереименован вaddToStateMap, а методыDynamicDataMap.putудалены, поскольку они были избыточными. ( Ibe9dd ) - В Material3 Typography теперь поддерживается переменная ось округлости для системных шрифтов, поддерживающих эту ось. В ProtoLayout
FontSettingтакже поддерживается ось округлости для шрифтов, поддерживающих эту ось. ( I33eb5 ) - Переименовано
multilineAlignmentв alignment в текстовом методе Material3. ( I2b66b ) - Обновите круговой индикатор выполнения, присвоив ему тип «Box», а также укажите тип
mainContentвconstructGraphicкак Box ( I5a3dc ). - Улучшена поддержка использования циклического индикатора прогресса на графике ( I039db )
Исправлены ошибки
- Разрешить динамические значения в
ColorStop, а также для начального/конечного углов вSweepGradient. ( I0146d ) - Исправлены ошибки в документации. ( I4a63a )
- Обновлены компоненты Material 3 (
graphicCardиavatarButton) для обеспечения резервного варианта, когда расширение размеровweightне поддерживается (например, ниже API 33). Обновлен компонент текста для резервного использованияTEXT_OVERFLOW_ELLIPSIZE_ENDкогдаTEXT_OVERFLOW_ELLIPSIZEне поддерживается рендерером. ( I19e2c ) - Обновление документации для
PrimaryLayoutMargins( Ibaf7b ).
Версия 1.3.0-alpha07
29 января 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha07 . Версия 1.3.0-alpha07 содержит следующие коммиты .
Новые функции
- Добавлена опция API для установки различных триггеров для анимаций Лотти. Кроме того, добавлен API для триггеров, срабатывающих, когда макет виден ( I8272d ).
- Добавлены модификаторы
border,visibilityиopacity. ( I6d3dd ) - Добавлена кнопка аватара в компонент ProtoLayout Material3. ( Idb5ae )
- Теперь мы позволяем настраивать отступы (боковые, а в некоторых случаях и нижние) в Material3
primaryLayout. ( Ib22f6 ) - Добавьте сегментированный вариант кругового индикатора выполнения. ( I6a648 )
- Добавлен компактный компонент кнопки в ProtoLayout Material3. ( Ia3c5c )
- Добавлены компоненты кнопки в форме таблетки и кнопки с изображением в ProtoLayout Material3. ( Ifb88a )
Изменения в API
- Теперь
LayoutModfier.foldInназываетсяfoldRight, чтобы лучше отразить ожидаемое поведение ( Idf242 ). - Триггер
VisibleOnceтеперь находится в экспериментальной стадии. ( Ib2d26 ) - Удалите
withOpacityиз публичного API, так как существует альтернатива в виде графической библиотеки. ( I030c2 ) - Переименованы методы верхнего уровня в
LayoutString.ktиLayoutColor.kt, теперь им присвоены имена, понятные для Java. ( I7aff0 ) - Удалены типографические элементы, не относящиеся к ProtoLayout, в Material3. ( Idd9ae )
- Добавьте суффикс Color к полям в классах
*Colorsв Material3. ( I2d114 )
Исправлены ошибки
- Добавлена реализация резервного варианта
EdgeButtonдля старых рендереров без поддержки асимметричных углов. ( I63364 ) - Добавлена резервная реализация циклического индикатора выполнения с использованием более старого рендерера. ( I0f134 )
Версия 1.3.0-alpha06
15 января 2025 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha06 . Версия 1.3.0-alpha06 содержит следующие коммиты .
Новые функции
-
LayoutColorподдерживает как статические, так и динамические типы цветов ( I4c89b ) - Добавлен компонент текстовой кнопки
ProtoLayout Material3( ID680d ). - Добавьте компонент ProtoLayout Material3
iconButton( ICA3F0 ). - Добавлен компонент контейнера кнопки Material3 из ProtoLayout. ( I17a38 )
- Добавлена поддержка семантических модификаторов Chainable для protolayout-material3 ( I4af62 ).
- Добавлен односегментный
CircularProgressIndicatorProtoLayout Material3 ( I2c8a2 ). - Добавлены
paddingи модификаторыmetadata( I8720a ) - Добавлены
background,clipиclickableмодификаторы ( I35478 ) - Добавьте
LinearGradientк кисти и разрешите его использование в модификаторе фона. ( Ic4dea ) - Добавить небольшой размер для appCard и
titleCard. ( I91f98 ) - Добавлен компонент ProtoLayout Material3
graphicDataCard. ( I92be7 ) - Добавлены компоненты ProtoLayout Material3
iconDataCardиtextDataCard. ( I4e1e4 ) - Добавлен компонент ProtoLayout Material3
appCard. ( Id4c57 ) - Абстрактное
EdgeButtonColorsвButtonColors. ( I83624 ) - Добавлен компонент
titleCardProtoLayout Material3 ( I2dc72 ).
Изменения в API
- API ProtoLayout Material3 теперь принимает
LayoutStringдля поддержки как статического, так и динамического текста. ( I9c24a )
Исправлены ошибки
- Добавить реализацию рендерера для создания объекта
DashedArcLine( I0c700 ) - Изменение в механизме рендеринга, позволяющее
ArcSpacerучитывать длину dp. ( I1437b )
Версия 1.3.0-alpha05
11 декабря 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha05 . Версия 1.3.0-alpha05 содержит следующие коммиты .
Новые функции
- Добавлена поддержка строковых полей макета, допускающих
LayoutString. ( Ida650 ) - Добавлен компонент контейнера карточки из
ProtoLayout Material3. ( IC985A )
Исправлены ошибки
- В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Id1f9b , b/326456246 )
Версия 1.3.0-alpha04
13 ноября 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha04 . Версия 1.3.0-alpha04 содержит следующие коммиты .
Новые функции
- Обновлена форма Material3: теперь это класс с полями, хранящими фактическое значение угла, как в Wear Compose. ( Ied8cd )
- Обновлены цвета Material3 с учетом концепции
ColorScheme, аналогичной той, что используется в Wear Compose. ( If645e ) - Добавьте в библиотеку тестирования несколько часто используемых сопоставителей. ( IE5CEC )
Версия 1.3.0-alpha03
30 октября 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha03 . Версия 1.3.0-alpha03 содержит следующие коммиты .
Новые функции
- Добавьте
LayoutElementAssertionsProvider,LayoutElementAssertionиLayoutElementMatcherв библиотеку тестирования ( Id1110 ).
Версия 1.3.0-alpha02
16 октября 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha02 . Версия 1.3.0-alpha02 содержит следующие коммиты .
Новые функции
- Начальная версия библиотеки Material 3. Включает компоненты
text,edgeButton,buttonGroupиprimaryLayout.
Исправления безопасности
- После этого изменения androidx компилируется с использованием protobuf 4.28.2 для устранения уязвимости CVE-2024-7254 . Обновите зависимость от версии 1.3.0-alpha01 для
androidx.wear.protolayout:protolayout-protoиandroidx.wear.protolayout:protolayout-external-protobufдо версии 1.3.0-alpha02, чтобы устранить риск уязвимости.
Внешний вклад
Версия 1.3.0-alpha01
2 октября 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты .
Исправлены ошибки
- Уточнено, что доступность названий семейств шрифтов Roboto и Roboto Flex зависит от устройства. ( I193be )
- В AndroidX Tile renderer включено семейство шрифтов Roboto Flex. ( I08e94 )
Версия 1.2
Версия 1.2.1
16 октября 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.1 . Версия 1.2.1 содержит следующие коммиты .
Исправления безопасности
- В результате этого изменения androidx компилируется с использованием protobuf 4.28.2 для устранения уязвимости CVE-2024-7254 . Обновите зависимость от версии 1.2.0 пакетов
androidx.wear.protolayout:protolayout-protoиandroidx.wear.protolayout:protolayout-external-protobufдо версии 1.2.1, чтобы устранить риск уязвимости.
Версия 1.2.0
7 августа 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0 . Версия 1.2.0 содержит следующие коммиты .
Важные изменения по сравнению с версией 1.1.0
-
FontStyleвнесены изменения, обеспечивающие дополнительную поддержку шрифтов для переменных осей, а также улучшен API выбора шрифтов для поддержки будущих шрифтов Flex. - Дополнительная поддержка модификаторов:
- Модификатор трансформации, позволяющий перемещать, вращать и масштабировать объекты с анимацией или без нее.
- Задание различных значений (по горизонтали и вертикали) для каждого радиуса скругления углов.
- Улучшена доступность всех сенсорных элементов за счет расширения области касания любого элемента, использующего модификатор Clickable, до размеров не менее
48dpна48dp. - Улучшены свойства
PrimaryLayoutиEdgeContentLayoutза счет добавленияsetResponsiveContentInsetEnabled, что обеспечивает лучшую поддержку адаптивного поведения этих макетов на экранах разных размеров и повышает согласованность работы с Tiles. - Улучшено масштабирование/отсутствие масштабирования Material Text для нелинейного масштабирования шрифтов в Android 14.
- Улучшена поддержка направления RTL-разметки для всех дуговых элементов.
Дополнительные изменения
- Более полный перечень изменений, внесенных в версию 1.1.0, см. в примечаниях к выпуску beta01 .
Версия 1.2.0-rc01
24 июля 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты .
Исправлены ошибки
- Мы исправили стандартный Material Chip таким образом, что его можно использовать в качестве значка только в том случае, если не переданы ни основная, ни дополнительная метка. ( Iceef9 )
- Документация по макетам Material Design обновлена и теперь включает визуальные элементы с соответствующей страницы для более удобного понимания макетов. ( I0256a )
Версия 1.2.0-beta01
10 июля 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие коммиты .
Новые функции
Выпуск 1.2.0-beta01 библиотеки Wear ProtoLayout указывает на то, что данный релиз является полностью функциональным, а API заблокирован (за исключением тех мест, которые помечены как экспериментальные). Wear ProtoLayout 1.2 включает следующие новые функции и API:
-
FontStyleдобавлена поддержка дополнительных шрифтов:- Настройка различных параметров шрифта, таких как
FontSetting.weightиFontSetting.width - Установка одинаковой ширины для всех цифровых символов — табличных цифр (настройка шрифта
FontSetting.tnum) - Улучшены API выбора шрифтов для поддержки будущих гибких шрифтов путем указания предпочтительных названий семейств шрифтов для использования.
- Настройка различных параметров шрифта, таких как
- Модификатор Extended
Cornerпозволяет задавать для каждогоCornerRadiusотдельные горизонтальные и вертикальные значения, что дает возможность создавать элементы с асимметричными углами. - Добавлен новый модификатор
Transformation, позволяющий изменять положение, вращение и масштабирование элементаLayoutElement. Эти преобразования можно анимировать с помощью динамических значений. - Добавлена
setArcDirectionс параметрамиClockwise,CounterClockwiseиNormalдля всех элементов дуги (Arc,ArcLineиArcText) для лучшей поддержки различных направлений компоновки (например, LTR и RTL). - Улучшена доступность всех сенсорных элементов за счет расширения области касания любого элемента, использующего модификатор
Clickableдо размеров не менее48dpна48dp. - Улучшены
PrimaryLayoutиEdgeContentLayoutза счет добавленияsetResponsiveContentInsetEnabledдля лучшей поддержки адаптивного поведения этих макетов на экранах разных размеров и повышения согласованности Tiles. Добавлено предупреждение линтера, предлагающее использовать эти API с быстрым исправлением. - Улучшено масштабирование/отсутствие масштабирования Material
Textдля нелинейного масштабирования шрифтов в Android 14.
Изменения в API
- Имя семейства шрифтов по умолчанию (
DEFAULT_SYSTEM_FONT) удалено, поскольку оно подразумевается при неиспользовании APIpreferredFontFamilies. ( I39dab ) - Параметр, передаваемый в
FontSetting.width, должен быть положительным. ( I1266f )
Версия 1.2.0-alpha05
26 июня 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-alpha05 . Версия 1.2.0-alpha05 содержит следующие коммиты .
Новые функции
- Добавьте метод
hasTextкMaterial.CompactChipдля проверки того, было ли установлено текстовое содержимое. ( I6e8fc )
Изменения в API
- Константы
FontFamilyперемещены вFontStyle, а не в класс Builder. ( I06ced ) - Обновите API
FontSetting.weightиFontSetting.width, добавив аннотации Range, и измените параметр weight на целочисленный ( Ia726c ).
Исправлены ошибки
- Тексты, не масштабируемые в библиотеке Material, теперь корректно работают с нелинейным масштабированием шрифтов в Android 14. ( I6601e )
Версия 1.2.0-alpha04
29 мая 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-alpha04 . Версия 1.2.0-alpha04 содержит следующие коммиты .
Изменения в API
- Добавлен API для асимметричных углов, позволяющий указывать радиус каждого угла отдельно с помощью двух значений. ( Icbd69 )
- Расширен API
FontSetting, теперь он включает в себя: - В
FontStyleдобавлен API для семейств шрифтов, позволяющий указывать порядок использования тех или иных семейств шрифтов. ( Iba9f5 ) - Переименованы константы для высоты пространства между содержимым и дополнительной меткой в
LayoutDefaultsмодуля Material, которые изначально имели префикс «Edge content», чтобы сделать их более универсальными, поскольку они могут применяться как кPrimaryLayoutтак иEdgeContentLayout. ( I4dc32 )
Исправлены ошибки
- Переименование осей с переменным шрифтом: с
axisNameнаaxisTag. ( I02ba3 )
Версия 1.2.0-alpha03
14 мая 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-alpha03 . Версия 1.2.0-alpha03 содержит следующие коммиты .
Новые функции
- Добавлен API для установки пользовательских значений толщины шрифта
FontStyle. ( I7390a )
Исправлены ошибки
- Исправлена ошибка в
getTouchDelegateInfo, возникающая из-за пустой карты целевых объектов. ( I2accf )
Версия 1.2.0-alpha02
1 мая 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит следующие коммиты .
Изменения в API
- Мы добавили поддержку отключения обратной связи в виде пульсаций для отдельных кликабельных элементов. ( If1ede )
- API для преобразования был удален из
ArcModifiers, поскольку они не поддерживают эту функцию ( Ic0827 ). - Теперь
ArcDirectionPropBuilder ожидает значение в конструкторе. ( I76ada ) - Метод
PlatformDataValues.Builder.putAllпозволит объединить одинPlatformDataValueс другим. ( I50ba3 ) -
Text#setIsScalableпереименована вText#setScalable. ( If920e ) - В Material Text можно задать, следует ли использовать масштабируемый размер (увеличивается при изменении размера шрифта пользователем) или нет. ( Ibc849 )
- Мы добавили возможность задать описание контента для
TitleChip. ( I5d21f ) - Исправлена ошибка в работе
CompactChipтеперь он корректно работает только с иконкой, а API обновлен для поддержки этой опции. ( I6589e )
Исправлены ошибки
- Исправлена ошибка, из-за которой при инициализации могли возникать дублирующиеся данные платформы. ( Iba0fd )
- Ввести новый геттер для
DynamicDataNodeдля получения стоимости узла. Стоимость используется при получении динамической квоты на узлы. В настоящее время узлы с фиксированными значениями имеют стоимость 0, все остальные узлы — стоимость 1. ( Ia33e1 ) - Удалите логику подсчета из
NO_OP_QUOTA_MANAGER. ( Ib50b8 ) - Мы добавили правило линтинга, которое выдает предупреждение при использовании
PrimaryLayoutбезsetResponsiveContentInsetEnabled, и предлагаем быстрое решение проблемы. ( I12025 ) - Существует ограничение на количество динамических узлов выражений. ( Iffae8 )
Версия 1.2.0-alpha01
6 марта 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит следующие коммиты .
Новые функции
- Теперь элементы
ProtoLayout Arcмогут добавлять параметрArcDirection(Clockwise,CounterclockwiseилиNormal). Добавление этого поведения кArc,ArcLineилиArcTextисправит их поведение в макетах с направлением текста справа налево (RTL). ( I90699 ) - В
EdgeContentLayoutдобавлен новый сеттерsetResponsiveContentInsetEnabledдля лучшего соответствия рекомендациям по UX, обеспечения единообразия в Tiles за счет фиксированного расположения основной метки сверху и адаптивного отступа для меток. ( I60175 ) - Мы добавили
PrimaryLayout.setResponsiveContentInsetEnabled, который добавляет адаптивный отступ к основной метке, дополнительной метке и нижнему чипу в этом макете, чтобы избежать выхода содержимого за края экрана. ( I0c457 ) - Добавлен метод для удаления внешних полей из
CircularProgressIndicator, чтобы его можно было использовать в качестве более компактного компонента. ( I55c06 )
Изменения в API
- Теперь средство рендеринга плиток по умолчанию исключает отступы шрифта для всех текстовых элементов, без возможности их включения. ( I3e300 )
Исправлены ошибки
- Исправлена проблема выравнивания текста при одновременном использовании параметров многоточия, межбуквенного расстояния и выравнивания по центру. ( I716c7 )
- Добавлено обходное решение проблемы с отрисовкой дуги Skia. ( I08f09 )
- Исправить направление отрисовки
ArcLineдля RTL-макетов. ( I6c141 )
Версия 1.1
Версия 1.1.0
7 февраля 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.1.0 . Версия 1.1.0 содержит следующие коммиты.
Важные изменения с версии 1.0.0
- Поддержка градиентов и более точное отображение длин, превышающих 360 градусов, в
ArcLine. - Форматирование даты и времени поддерживает различные часовые зоны для динамических типов данных.
- Улучшены параметры автоматического изменения размера текста и добавления многоточия для обработки усеченного текста.
- Проставка позволяет увеличить габаритные размеры за счет дополнительного утяжелителя.
- Аннотация, указывающая на требование к версии схемы, для всех API
ProtoLayout. - Расширена целевая область для любого
Clickableэлемента до 48 dp x 48 dp в соответствии с требованиями доступности. - Отступы шрифта по умолчанию отключены, и это единственное поведение для всех текстовых элементов и компонентов Material Design, содержащих текст.
Дополнительные изменения
- Более полный перечень изменений, внесенных в версию 1.1.0, см. в примечаниях к выпуску beta01 .
Версия 1.1.0-rc01
24 января 2024 г.
Выпущена библиотека androidx.wear.protolayout:protolayout-*:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты.
Исправлены ошибки
- Функция
PlatformTimeUpdateNotifierImplсрабатывает сразу после включения обновления. ( I77145 ) - Исправлена ошибка
CircularProgressIndicatorдля RTL-макетов. Теперь он будет вращаться по часовой стрелке во всех случаях. ( I95ee3 ) - Добавлено обходное решение проблемы с отрисовкой дуги Skia. ( I08f09 )
Версия 1.1.0-beta01
10 января 2024 г.
Выпущена версия androidx.wear.protolayout:protolayout-*:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты.
Новые функции
Выпуск 1.1.0-beta01 библиотеки Wear ProtoLayout указывает на то, что данная версия библиотеки полностью функциональна, а API заблокирован (за исключением тех мест, которые помечены как экспериментальные). Wear ProtoLayout 1.1 включает следующие новые функции и API:
- Теперь
ArcLineподдерживает градиенты благодаря добавлениюBrushсSweepGradient, а также добавлению тени к вершине линии для более точного отображения длины, превышающей 360 градусов, путем добавленияShadowк существующемуStrokeCap. -
DynamicInstantподдерживает форматирование даты и времени по зонам.DynamicInstantиDynamicDurationможно использовать в качестве типов данных состояния или платформы. - Функция автоматического изменения размера текста позволяет задавать несколько размеров с помощью
FontStyle.setSizes, при этом размер текста будет автоматически масштабироваться в зависимости от пространства внутри родительского элемента. Кроме того, мы улучшили параметры многоточия для текста, выходящего за пределы родительского элемента, добавивTEXT_OVERFLOW_ELLIPSIZEи заменивTEXT_OVERFLOW_ELLIPSIZE_ENDна устаревший. - Теперь
Spacerподдерживает расширенные размеры с необязательным весом. Для созданияExpandedDimensionPropмы добавили вспомогательный методDimensionBuilders.weight. - Поддержка динамического скрытия и отображения элементов макета с помощью
Modifier.visible. Это включает в себя использование динамических значений вBoolProp. - Теперь все API
ProtoLayoutимеют аннотацию, указывающую на требование версии схемы, и версию можно проверить перед вызовом более нового API. - Every element that has
Clickablenow has its target area extended to at least 48x48 in the renderer to better support accessibility requirements. - Following other Material components and Compose initiatives, we have now turned off font padding by default on all
Textelements. Additionally,AndroidTextStyleand related setters have been removed from the public API. with following bug fixes: - Added a setter for positioning the edge content in
EdgeContentLayoutso it can be positioned before other content. - Consistently throwing an exception when encountering an unrecognized enum value.
- Invalidate the result of an expression when it yields an invalid numeric value (NaN or infinite) or throws an
ArithmeticException.
Изменения в API
- Updates to
SweepGradientAPI to allow accepting either colors orColorStopsin the constructor. ( I6676f )
Исправлены ошибки
- Adding a restricted API and renderer support for setting a direction in which arc elements are drawn. ( Idef5a )
-
RoundModedefaults toFloorinFloatToInt32Nodewhen unspecified. The node will still throw an exception if the providedRoundModeis unrecognized. ( I1b2d8 )
Версия 1.1.0-alpha04
13 декабря 2023 г.
androidx.wear.protolayout:protolayout-*:1.1.0-alpha04 is released. Version 1.1.0-alpha04 contains these commits.
Новые функции
-
VersionInfoclass not implements theComparableinterface. ( I8d13c ) - Renderer now supports
TEXT_OVERFLOW_ELLIPSIZEoption. ( I7f085 )
Изменения в API
- Text overflow option
TEXT_OVERFLOW_ELLIPSIZE_ENDis now deprecated. Please use the new APITEXT_OVERFLOW_ELLIPSIZEwith very similar behavior. ( I822d8 ) - Following other Material components and Compose initiatives, we have now turned off font padding by default on all Text elements. Additionally,
AndroidTextStyleand related setters have been removed from the public API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 ) -
Modifier.hiddenis replaced withModifier.visible( I56902 ) -
FontStyle#setSizesnow accepts int instead ofSpProparguments. ( I02b37 )
Исправлены ошибки
- Throw an exception when encountering an Undefined or Unrecognized enum value. ( I9d2cf )
- Refactor
DynamicTypeBindingRequest. ( I27b57 ) - Invalidate the result of an expression when it yields an invalid numeric value (NaN or infinite) or throws an
ArithmeticException. ( I681ae )
Версия 1.1.0-alpha03
29 ноября 2023 г.
androidx.wear.protolayout:protolayout-*:1.1.0-alpha03 is released. Version 1.1.0-alpha03 contains these commits.
Новые функции
- Add experimental support for dynamically hiding/unhiding layout elements ( I64a78 )
- Add dynamic value support to
BoolProp( I2fe96 ) - Add schema version requirement annotation to
ProtoLayoutAPIs ( I0f03c ) - Extending the API with the new option in
TextOverflowfor ellipsizing the Text in a fixed parent container even when max lines is not reached (but there's not enough space for Text). ( I110a9 ) - Added helper method
DimensionBuilders.weightfor buildingExpandedDimensionPropwith weight. ( I4f72b ) -
DynamicInstantandDynamicDurationcan be used as state or platform data types. ( I6819f )
Изменения в API
- Update The API to hide
DynamicZonedDateTimeand move all its operations toDyanamicInstant( I34b94 ) - Spacer now supports Expanded dimension for width/height. ( Ie7c94 )
- Support click target area extension in Renderer ( I39c79 )
Версия 1.1.0-alpha02
15 ноября 2023 г.
androidx.wear.protolayout:protolayout-*:1.1.0-alpha02 is released. Version 1.1.0-alpha02 contains these commits.
Новые функции
- Added an
ArcLineStrokeCapShadowfield to the API. ( I830ec ) - Extending the API to be able to specify Spacer's width or height to expand. ( I757ca )
- Мы добавили экспериментальный API для автоматического масштабирования размера текста в зависимости от пространства внутри родительского элемента. ( Ibbe63 )
- Support minimum clickable size ( I178e3 )
- Added renderer support for
StrokeCapShadow. ( I48b17 ) - Add renderer support for Sweep Gradient in
ArcLine. ( I4d5bb )
Версия 1.1.0-alpha01
18 октября 2023 г.
androidx.wear.protolayout:protolayout-*:1.1.0-alpha01 is released. Version 1.1.0-alpha01 contains these commits.
Новые функции
- Added a brush option to
Arcline, with support forSweepGradient. ( Ie7ce3 ) - Added support for zoned date-time formatting. ( Ibfae0 )
- Added protos and java Wrappers required for zoned date-time formatting. ( I97126 )
- Added getters for reading back the value stored in a
DynamicDataValue. ( Ie6cea ) - Added a setter for positioning the edge content in
EdgeContentLayoutso it can be positioned before other content. ( Ie8e8a )
Исправлены ошибки
- Fixed an issue when an expression with multiple time data source registrations was not being updated immediately. ( I8e1a8 )
- Fixed a bug to center root element during diff updates. ( Ie48f7 )
- Unset (or empty) layout constraint values will not be ignored anymore. ( Ibc785 )
- Reduced delay between a layout becoming visible and its pipeline nodes being initialized. ( I38d4e )
Версия 1.0
Версия 1.0.0
9 августа 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0 is released. Version 1.0.0 contains these commits.
Основные особенности версии 1.0.0
ProtoLayout library introduces APIs for creating layouts and expressions that can be used across different Wear OS surfaces. For example Tiles library uses these APIs to support platform data binding (for faster tile data updates) and animations.
Версия 1.0.0-rc01
26 июля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-rc01 is released. Version 1.0.0-rc01 contains these commits.
- To migrate from Tiles to
ProtoLayout, please follow the instructions here .
Изменения в API
- We have removed
setLayoutConstraintForDynamicAnchorAngleandgetLayoutConstraintForDynamicAnchorAnglemethods from Arc element. These methods have been added by mistake and they didn't have any effect on the provided layout. ( If7d01 ) - We have limited the maximum depth that a
ProtoLayout's layout can have to 30 nestedLayoutElements. ( I8a74b )
Исправлены ошибки
- We have added a check to throw if
DynamicColorhas been set for aSpanText. ( I0e5bc ) - It is clarified that
DAILY_CALORIESdata source unit is kcal. ( Iaa785 )
Версия 1.0.0-beta01
21 июня 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-beta01 is released. Version 1.0.0-beta01 contains these commits.
Новые функции
- Allow setting clock for time binding tests. ( I05622 )
Изменения в API
-
PlatformDataReceiver.onData()andStateBuilders.Builder.addKeyToValueMappingnow accept type-safe mapping ofDynamicDataKeytoDynamicDataValuerather than unsafe generics. That means thatDynamicDataValueis now typed with itsDynamicType.HEART_RATE_ACCURACY_Xconstants moved to the root ofPlatformHealthSources, to match other Android constants positioning.HEART_RATE_ACCURACY_Xint constants are now used directly inDynamicHeartRateAccuracy.constant()andDynamicHeartRateAccuracy.dynamicDataValueOf()instead of value constant. ( I82ff5 ) - The
PlatformHealthSources.Constantsclass was instantiable by mistake. This has been fixed now. ( Icb849 ) -
PlatformTimeUpdateNotifier#setReceivernow receivesRunnableinstead ofSupplierfunction andExecutorto notify on. ( I9d938 ) - We have changed the parameter type in the
PlatformTimeUpdateNotifier#setReceiverfromCallabletoSupplier. ( I664bf ) -
CompactChipandTitleChipnow support adding an icon to it. ( I5a01e )
Исправлены ошибки
- Update Prop messages with dynamic fields to use oneof instead ( I81739 )
- Reuse setters implementation for overloads that have setters ( Ied70c )
- Properly record fingerprints in setters that have overloads ( I86ed2 )
Версия 1.0.0-alpha11
7 июня 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11 is released. Version 1.0.0-alpha11 contains these commits.
Новые функции
- We've added a
PlatformDataKeyfor heart rate accuracy. ( I7f9b8 )
Изменения в API
- Rename
StateBuilders#getIdToValueMappingtogetKeyToValueMappingand change the return type toMap<<AppDataKey<?>,DynamicDataValue>. ( Iaa7ae ) - Make
StateStorea final class ( I408ca ) -
TimeGatewayinterface has been replaced byPlatformTimeUpdateNotifierinprotolayout-expression-pipelinelibrary which provides desired frequency for updating time data. ( I60869 ) - Rename
register/unregisterForDatainPlatformDataProvidertoset/clearReceiver( I14b02 ) - In Material Text,
getExcludeFontPaddinghas been renamed tohasExcludeFontPadding. ( Iea01d ) - Setter for perfectly aligning label was added to all chip components. All chips now have min tappable target applied. ( I8ae92 )
-
LayoutDefaults#BUTTON_MAX_NUMBERhas been renamed toMAX_BUTTONS. ( I84788 ) -
DAILY_DISTANCEis renamed toDAILY_DISTANCE_M. ( I4f758 )
Исправлены ошибки
- Update Prop types docs to clarify why static value is enforced. Specify the default value used if static value wasn't provided. ( I155aa )
-
PlatformDataKeynamespaces should follow Java style naming. ( I47bda )
Версия 1.0.0-alpha10
24 мая 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10 is released. Version 1.0.0-alpha10 contains these commits.
Новые функции
- Add
AppDataKeyfor accessing app pushed state; AddPlatformDataKeyfor accessing platform data; Add namespace support inStateStore. ( I7985e ) - Support
EqualandNotEqualoperations forDynamicBool. ( I6a0c1 )
Изменения в API
-
FontStylesclass is now final ( Iaa2ea ) -
LayoutElementBuilders#FontStyleshas been deprecated. Please useandroidx.wear.protolayout.Typographyor create your ownFontStyle. ( Ic929b ) - Hide
Action#Buildernested interface fromActioninterface. Implementations of Builder are already provided byLoadActionandLaunchActionclasses. ( I1d70c ) - Allow using
DynamicFloatwithFloatProp. Note thatFloatPropdo no require layout constraints as it's not used as a layout changing prop. ( I286ac ) - The
LoalActionandSetStateActionactions are removed as they were not really supported yet. ( I5d6a6 ) - Added support for ARGB_8888 format for inline image resources. ( I8a07c )
- Rename
StateEntryValuetoDynamicDataValue, and update the state APIS to use theDynamicDataKey( If1c01 ) - Мы ограничиваем количество записей, разрешенных в
StateStore, чтобы обеспечить эффективное использование памяти и контроль времени обновления состояния для каждого экземпляраStateStore. В результате разработчику необходимо убедиться, что в карте не содержится болееMAX_STATE_ENTRY_COUNTзаписей, иначе при создании или обновленииStateStoreвозникнет исключениеIllegalStateException. ( Ibadb3 ) - Hide
OnLoadTriggerandOnConditionMetTriggerclasses, and renamesetTriggertosetConditionforOnConditionMetTrigger. ( Ibf629 ) - For performance and compatibility reasons, the
ProtoLayoutrenderers won't support the full set of features inAnimatedVectorDrawableresources. We're marking those APIs as experimental until we can define the supported set. ( Ic6daf ) - Added dynamic types for daily distance, daily calories and daily floors. Keys for platform health sources are now under
PlatformHealthSources.Keys( Ib7637 ) - The
Easing.cubicBeziermethod replaces theCubicBezierEasing.Builder. With that theEasingFunctionclass is removed and the easing constants from that class are now directly accessible from theEasinginterface. In additionsetInfiniteRepeatableis replaced byINFINITE_REPEATABLE_WITH_RESTARTandINFINITE_REPEATABLE_WITH_REVERSE( Ib41e7 ) - Implement
PlatformDataProviderto provide heart rate and daily steps.SensorGatewayinterface is removed from public API. ( I55b84 ) - Add
PlatformDataProvider, and updateStateStoreto register toPlatformDataProviderwhen the provider's supported key is required by node from expression pipeline. ( Ib616a ) -
SensorGatewayis no longerCloseableas it no longer maintains any state. ( I6b4f7 ) - Allow using
FloatPropwithDynamicFloatfor progress inCircularProgressIndicator. This is supported for renderers supporting version 1.2. Old renderers will fallback to thestaticValueif provided, otherwise to 0 ( I0d91b ) -
MultiButtonLayoutconstants have been refactored intoLayoutDefaults.MultiButtonLayoutDefaultsclass which now contains those for button sizes depending on a number of buttons in the layout. ( I13973 ) - Support using
StringPropwithDynamicStringin Material Text. This is supported for renderers supporting version 1.2. Old renderers will fallback to the provided static value. UpdateText#getTextreturn type fromStringtoStringProp. ( I7275b )
Версия 1.0.0-alpha09
10 мая 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09 is released. Version 1.0.0-alpha09 contains these commits.
Новые функции
- We've added an experimental extension layout element. Note that this can't be used by default and requires a renderer extension capable of understanding the layout element. ( I6581d )
- Added
StrokeCapsupport forArcLine. ( I94951 ) - Added support for Conditional Instant operation. ( I489a7 )
- Added support for Conditional Duration operation. ( Iab469 )
- Added support for creating duration from seconds. ( Ib5fa1 )
Изменения в API
-
enable/disablePlatformSourcemethods have been removed fromDynamicTypeEvaluator. The caller should be responsible for updates. ( I78c6d ) - Allow capping the size of bound data types. ( Ie2966 )
- Add support for dynamic content description in
protolayout-material. ( I62c8e ) - Use long and
@IntRangefor duration and delay in AnimationParameters. ( I388b6 )
Версия 1.0.0-alpha08
19 апреля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08 is released. Version 1.0.0-alpha08 contains these commits.
Новые функции
-
AndroidTextStylehas been added toLayoutElementBuilders. ( I8d967 ) - We have added support for setting excluding font padding in
ProtoLayoutMaterial Text. ( I17f5d ) - ARGB_8888 is now supported for inline images. ( I18c1e )
-
DynamicColornow supportsonConditionoperation. ( I10927 )
Изменения в API
- Support custom duration for reverse animation ( I3251f )
- We've added the
SemanticDescriptionmodifier. In addition,ContentDescriptionis not bindable. ( I3f1d ) - The
DynamicBool.isFalse()method is now replaced withDynamicBool.negate()and theDynamicBool.isTrue()is removed. In addition NaNDynamicFloatvalues and narrowing aDynamicInt32to aDynamicFloatnow emit an invalid dynamic result. ( I6ac1e ) - Int and float formatters now use the Builder pattern. ( Ieb213 )
Исправлены ошибки
- Fallback static value has been removed from animatable fields. ( Ifcb01 )
-
DynamicTypeValueReceiver#onPreUpdatehas been removed. ( I2dc35 ) - Length of Strings in dynamic expressions are now capped. ( I4c93 )
- Теперь зависимости Gradle корректно устанавливаются на
apiвместоimplementation, когда это необходимо. ( I40503 )
Версия 1.0.0-alpha07
5 апреля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07 is released. Version 1.0.0-alpha07 contains these commits.
Новые функции
Изменения в API
-
sensorGateway#registerSensorGatewayConsumertakes data type as a parameter instead of method in Consumer. ( Icf314 ) -
ObservableStateStoreбыл переименован вStateStore. ( Ieb0e2 ) - Added
DynamicTypeEvaluator.Builderinstead of constructor arguments to allow more optional arguments, includingObservableStateStorewhich now defaults to an empty store. ( I6f832 ) - Refactored order of parameters in
DynamicTypeEvaluator. ( Ic1ba4 )
Исправлены ошибки
- Correctly propagate signals from platform sensor sources to downstream nodes ( I5a922 )
Версия 1.0.0-alpha06
22 марта 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06 is released. Version 1.0.0-alpha06 contains these commits.
Новые функции
- We've added an experimental API for using heart rate and daily steps in dynamic expressions ( Ifd711 )
- We have added support for reverse and forward delay for animations. ( Ic25f7 )
- We've added
DynamicColorsupport to Border and Background - We've added dynamic value support to types in
DimensionBuilder - Layout and components from
tiles-materialare moving toprotolayout-material
Изменения в API
-
LoadActionListenerhas been added toProtoLayoutViewInstance. ( If7806 )
Исправлены ошибки
- Added
FloatNodesTest( Id7281 ) - Fix renderer crash when unable to load structured bitmap.
Версия 1.0.0-alpha05
8 марта 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05 is released. Version 1.0.0-alpha05 contains these commits.
Новые функции
- We've added an experimental "content update" animation to the
Modifiersobject. This animation will trigger whenever the element (with this modifier) or one of its children changes during a layout update. ( bd03e5d )
Изменения в API
- We've added
forwardRepeatDelayMillisandreverseRepeatDelayMillistoRepeatable. We've also renameddelayMillisinAnimationSpectostartDelayMillis( Ifb266 ) -
DynamicTypeEvaluator.bindmethods now accept an Executor. ( I346ab ) - We've added the
startEvaluationmethod to theBoundDynamicTypeto trigger the evaluation after the dynamic type is bound. ( I19908 )
Исправлены ошибки
- The Animator object will be reused for subsequent animations of a single element. ( Ia3be9 )
Версия 1.0.0-alpha04
22 февраля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04 is released. Version 1.0.0-alpha04 contains these commits.
Новые функции
-
ObservableStateStorenow informs the listeners when a key is removed too. - We've added renderer schema version and font scale to
DeviceParameters(which can be used to conditionally create layouts in response to different versions and font settings). - We've added support for animating
DynamicInt32values ( I05485 ) - We've added
OnLoadandOnConditionalMettriggers. These can be used to start animations that support a trigger. - We've added layout weight for expanded dimensions and min size for wrapped dimensions.
- We've added duration and instant dynamic types. These can be used to represent a time instant or duration in a dynamic expression.
- We've added support for
AnimatedVectorDrawableandSeekableAnimatedVectorDrawableas layout resources.
Изменения в API
- Sensor data requires API 29+. ( I8099e )
- We've added two
launchActionhelper methods (for launching Activities).
Исправлены ошибки
- Rename
set/getSpectoset/getAnimationSpecin Tiles animation ( I3d74b )
Версия 1.0.0-alpha03
8 февраля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03 is released. Version 1.0.0-alpha03 contains these commits.
Новые функции
- We have added
toByteArray()andfromByteArray()to Dynamic types in protolayout-express library. - We have added
toString()to Dynamic types in protolayout-expression library. - We have added evaluation support for Dynamic types. The
DynamicTypeEvaluatorclass from the protolayout-expression-pipeline library can be used to evaluate (and receive updated values) for a previously create Dynamic type (DynamicString,DynamicFloat, …) - When animations can't be played (either because they are disabled by the evaluator, or the number of running animations has reached the set limit), the static values set on the animatable node will be used to replace the animation.
Версия 1.0.0-alpha02
25 января 2023 г.
androidx.wear.protolayout:protolayout:1.0.0-alpha02 , androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02 , and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.
Новые функции
- Layout builders from
androidx.wear.tiles:tilesare moving toandroidx.wear.protolayout:protolayout. The ones inandroidx.wear.tiles:tileswill be deprecated in one of the next alpha releases.
Версия 1.0.0-alpha01
11 января 2023 г.
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01 and androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
Новые функции
- This release introduces a new library "ProtoLayout Expression" for creating expressions from dynamic variables.