износ 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 и добавьте новый экспериментальный API PlatformEventSources.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.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 ) удалено, поскольку оно подразумевается отсутствием использования API preferredFontFamilies . ( 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 , включив в него:
    • настройка функций шрифта, например, установка табличного шрифта. ( If12b7 )
    • настройка вариации шрифта, например, настройка пользовательской ширины для переменных шрифтов. ( I2b36d )
  • Добавлен 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-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 теперь устарела. Пожалуйста, используйте новый API TEXT_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() удаляется. Кроме того, NAN DynamicFloat значения и сужение 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 содержит эти коммиты.

Новые возможности

  • Этот релиз представляет новую библиотеку «выражение протоалаута» для создания выражений из динамических переменных.