износ protolayout
Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-релиз | Альфа-релиз |
---|---|---|---|---|
20 мая 2025 г. | 1.2.1 | 1.3.0-rc01 | - | - |
Объявление зависимостей
Чтобы добавить зависимость от wear-protolayout, необходимо добавить репозиторий Google Maven в свой проект. Прочтите репозиторий Google Maven для получения дополнительной информации.
Добавьте зависимости для необходимых артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.1" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.1" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.1" }
Котлин
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.1") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.1") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.1") }
классный
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.2.1" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.2.1" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.2.1" }
Котлин
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.2.1") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.2.1") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.2.1") }
Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Более подробную информацию смотрите в документации Issue Tracker .
Версия 1.3
Версия 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 ) - Окончательная доработка UX-дизайна
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 содержит эти коммиты .
Новые возможности
Выпуск Wear ProtoLayout 1.3.0-beta01 указывает на то, что этот выпуск библиотеки является функционально полным, а API заблокирован (за исключением случаев, помеченных как экспериментальные). Wear ProtoLayout 1.3 включает в себя следующие новые функции и API:
- Дизайн Material 3 реализован в часах, компоненты и компоновка которых оптимизированы для круглого дисплея и масштабируются соответствующим образом от маленьких до больших экранов.
- Сюда входит библиотека
protolayout-material3
только на Kotlin, с большим количеством API-интерфейсов в стиле Compose для следующих компонентов и функций: - Динамическая цветовая тема, исходящая из системы и циферблата с новейшей темой Material3 для цветов, форм и типографики
-
MaterialScope
для обработки всех стандартных настроек и упрощения настройки -
iconEdgeButton
,textEdgeButton
-
iconButton
,textButton
,button
,imageButton
,avatarButton
,compactButton
-
titleCard
,appCard
,graphicDataCard
,iconDataCard
,textDataCard
-
circularProgressIndicator
,segmentedCircularProgressIndicator
-
primaryLayout
,buttonGroup
- Все компоненты работают на всех уровнях SDK и версиях ProtoLayout Renderer, предоставляя разумные резервные варианты там, где это применимо.
- Сюда входит библиотека
- Больше API-интерфейсов, совместимых с Kotlin и похожих на 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
, используемые для линейного и скользящего градиента - Существующий градиент Sweep в объектах дуги теперь поддерживает динамические цвета, а также начальные и конечные углы.
- Привязка данных платформы в
protolayout-expression
для получения информации в любое время, когда изменяется видимость макета, что, например, можно использовать для скрытия определенных частей макета при перемещении плитки - Библиотека тестирования
protolayout-testing
была добавлена для поддержки более простого покрытия модульным тестированием любых элементов ProtoLayout. - Новый элемент
DashedArcLine
с улучшенным набором функций, благодаря чему линия может иметь штрихи, в отличие от существующегоArcLine
- Поддержка
ArcSpacer
для установки его длины в измерении DP вместо градусов - Добавлена ось
FontSetting
скругления, применимая к некоторым шрифтам.
Версия 1.3.0-альфа10
12 марта 2025 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha10
. Версия 1.3.0-alpha10 содержит эти коммиты .
Новые возможности
- Добавить помощника для Brush в модификаторе фона Kotlin. ( I995de )
- Обязательное поле Android Context было опубликовано в
MaterialScope
, чтобы упростить его использование в функциях разработчиков, создающих компоненты для плиток Material3. ( I7df73 )
Изменения API
- Переименуйте API
platformVisibilityStatus
вPlatformEventSources.isLayoutVisible
и добавьте новый экспериментальный APIPlatformEventSources.isLayoutUpdatePending
. ( Ie1e04 )
Исправление ошибок
- Поля для
primaryLayout
теперь правильно округляются, что может повлиять на некоторые макеты, уменьшив пространство для основного слота на 2dp. ( I8f5d3 ) - Разъяснение динамической цветовой темы по умолчанию в компонентах
ProtoLayout
Material3. ( Iff5f3 ) - Типографика
Typography.NUMERAL_*
больше не является табличной/моноширинной по умолчанию. Если текст анимирован, настоятельно рекомендуется добавить к нему настройкуFontSetting.tabularNum()
. Во всех остальных случаях эта опция моноширинности не нужна, и будет больше доступных символов, если ее не использовать. ( Id3cd9 ) - Разъяснение динамической цветовой темы по умолчанию в компонентах
ProtoLayout
Material3. ( I9d831 )
Версия 1.3.0-альфа09
26 февраля 2025 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha09
. Версия 1.3.0-alpha09 содержит эти коммиты .
Новые возможности
- Добавлены экспериментальные модификаторы для
enterTransition
иexitTransition
( I4a4d6 ) - Мы добавили дополнительную привязку к платформе для получения статуса видимости полного макета при его изменении. ( I250c3 )
- Разрешить внедрение данных о состоянии тестового приложения и платформе в
LayoutElementAssertionsProvider
для оценки динамических значений. ( Ib5fcb ) - Добавить угловые фильтры в библиотеку тестирования protolayout ( Ie2361 )
-
ButtonColors
,CardColors
иProgressIndicatorColors
теперь поддерживают метод копирования с возможностью переопределения некоторых параметров. ( Ie2054 )
Изменения API
- Добавить поддержку динамической привязки данных в библиотеку тестирования ( Ib98de )
- Исправьте
imageButton
при использовании с функциейbackgroundImage
, удалив наложение. Кроме того, разрешите функцииbackgroundImage
указывать null для цвета наложения, что означает, что наложение не будет применено. ( Ibec3c )
Исправление ошибок
- Изменен метод
hasValueOfType
по умолчанию для вызоваUnsupportedOperationException
вместоIllegalArgumentException
. ( Ia36c3 ) - Значения цветовых маркеров по умолчанию обновлены для отражения последней спецификации. ( I75d44 )
- Исправлена проблема с наложением псевдонимов, видимая на дуговых линиях в рендерере плиток AndroidX. ( I88190 )
Версия 1.3.0-альфа08
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 ) -
DynamicDataValue
теперь имеет методhasValueOfType(Class<?>)
в дополнение к методамhasInt/hasColor/
.... ( I4f7a6 ) - Мы добавили
errorDim
вColorScheme
Material3 ProtoLayout для высокоприоритетных ошибок или экстренных действий, таких как оповещения о безопасности. ( Ia17bb ) - Мы добавили защиту от сбоя при доступе к глобальной настройке reducemotion, которая срабатывала на некоторых платформах, где эта настройка не была предусмотрена. ( I01e2c )
Изменения API
-
addKeyToValueMapping
переименован вaddToStateMap
, а методыDynamicDataMap.put
удалены, поскольку они были избыточными. ( Ibe9dd ) - Material3 Typography теперь поддерживает переменную ось округлости для системных шрифтов, которые поддерживают эту ось. ProtoLayout
FontSetting
поддерживает ось округлости для шрифтов, которые поддерживают эту ось. ( I33eb5 ) -
multilineAlignment
переименован в метод выравнивания в тексте 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-альфа07
29 января 2025 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha07
. Версия 1.3.0-alpha07 содержит эти коммиты .
Новые возможности
- Добавлена опция API для установки различных триггеров для анимаций Lottie. Кроме того, добавлен 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-альфа06
15 января 2025 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha06
. Версия 1.3.0-alpha06 содержит эти коммиты .
Новые возможности
-
LayoutColor
для поддержки как статических, так и динамических типов цвета ( I4c89b ) - Добавлен компонент
ProtoLayout Material3
textButton. ( Id680d ) - Добавьте компонент
iconButton
ProtoLayout Material3. ( Ica3f0 ) - Добавлен компонент-контейнер кнопки ProtoLayout Material3. ( I17a38 )
- Добавлена поддержка семантических модификаторов Chainable для protolayout-material3 ( I4af62 )
- Добавлен ProtoLayout Material3 односегментный
CircularProgressIndicator
( I2c8a2 ) - Добавлены
padding
, модификаторыmetadata
( I8720a ) - Добавлены модификаторы
background
,clip
иclickable
( I35478 ) - Добавьте
LinearGradient
к Brush и разрешите его использование в модификаторе фона. ( Ic4dea ) - Добавить небольшой размер для appCard и
titleCard
. ( I91f98 ) - Добавлен компонент ProtoLayout Material3
graphicDataCard
. ( I92be7 ) - Добавлены компоненты ProtoLayout Material3
iconDataCard
иtextDataCard
. ( I4e1e4 ) - Добавлен компонент ProtoLayout Material3
appCard
. ( Id4c57 ) - Абстрактные
EdgeButtonColors
вButtonColors
. ( I83624 ) - Добавлен компонент ProtoLayout Material3
titleCard
. ( I2dc72 )
Изменения API
- API ProtoLayout Material3 теперь принимает
LayoutString
для поддержки как статических, так и динамических текстов. ( I9c24a )
Исправление ошибок
- Добавить реализацию рендерера для наполнения
DashedArcLine
( I0c700 ) - Изменение рендерера, позволяющее
ArcSpacer
принимать длину dp. ( I1437b )
Версия 1.3.0-альфа05
11 декабря 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha05
. Версия 1.3.0-alpha05 содержит эти коммиты .
Новые возможности
- Добавлен
LayoutString
для поддержки привязываемых полей строк макета. ( Ida650 ) - Добавлен компонент контейнера карты
ProtoLayout Material3
. ( Ic985a )
Исправление ошибок
- Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict
(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Id1f9b , b/326456246 )
Версия 1.3.0-альфа04
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-альфа03
30 октября 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha03
. Версия 1.3.0-alpha03 содержит эти коммиты .
Новые возможности
- Добавьте
LayoutElementAssertionsProvider
,LayoutElementAssertion
иLayoutElementMatcher
в библиотеку тестирования ( Id1110 )
Версия 1.3.0-альфа02
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-альфа01
2 октября 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha01
. Версия 1.3.0-alpha01 содержит эти коммиты .
Исправление ошибок
- Уточнено, что доступность названий семейств шрифтов Roboto и Roboto Flex зависит от устройства. ( I193be )
- Включено семейство шрифтов Roboto Flex в рендерере плиток AndroidX. ( 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
для лучшей поддержки адаптивного поведения этих макетов на экранах разных размеров и улучшения согласованности плиток. - Улучшено масштабирование/немасштабирование 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 содержит эти коммиты .
Исправление ошибок
- Мы исправили стандартный чип материала, так что его можно использовать в качестве значка только в том случае, если не передана ни одна из первичных или вторичных меток. ( Iceef9 )
- Документация по макетам Material была обновлена и теперь включает в себя визуальные материалы с соответствующей страницы для более легкого понимания макетов. ( I0256a )
Версия 1.2.0-beta01
10 июля 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-beta01
. Версия 1.2.0-beta01 содержит эти коммиты .
Новые возможности
Выпуск Wear ProtoLayout 1.2.0-beta01 указывает на то, что этот выпуск библиотеки является функционально полным, а 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. Добавлено предупреждение linter, предлагающее использовать эти API с быстрым исправлением. - Улучшено масштабирование/немасштабирование Material
Text
для нелинейного масштабирования шрифтов Android 14.
Изменения API
- Имя семейства шрифтов по умолчанию (
DEFAULT_SYSTEM_FONT
) удалено, поскольку оно подразумевается отсутствием использования APIpreferredFontFamilies
. ( I39dab ) - Параметр, передаваемый в
FontSetting.width
, должен быть положительным. ( I1266f )
Версия 1.2.0-альфа05
26 июня 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha05
. Версия 1.2.0-alpha05 содержит эти коммиты .
Новые возможности
- Добавьте метод
hasText
вMaterial.CompactChip
для проверки того, было ли установлено текстовое содержимое. ( I6e8fc )
Изменения API
-
FontFamily
const перемещены вFontStyle
вместо его класса Builder. ( I06ced ) - Обновите API
FontSetting.weight
иFontSetting.width
, включив аннотации Range и изменив параметр веса на int. ( Ia726c )
Исправление ошибок
- Немасштабируемые тексты в библиотеке Material теперь корректно работают с нелинейным масштабированием шрифтов Android 14. ( I6601e )
Версия 1.2.0-альфа04
29 мая 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
. Версия 1.2.0-alpha04 содержит эти коммиты .
Изменения API
- Добавлен API асимметричных углов, позволяющий отдельно указывать радиус каждого угла с помощью 2 значений. ( Icbd69 )
- Расширен API
FontSetting
, включив в него: - Добавлен API семейств шрифтов в
FontStyle
, позволяющий указать порядок использования семейств шрифтов. ( Iba9f5 ) - Переименованы константы для высоты пространства между содержимым и вторичной меткой в
LayoutDefaults
Material, которые изначально имели префикс «Edge content», чтобы быть более общими, поскольку их можно применять как кPrimaryLayout
, так иEdgeContentLayout
. ( I4dc32 )
Исправление ошибок
- Переименовано наименование осей переменного шрифта с
axisName
наaxisTag
. ( I02ba3 )
Версия 1.2.0-альфа03
14 мая 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha03
. Версия 1.2.0-alpha03 содержит эти коммиты .
Новые возможности
- Добавлен API для установки пользовательских значений толщины для
FontStyle
. ( I7390a )
Исправление ошибок
- Исправлена ошибка в
getTouchDelegateInfo
из-за пустой целевой карты. ( I2accf )
Версия 1.2.0-альфа02
1 мая 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha02
. Версия 1.2.0-alpha02 содержит эти коммиты .
Изменения API
- Мы добавили поддержку отключения обратной связи по отдельным интерактивным элементам. ( If1ede )
- API для преобразования было удалено из
ArcModifiers
, поскольку они не поддерживают эту функцию ( Ic0827 ) -
ArcDirectionProp
Builder теперь ожидает значение в конструкторе. ( 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 ) - Мы добавили правило lint, которое выводит предупреждение, когда
PrimaryLayout
используется безsetResponsiveContentInsetEnabled
и обеспечивает быстрое исправление. ( I12025 ) - Существует ограничение на количество узлов динамического выражения. ( Iffae8 )
Версия 1.2.0-альфа01
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, единообразия в плитках за счет размещения основной метки на фиксированном месте сверху и адаптивной вставки для меток. ( I60175 ) - Мы добавили
PrimaryLayout.setResponsiveContentInsetEnabled
, который добавляет адаптивную вставку к первичной метке, вторичной метке и нижнему чипу в этом макете, чтобы избежать выхода содержимого за пределы края экрана. ( I0c457 ) - Добавляет метод для удаления внешних полей из
CircularProgressIndicator
, чтобы его можно было использовать как меньший компонент. ( I55c06 )
Изменения API
- Средство визуализации плиток теперь по умолчанию исключает отступ шрифта для всех текстовых элементов, без возможности его включения. ( I3e300 )
Исправление ошибок
- Исправлена проблема выравнивания текста, когда в тексте одновременно использовались многоточие, межбуквенный интервал и выравнивание по центру. ( I716c7 )
- Добавьте обходной путь для проблемы с рисованием дуги лыжи. ( 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 для удовлетворения требований доступности. - Отступы шрифта по умолчанию отключены и являются единственным поведением для всех элементов Text и компонентов Material, содержащих текст.
Дополнительные изменения
- Более полный набор изменений, представленных в версии 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 ) - Добавьте обходной путь для проблемы с рисованием дуги лыжи. ( I08f09 )
Версия 1.1.0-beta01
10 января 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-beta01
. Версия 1.1.0-beta01 содержит эти коммиты.
Новые возможности
Выпуск Wear ProtoLayout 1.1.0-beta01 указывает на то, что этот выпуск библиотеки является функционально полным, а 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. - Теперь у каждого элемента, имеющего свойство
Clickable
, целевая область в рендерере расширена как минимум до 48x48 для лучшей поддержки требований доступности. - Следуя другим компонентам Material и инициативам Compose, мы теперь отключили отступы шрифта по умолчанию для всех элементов
Text
. Кроме того,AndroidTextStyle
и связанные с ним сеттеры были удалены из публичного API. со следующими исправлениями ошибок: - Добавлен сеттер для позиционирования содержимого края в
EdgeContentLayout
, чтобы его можно было расположить перед другим содержимым. - Постоянная выдача исключения при обнаружении нераспознанного значения перечисления.
- Делает результат выражения недействительным, если он возвращает недопустимое числовое значение (NaN или бесконечность) или выдает исключение
ArithmeticException
.
Изменения API
- Обновления API
SweepGradient
позволяют принимать в конструкторе либо цвета, либоColorStops
. ( I6676f )
Исправление ошибок
- Добавление ограниченного API и поддержки рендерера для установки направления, в котором рисуются элементы дуги. ( Idef5a )
-
RoundMode
по умолчанию равенFloor
вFloatToInt32Node
, если не указано. Узел все равно выдаст исключение, если предоставленныйRoundMode
не распознан. ( I1b2d8 )
Версия 1.1.0-альфа04
13 декабря 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-alpha04
. Версия 1.1.0-alpha04 содержит эти коммиты.
Новые возможности
- Класс
VersionInfo
не реализует интерфейсComparable
. ( I8d13c ) - Рендерер теперь поддерживает опцию
TEXT_OVERFLOW_ELLIPSIZE
. ( I7f085 )
Изменения API
- Опция переполнения текста
TEXT_OVERFLOW_ELLIPSIZE_END
теперь устарела. Пожалуйста, используйте новый APITEXT_OVERFLOW_ELLIPSIZE
с очень похожим поведением. ( I822d8 ) - Следуя другим компонентам Material и инициативам Compose, мы теперь отключили заполнение шрифта по умолчанию для всех элементов Text. Кроме того,
AndroidTextStyle
и связанные с ним сеттеры были удалены из публичного API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 ) -
Modifier.hidden
заменяется наModifier.visible
( I56902 ) -
FontStyle#setSizes
теперь принимает аргументы типа int вместоSpProp
. ( I02b37 )
Исправление ошибок
- Выдать исключение при обнаружении неопределенного или нераспознанного значения перечисления. ( I9d2cf )
- Рефакторинг
DynamicTypeBindingRequest
. ( I27b57 ) - Аннулировать результат выражения, если он возвращает недопустимое числовое значение (NaN или бесконечность) или выдает исключение
ArithmeticException
. ( I681ae )
Версия 1.1.0-альфа03
29 ноября 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-alpha03
. Версия 1.1.0-alpha03 содержит эти коммиты.
Новые возможности
- Добавить экспериментальную поддержку динамического скрытия/отображения элементов макета ( I64a78 )
- Добавить поддержку динамических значений в
BoolProp
( I2fe96 ) - Добавить аннотацию о требованиях к версии схемы в API
ProtoLayout
( I0f03c ) - Расширение API с помощью новой опции в
TextOverflow
для многоточия текста в фиксированном родительском контейнере, даже если максимальное количество строк не достигнуто (но недостаточно места для текста). ( I110a9 ) - Добавлен вспомогательный метод
DimensionBuilders.weight
для построенияExpandedDimensionProp
с весом. ( I4f72b ) -
DynamicInstant
иDynamicDuration
могут использоваться как типы данных состояния или платформы. ( I6819f )
Изменения API
- Обновите API, чтобы скрыть
DynamicZonedDateTime
и переместить все его операции вDyanamicInstant
( I34b94 ). - Разделитель теперь поддерживает расширенные размеры ширины/высоты. ( Ie7c94 )
- Поддержка расширения области действия клика в рендерере ( I39c79 )
Версия 1.1.0-альфа02
15 ноября 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Новые возможности
- Добавлено поле
ArcLine
StrokeCap
Shadow
в API. ( I830ec ) - Расширение API для возможности указания ширины или высоты Spacer для расширения. ( I757ca )
- Мы добавили экспериментальный API для автоматического масштабирования размера текста в зависимости от пространства внутри родительского элемента. ( Ibbe63 )
- Поддерживает минимальный размер клика ( I178e3 )
- Добавлена поддержка рендеринга для
StrokeCap
Shadow
. ( I48b17 ) - Добавить поддержку рендеринга для Sweep Gradient в
ArcLine
. ( I4d5bb )
Версия 1.1.0-альфа01
18 октября 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-alpha01
. Версия 1.1.0-alpha01 содержит эти коммиты.
Новые возможности
- Добавлена опция кисти для
Arcline
с поддержкойSweepGradient
. ( Ie7ce3 ) - Добавлена поддержка зонного форматирования даты и времени. ( Ibfae0 )
- Добавлены protos и java Wrappers, необходимые для зонного форматирования даты и времени. ( I97126 )
- Добавлены геттеры для обратного считывания значения, хранящегося в
DynamicDataValue
. ( Ie6cea ) - Добавлен сеттер для позиционирования содержимого края в
EdgeContentLayout
, чтобы его можно было расположить перед другим содержимым. ( Ie8e8a )
Исправление ошибок
- Исправлена ошибка, из-за которой выражение с несколькими регистрациями источников данных по времени не обновлялось немедленно. ( I8e1a8 )
- Исправлена ошибка центрирования корневого элемента во время обновлений различий. ( Ie48f7 )
- Неустановленные (или пустые) значения ограничений макета больше не будут игнорироваться. ( Ibc785 )
- Уменьшена задержка между моментом, когда макет становится видимым, и моментом инициализации его узлов конвейера. ( I38d4e )
Версия 1.0
Версия 1.0.0
9 августа 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0
. Версия 1.0.0 содержит эти коммиты.
Основные особенности 1.0.0
Библиотека ProtoLayout представляет API для создания макетов и выражений, которые можно использовать на разных поверхностях Wear OS. Например, библиотека Tiles использует эти API для поддержки привязки данных платформы (для более быстрого обновления данных плиток) и анимации.
Версия 1.0.0-rc01
26 июля 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-rc01
. Версия 1.0.0-rc01 содержит эти коммиты.
- Чтобы перейти с Tiles на
ProtoLayout
, следуйте инструкциям здесь .
Изменения API
- Мы удалили методы
setLayoutConstraintForDynamicAnchorAngle
иgetLayoutConstraintForDynamicAnchorAngle
из элемента Arc. Эти методы были добавлены по ошибке и не оказали никакого влияния на предоставленный макет. ( If7d01 ) - Мы ограничили максимальную глубину макета
ProtoLayout
до 30 вложенныхLayoutElements
. ( I8a74b )
Исправление ошибок
- Мы добавили проверку, которая будет срабатывать, если для
SpanText
установленDynamicColor
. ( I0e5bc ) - Уточняется, что единицей источника данных
DAILY_CALORIES
является ккал. ( Iaa785 )
Версия 1.0.0-beta01
21 июня 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Новые возможности
- Разрешить установку часов для тестов привязки по времени. ( I05622 )
Изменения API
-
PlatformDataReceiver.onData()
иStateBuilders.Builder.addKeyToValueMapping
теперь принимает отображение типовDynamicDataKey
сDynamicDataValue
, а не небезопасными дженериками. Это означает, чтоDynamicDataValue
теперь набирается с егоDynamicType
. КонстантыHEART_RATE_ACCURACY_X
перемещаются в кореньPlatformHealthSources
, чтобы соответствовать позиционированию других констант Android.HEART_RATE_ACCURACY_X
константы теперь используются непосредственно вDynamicHeartRateAccuracy.constant()
иDynamicHeartRateAccuracy.dynamicDataValueOf()
вместо постоянной значения. ( I82ff5 ) - Класс
PlatformHealthSources.Constants
был мгновенным по ошибке. Это было исправлено сейчас. ( ICB849 ) -
PlatformTimeUpdateNotifier#setReceiver
теперь получаетRunnable
вместо функцииSupplier
иExecutor
для уведомления. ( I9d938 ) - Мы изменили тип параметра в
PlatformTimeUpdateNotifier#setReceiver
сCallable
наSupplier
. ( I664bf ) -
CompactChip
иTitleChip
теперь поддерживают добавление в него значок. ( I5a01e )
Исправление ошибок
- Обновите сообщения предложений с помощью динамических полей, чтобы использовать одну .
- Реализация сеттеров повторно используйте для перегрузки, которые имеют сеттеры ( IED70C )
- Правильно записывайте отпечатки пальцев в сеттерах, которые имеют перегрузки ( i86ed2 )
Версия 1.0.0-Альфа11
7 июня 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha11
выпускается. Версия 1.0.0-Alpha11 содержит эти коммиты.
Новые возможности
- Мы добавили
PlatformDataKey
для точности сердечного ритма. ( I7f9b8 )
Изменения API
- Переименовать
StateBuilders#getIdToValueMapping
, чтобыgetKeyToValueMapping
и изменить тип возврата наMap<<AppDataKey<?>,DynamicDataValue>
. ( IAA7AE ) - Сделайте
StateStore
окончательным классом ( i408ca ) - Интерфейс
TimeGateway
был замененPlatformTimeUpdateNotifier
в библиотекеprotolayout-expression-pipeline
которая обеспечивает желаемую частоту для обновления данных времени. ( I60869 ) - Переименовать
register
/unregisterForData
вPlatformDataProvider
дляset
/clearReceiver
( I14B02 ) - В тексте материала
getExcludeFontPadding
был переименован вhasExcludeFontPadding
. ( IEA01D ) - Сеттер для идеально выравнивающей метки была добавлена ко всем компонентам чипа. Все чипы теперь имеют примененную минимальную цель. ( I8ae92 )
-
LayoutDefaults#BUTTON_MAX_NUMBER
был переименован вMAX_BUTTONS
. ( I84788 ) -
DAILY_DISTANCE
переименована вDAILY_DISTANCE_M
. ( I4f758 )
Исправление ошибок
- Обновление типов предложений, чтобы уточнить, почему статическое значение применяется. Укажите используемое значение по умолчанию, если статическое значение не было предоставлено. ( I155AA )
- Пространства имен
PlatformDataKey
должны следовать именованию в стиле Java. ( I47bda )
Версия 1.0.0-Alpha10
24 мая 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
. Версия 1.0.0-Alpha10 содержит эти коммиты.
Новые возможности
- Добавить
AppDataKey
для доступа к приложению, выдвинутому состоянию; ДобавитьPlatformDataKey
для доступа к данным платформы; Добавить поддержку пространства имен вStateStore
. ( I7985e ) - Поддержка
Equal
иNotEqual
. (DynamicBool
)
Изменения API
- Класс
FontStyles
теперь окончательный ( IAA2EA ) -
LayoutElementBuilders#FontStyles
устарел. Пожалуйста, используйтеandroidx.wear.protolayout.Typography
или создайте свой собственныйFontStyle
. ( IC929B ) - Скрыть
Action#Builder
вложенное интерфейс из интерфейсаAction
. Реализации Builder уже предоставляются классамиLoadAction
иLaunchAction
. ( I1d70c ) - Разрешить использовать
DynamicFloat
сFloatProp
. Обратите внимание, чтоFloatProp
не требует ограничений макета, поскольку он не используется в качестве перемены с макетом. ( I286ac ) - Действия
LoalAction
иSetStateAction
удаляются, так как они еще не поддерживались. ( I5d6a6 ) - Добавлена поддержка формата argb_8888 для встроенных ресурсов изображения. ( I8a07c )
- Переименовать
StateEntryValue
вDynamicDataValue
и обновите API состояния, чтобы использоватьDynamicDataKey
( IF1C01 ) - Мы ограничиваем количество записей, которые разрешены в
StateStore
, чтобы гарантировать, что использование памяти и время обновления состояния хорошо содержатся и контролируются для каждого экземпляра. В результате разработчик должен убедиться, что у него не более, чем записиMAX_STATE_ENTRY_COUNT
наStateStore
, в противном случае они получатIllegalStateException
при создании или обновленииStateStore
. ( IBADB3 ) - Скрыть классы
OnLoadTrigger
иOnConditionMetTrigger
и переименоватьsetTrigger
вsetCondition
дляOnConditionMetTrigger
. ( IBF629 ) - По причинам производительности и совместимости визуализаторы
ProtoLayout
не будут поддерживать полный набор функций в ресурсахAnimatedVectorDrawable
. Мы отмечаем эти API как экспериментальные, пока не сможем определить поддерживаемый набор. ( IC6DAF ) - Добавлены динамические типы для ежедневного расстояния, ежедневных калорий и ежедневных полов. Ключи для источников здоровья платформы сейчас находятся под
PlatformHealthSources.Keys
- Метод
Easing.cubicBezier
заменяетCubicBezierEasing.Builder
. При этом классEasingFunction
удаляется, а константы смягчения из этого класса теперь доступны непосредственно из интерфейсаEasing
.INFINITE_REPEATABLE_WITH_RESTART
INFINITE_REPEATABLE_WITH_REVERSE
setInfiniteRepeatable
- Реализуйте
PlatformDataProvider
для обеспечения частоты сердечных сокращений и ежедневных шагов. ИнтерфейсSensorGateway
удаляется из общественного API. ( I55b84 ) - Добавьте
PlatformDataProvider
и обновитеStateStore
, чтобы зарегистрироваться вPlatformDataProvider
, когда поддерживаемый ключ поставщика требуется Node из Pipeline Expression. ( IB616A ) -
SensorGateway
больше не являетсяCloseable
, поскольку он больше не поддерживает какое -либо состояние. ( I6b4f7 ) - Разрешить использовать
FloatProp
сDynamicFloat
для прогресса вCircularProgressIndicator
. Это поддерживается для рендеристов, поддерживающих версию 1.2. Старые визуализаторы будут отступить вstaticValue
если предоставлены, в противном случае до 0 ( I0D91B ) - Константы
MultiButtonLayout
были переработаны в классLayoutDefaults.MultiButtonLayoutDefaults
, который теперь содержит их для размеров кнопок в зависимости от нескольких кнопок в макете. ( I13973 ) - Поддержка с использованием
StringProp
сDynamicString
в тексте материала. Это поддерживается для рендеристов, поддерживающих версию 1.2. Старые визуалисты будут вмешиваться на предоставленную статическую стоимость. ОбновитьText#getText
возвращать тип отString
вStringProp
. ( I7275b )
Версия 1.0.0-Alpha09
10 мая 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
выпускается. Версия 1.0.0-Alpha09 содержит эти коммиты.
Новые возможности
- Мы добавили экспериментальный элемент макета расширения. Обратите внимание, что это нельзя использовать по умолчанию и требует расширения рендеринга, способного понять элемент макета. ( I6581d )
- Добавлена поддержка
StrokeCap
дляArcLine
. ( I94951 ) - Добавлена поддержка условной мгновенной операции. ( I489a7 )
- Добавлена поддержка для условной работы. ( IAB469 )
- Добавлена поддержка для создания продолжительности с секунд. ( IB5FA1 )
Изменения API
-
enable/disablePlatformSource
методы Platformsource были удалены изDynamicTypeEvaluator
. Абонент должен нести ответственность за обновления. ( I78c6d ) - Разрешить ограничить размер связанных типов данных. ( IE2966 )
- Добавьте поддержку для динамического описания контента в
protolayout-material
. ( I62c8e ) - Используйте Long и
@IntRange
для продолжительности и задержки в анимации. ( I388b6 )
Версия 1.0.0-Alpha08
19 апреля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha08
выпускается. Версия 1.0.0-Alpha08 содержит эти коммиты.
Новые возможности
-
AndroidTextStyle
был добавлен вLayoutElementBuilders
. ( I8d967 ) - Мы добавили поддержку для настройки за исключением прокладки шрифтов в текстовом материале
ProtoLayout
. ( I17f5d ) - ARGB_8888 теперь поддерживается для встроенных изображений. ( I18c1e )
-
DynamicColor
теперь поддерживает операциюonCondition
. ( I10927 )
Изменения API
- Поддержка пользовательской продолжительности для обратной анимации ( i3251f )
- Мы добавили модификатор
SemanticDescription
. Кроме того,ContentDescription
не является привязанной. ( I3f1d ) - Метод
DynamicBool.isFalse()
теперь заменен наDynamicBool.negate()
, аDynamicBool.isTrue()
удаляется. Кроме того, NANDynamicFloat
значения и сужениеDynamicInt32
доDynamicFloat
, теперь излучает неверный динамический результат. ( I6ac1e ) - Форматиры Int и Float теперь используют шаблон застройщика. ( IEB213 )
Исправление ошибок
- Статическое значение Swarkback было удалено из анимируемых полей. ( IFCB01 )
-
DynamicTypeValueReceiver#onPreUpdate
был удален. ( I2dc35 ) - Длина струн в динамических выражениях теперь ограничена. ( I4c93 )
- Зависимости Gradle теперь правильно устанавливаются для
api
вместоimplementation
, когда это необходимо. ( I40503 )
Версия 1.0.0-Alpha07
5 апреля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
выпускается. Версия 1.0.0-Alpha07 содержит эти коммиты.
Новые возможности
- Добавить поддержку динамического значения в
StringProp
( I04342 ) - Марк привязываемый элементы макета ( IA110B )
Изменения API
-
sensorGateway#registerSensorGatewayConsumer
принимает тип данных в качестве параметра вместо метода в потребителе. ( ICF314 ) -
ObservableStateStore
был переименован вStateStore
. ( IEB0E2 ) - Добавлен
DynamicTypeEvaluator.Builder
вместо аргументов конструктора, чтобы разрешить более необязательные аргументы, включаяObservableStateStore
, который теперь по умолчанию в пустой магазин. ( I6f832 ) - Рефакторированный порядок параметров в
DynamicTypeEvaluator
. ( IC1BA4 )
Исправление ошибок
- Правильно распространять сигналы из источников датчиков платформы в нижестоящие узлы ( i5a922 )
Версия 1.0.0-Alpha06
22 марта 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha06
выпускается. Версия 1.0.0-Alpha06 содержит эти коммиты.
Новые возможности
- Мы добавили экспериментальный API для использования частоты сердечных сокращений и ежедневных шагов в динамических выражениях ( IFD711 )
- Мы добавили поддержку для обратной и вперед задержки для анимации. ( IC25F7 )
- Мы добавили
DynamicColor
поддержку по границе и фону - Мы добавили поддержку динамического значения типам в
DimensionBuilder
- Макет и компоненты из
tiles-material
перемещаются вprotolayout-material
Изменения API
-
LoadActionListener
был добавлен вProtoLayoutViewInstance
. ( IF7806 )
Исправление ошибок
- Добавлено
FloatNodesTest
( ID7281 ) - Исправьте сбою рендеринга, если не может загрузить структурированный растровый карту.
Версия 1.0.0-Alpha05
8 марта 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha05
выпускается. Версия 1.0.0-Alpha05 содержит эти коммиты.
Новые возможности
- Мы добавили экспериментальную анимацию «Обновление контента» в объект
Modifiers
. Эта анимация будет запускать всякий раз, когда элемент (с этим модификатором) или один из его детей изменяется во время обновления макета. ( BD03E5D )
Изменения API
- Мы добавили
forwardRepeatDelayMillis
иreverseRepeatDelayMillis
дляRepeatable
. Мы также переименовалиdelayMillis
вAnimationSpec
, чтобыstartDelayMillis
( IFB266 ) -
DynamicTypeEvaluator.bind
Методы теперь принимают исполнителя. ( I346ab ) - Мы добавили метод
startEvaluation
вBoundDynamicType
, чтобы запустить оценку после того, как динамический тип связан. ( I19908 )
Исправление ошибок
- Объект аниматора будет использоваться для последующих анимаций одного элемента. ( Ia3be9 )
Версия 1.0.0-Alpha04
22 февраля 2023 г.
androidx.wear.protolayout:protolayout-*:1.0.0-alpha04
выпускается. Версия 1.0.0-Alpha04 содержит эти коммиты.
Новые возможности
-
ObservableStateStore
теперь сообщает слушателям, когда ключ тоже удаляется. - Мы добавили версию схемы рендеринга и шкалу шрифтов в
DeviceParameters
(которые можно использовать для условного создания макетов в ответ на различные версии и настройки шрифта). - Мы добавили поддержку для анимации значений
DynamicInt32
( I05485 ) - Мы добавили триггеры
OnLoad
иOnConditionalMet
. Они могут быть использованы для запуска анимации, которые поддерживают триггер. - Мы добавили веса макета для расширенных размеров и размера мин для оберщенных размеров.
- Мы добавили продолжительность и мгновенные динамические типы. Они могут быть использованы для представления временного мгновения или продолжительности в динамическом выражении.
- Мы добавили поддержку
AnimatedVectorDrawable
иSeekableAnimatedVectorDrawable
как ресурсы макета.
Изменения API
- Данные датчика требуют API 29+. ( I8099e )
- Мы добавили два вспомогательных метода
launchAction
(для запуски).
Исправление ошибок
- Переименовать
set/getSpec
дляset/getAnimationSpec
в анимации Tiles ( i3d74b )
Версия 1.0.0-Alpha03
8 февраля 2023 года
androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
. Версия 1.0.0-Alpha03 содержит эти коммиты.
Новые возможности
- Мы добавили
toByteArray()
иfromByteArray()
к динамическим типам в библиотеке ProtoLayout-Express. - Мы добавили
toString()
к динамическим типам в библиотеке ProtoLayout-Expression. - Мы добавили поддержку оценки для динамических типов. Класс
DynamicTypeEvaluator
из библиотеки ProtoLayout-Expression-Pipeline может использоваться для оценки (и получения обновленных значений) для ранее создания динамического типа (DynamicString
,DynamicFloat
,…) - Когда анимации нельзя воспроизводить (потому что они отключены оценщиком, или количество запущенных анимаций достигло установленного предела), статические значения, установленные на анимируемом узле, будут использоваться для замены анимации.
Версия 1.0.0-Alpha02
25 января 2023 г.
androidx.wear.protolayout:protolayout:1.0.0-alpha02
, androidx.wear.protolayout:protolayout-expression:1.0.0-alpha02
и androidx.wear.protolayout:protolayout-proto:1.0.0-alpha02
. Версия 1.0.0-Alpha02 содержит эти коммиты.
Новые возможности
- Строители макета от
androidx.wear.tiles:tiles
переходят наandroidx.wear.protolayout:protolayout
. Те, кто вandroidx.wear.tiles:tiles
будут устареть в одном из следующих альфа -выпусков.
Версия 1.0.0-Alpha01
11 января 2023 г.
androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
и androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. Версия 1.0.0-Alpha01 содержит эти коммиты.
Новые возможности
- Этот релиз представляет новую библиотеку «выражение протоалаута» для создания выражений из динамических переменных.