носить протомакет
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
11 декабря 2024 г. | 1.2.1 | - | - | 1.3.0-альфа05 |
Объявление зависимостей
Чтобы добавить зависимость от Wear-Protolayout, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation "androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04" // Use to implement support for Wear ProtoLayout implementation "androidx.wear.protolayout:protolayout:1.3.0-alpha04" // Use to utilize components and layouts with Material design in your ProtoLayout implementation "androidx.wear.protolayout:protolayout-material:1.3.0-alpha04" }
Котлин
dependencies { // Use to implement support for Wear ProtoLayout Expressions implementation("androidx.wear.protolayout:protolayout-expression:1.3.0-alpha04") // Use to implement support for Wear ProtoLayout implementation("androidx.wear.protolayout:protolayout:1.3.0-alpha04") // Use to utilize components and layouts with Material design in your ProtoLayout implementation("androidx.wear.protolayout:protolayout-material:1.3.0-alpha04") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.3
Версия 1.3.0-альфа05
11 декабря 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.3.0-alpha05
. Версия 1.3.0-alpha05 содержит эти коммиты .
Новые возможности
- Добавлен
LayoutString
для поддержки привязываемых строковых полей макета. ( Ида650 ) - Добавлен компонент контейнера карточек
ProtoLayout Material3
. ( Ic985a )
Исправления ошибок
- Эта библиотека теперь использует аннотации NULL NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующие аргументы компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
( 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. ( Если645е ) - Добавьте в библиотеку тестирования несколько часто используемых средств сопоставления. ( 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 . Обновите свою зависимость от
androidx.wear.protolayout:protolayout-proto
иandroidx.wear.protolayout:protolayout-external-protobuf
версии 1.2.0 до 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
для лучшей поддержки адаптивного поведения этих макетов на экранах разных размеров и улучшения согласованности плиток. - Улучшено масштабирование/немасштабирование текста материала для нелинейного масштабирования шрифта 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 ).
- Документация по макетам материалов была обновлена и теперь включает визуальные эффекты с соответствующей страницы для облегчения понимания макетов. ( I0256a )
Версия 1.2.0-бета01
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
. Эти преобразования можно анимировать с помощью динамических значений. - Для всех элементов дуги (
Arc
,ArcLine
иArcText
) добавлены параметрыsetArcDirection
сClockwise
,CounterClockwise
иNormal
для лучшей поддержки различных направлений макета (таких как LTR и RTL). - Улучшена доступность всех сенсорных объектов за счет расширения области касания любого элемента, использующего модификатор
Clickable
, до размера не менее48dp
на48dp
. - Улучшены
PrimaryLayout
иEdgeContentLayout
путем добавленияsetResponsiveContentInsetEnabled
для лучшей поддержки адаптивного поведения этих макетов на экранах разных размеров и улучшения согласованности плиток. Добавлено предупреждение линтера, предлагающее использовать эти API с быстрым исправлением. - Улучшено масштабирование/немасштабирование
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
перемещена вFontStyle
вместо класса Builder. ( I06ced ) - Обновите API
FontSetting.weight
иFontSetting.width
, включив в него аннотации диапазона, и измените параметр веса на int. ( Ia726c )
Исправления ошибок
- Немасштабируемые тексты в библиотеке материалов теперь корректно работают с нелинейным масштабированием шрифтов Android 14. ( I6601e )
Версия 1.2.0-альфа04
29 мая 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha04
. Версия 1.2.0-alpha04 содержит эти коммиты .
Изменения API
- Добавлен API асимметричных углов, позволяющий отдельно указывать радиус каждого угла с двумя значениями. ( Icbd69 )
- Расширен API
FontSetting
, включив в него: - В
FontStyle
добавлен API семейства шрифтов, позволяющий указать порядок использования семейств шрифтов. ( Iba9f5 ) - Переименованы константы для высоты пространства между содержимым и вторичной меткой в
LayoutDefaults
материала, которые изначально имели префикс «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 теперь ожидает значение в конструкторе. ( И76ада ) - Метод
PlatformDataValues.Builder.putAll
позволит объединить одноPlatformDataValue
с другим. ( I50ba3 ) -
Text#setIsScalable
переименован вText#setScalable
. ( Если920е ) - В Material Text можно указать, использовать ли масштабируемый размер (увеличивается при изменении размера пользовательского шрифта) или нет. ( Ibc849 )
- Мы добавили возможность установить описание контента в
TitleChip
. ( I5d21f ) - Исправлен
CompactChip
для правильной работы только со значками и обновлен API, чтобы разрешить эту опцию. ( I6589e )
Исправления ошибок
- Исправлена проблема с возможным дублированием данных платформы во время инициализации. ( Iba0fd )
- Введите новый метод получения в
DynamicDataNode
для получения стоимости узла. Стоимость используется при получении квоты динамического узла. В настоящее время узлы с фиксированными значениями будут иметь стоимость 0, все остальные узлы будут иметь стоимость 1. ( Ia33e1 ). - Удалите логику подсчета из
NO_OP_QUOTA_MANAGER
. ( Ib50b8 ) - Мы добавили правило проверки, которое сообщает о предупреждении, когда
PrimaryLayout
используется безsetResponsiveContentInsetEnabled
, и обеспечивает быстрое исправление. ( I12025 ) - Существует ограничение на количество узлов динамического выражения. ( Иффае8 )
Версия 1.2.0-альфа01
6 марта 2024 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.2.0-alpha01
. Версия 1.2.0-alpha01 содержит эти коммиты .
Новые возможности
- В элементах
ProtoLayout Arc
теперь есть возможность добавить к нимArcDirection
(Clockwise
,Counterclockwise
orNormal
). Добавление этого поведения вArc
,ArcLine
илиArcText
исправит их поведение в макетах с письмом справа налево. ( 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 x 48 точек для удовлетворения требований доступности. - Заполнение шрифта по умолчанию отключено и является единственным поведением для всех элементов 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
исправлен для макетов с письмом справа налево. Отныне во всех случаях он будет идти по часовой стрелке. ( I95ee3 ) - Добавьте обходной путь для проблемы с рисованием дуги лыжи. ( I08f09 )
Версия 1.1.0-бета01
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 ) - Renderer теперь поддерживает опцию
TEXT_OVERFLOW_ELLIPSIZE
. ( I7f085 )
Изменения API
- Параметр переполнения текста
TEXT_OVERFLOW_ELLIPSIZE_END
больше не поддерживается. Используйте новый APITEXT_OVERFLOW_ELLIPSIZE
с очень похожим поведением. ( I822d8 ) - Следуя другим компонентам Material и инициативам Compose, мы теперь отключили заполнение шрифтов по умолчанию для всех текстовых элементов. Кроме того,
AndroidTextStyle
и связанные с ним параметры настройки были удалены из общедоступного API. ( I79094 , Ib0b03 , I32959 , Iaf7d5 , Ifa298 , I0a4ae , Ida9d3 ) -
Modifier.hidden
заменяется наModifier.visible
( I56902 ). -
FontStyle#setSizes
теперь принимает аргументы int вместоSpProp
. ( I02b37 )
Исправления ошибок
- Вызов исключения при обнаружении значения перечисления Undefine или Unrecounced. ( 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 )
- Поддержка расширения целевой области щелчка в Renderer ( I39c79 )
Версия 1.1.0-альфа02
15 ноября 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Новые возможности
- В API добавлено поле
ArcLine
StrokeCap
Shadow
. ( I830ec ) - Расширение API, чтобы можно было указать ширину или высоту Spacer для расширения. ( I757ca )
- Мы добавили экспериментальный API для автоматического масштабирования размера текста в зависимости от пространства, которое он имеет внутри родительского элемента. ( Иббе63 )
- Поддержка минимального кликабельного размера ( 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 ) - Добавлена поддержка зонального форматирования даты и времени. ( Ибфае0 )
- Добавлены прототипы и Java-оболочки, необходимые для зонального форматирования даты и времени. ( 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. Эти методы были добавлены по ошибке и не оказали никакого влияния на предоставленный макет. ( Если7d01 ) - Мы ограничили максимальную глубину макета
ProtoLayout
30 вложеннымиLayoutElements
. ( I8a74b )
Исправления ошибок
- Мы добавили проверку, которая выдается, если для
SpanText
установленDynamicColor
. ( I0e5bc ) - Уточняется, что единицей источника данных
DAILY_CALORIES
является ккал. ( Iaa785 )
Версия 1.0.0-бета01
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
int теперь используются непосредственно вDynamicHeartRateAccuracy.constant()
иDynamicHeartRateAccuracy.dynamicDataValueOf()
вместо константы-значения. ( I82ff5 ) - Класс
PlatformHealthSources.Constants
был создан по ошибке. Теперь это исправлено. ( Icb849 ) -
PlatformTimeUpdateNotifier#setReceiver
теперь получаетRunnable
вместо функцииSupplier
иExecutor
для уведомления. ( I9d938 ) - Мы изменили тип параметра в
PlatformTimeUpdateNotifier#setReceiver
сCallable
наSupplier
. ( I664bf ) -
CompactChip
иTitleChip
теперь поддерживают добавление значка. ( I5a01e )
Исправления ошибок
- Обновить сообщения Prop с помощью динамических полей, чтобы вместо них использовать oneof ( I81739 ).
- Реализация установщиков повторного использования для перегрузок, имеющих установщики ( 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-альфа10
24 мая 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-alpha10
. Версия 1.0.0-alpha10 содержит эти коммиты.
Новые возможности
- Добавьте
AppDataKey
для доступа к состоянию отправки приложения; ДобавьтеPlatformDataKey
для доступа к данным платформы; Добавьте поддержку пространства имен вStateStore
. ( I7985e ) - Поддержка операций
Equal
иNotEqual
дляDynamicBool
. ( I6a0c1 )
Изменения 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
и обновите APIS состояния, чтобы использоватьDynamicDataKey
( If1c01 ). - Мы ограничиваем количество записей, разрешенных в
StateStore
, чтобы гарантировать, что использование памяти и время обновления состояния хорошо сдерживаются и контролируются для каждого экземпляраStateStore
. В результате разработчику необходимо убедиться, что у него на карте не болееMAX_STATE_ENTRY_COUNT
записей, иначе он получит исключениеIllegalStateException
при создании или обновленииStateStore
. ( Ибадб3 ) - Скройте классы
OnLoadTrigger
иOnConditionMetTrigger
и переименуйтеsetTrigger
вsetCondition
дляOnConditionMetTrigger
. ( Ibf629 ) - По соображениям производительности и совместимости средства визуализации
ProtoLayout
не поддерживают полный набор функций ресурсовAnimatedVectorDrawable
. Мы помечаем эти API как экспериментальные, пока не определим поддерживаемый набор. ( Ic6daf ) - Добавлены динамические типы для ежедневного расстояния, ежедневных калорий и ежедневных минимальных значений. Ключи для источников работоспособности платформы теперь находятся в разделе
PlatformHealthSources.Keys
( Ib7637 ). - Метод
Easing.cubicBezier
заменяетCubicBezierEasing.Builder
. При этом классEasingFunction
удаляется, и константы замедления из этого класса теперь доступны напрямую из интерфейсаEasing
. Кроме того,setInfiniteRepeatable
заменяется наINFINITE_REPEATABLE_WITH_RESTART
иINFINITE_REPEATABLE_WITH_REVERSE
( Ib41e7 ). - Внедрите
PlatformDataProvider
, чтобы предоставлять информацию о частоте пульса и шагах за день. ИнтерфейсSensorGateway
удален из общедоступного API. ( I55b84 ) - Добавьте
PlatformDataProvider
и обновитеStateStore
для регистрации вPlatformDataProvider
, когда поддерживаемый ключ поставщика требуется узлу из конвейера выражений. ( 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-альфа09
10 мая 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-alpha09
. Версия 1.0.0-alpha09 содержит эти коммиты.
Новые возможности
- Мы добавили экспериментальный элемент макета расширения. Обратите внимание, что это нельзя использовать по умолчанию и требуется расширение средства визуализации, способное понимать элемент макета. ( I6581d )
- Добавлена поддержка
StrokeCap
дляArcLine
. ( I94951 ) - Добавлена поддержка операции «Условно-мгновенный». ( I489a7 )
- Добавлена поддержка операции условной продолжительности. ( Iab469 )
- Добавлена поддержка создания продолжительности из секунд. ( Ib5fa1 )
Изменения API
- Методы
enable/disablePlatformSource
были удалены изDynamicTypeEvaluator
. Ответственность за обновления должна нести вызывающая сторона. ( I78c6d ) - Разрешить ограничение размера связанных типов данных. ( Ie2966 )
- Добавьте поддержку описания динамического контента в
protolayout-material
. ( I62c8e ) - Используйте long и
@IntRange
для продолжительности и задержки в AnimationParameters. ( I388b6 )
Версия 1.0.0-альфа08
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 ) - Средства форматирования целых чисел и чисел с плавающей запятой теперь используют шаблон Builder. ( Ieb213 )
Исправления ошибок
- Резервное статическое значение было удалено из анимируемых полей. ( Ifcb01 )
-
DynamicTypeValueReceiver#onPreUpdate
удален. ( I2dc35 ) - Длина строк в динамических выражениях теперь ограничена. ( I4c93 )
- Зависимости градиента теперь правильно устанавливаются на
api
вместоimplementation
, когда это необходимо. ( I40503 )
Версия 1.0.0-альфа07
5 апреля 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-alpha07
. Версия 1.0.0-alpha07 содержит эти коммиты.
Новые возможности
- Добавьте поддержку динамических значений в
StringProp
( I04342 ). - Отметить привязываемые элементы макета ( Ia110b )
Изменения API
-
sensorGateway#registerSensorGatewayConsumer
принимает тип данных в качестве параметра, а не метода в Consumer. ( Icf314 ) -
ObservableStateStore
был переименован вStateStore
. ( Ieb0e2 ) - Добавлен
DynamicTypeEvaluator.Builder
вместо аргументов конструктора, чтобы разрешить использование дополнительных аргументов, включаяObservableStateStore
, который теперь по умолчанию имеет пустое хранилище. ( I6f832 ) - Переработан порядок параметров в
DynamicTypeEvaluator
. ( Ic1ba4 )
Исправления ошибок
- Правильно распространять сигналы от источников датчиков платформы на нижестоящие узлы ( I5a922 ).
Версия 1.0.0-альфа06
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
. ( Если7806 )
Исправления ошибок
- Добавлен
FloatNodesTest
( Id7281 ). - Исправлен сбой средства рендеринга при невозможности загрузить структурированное растровое изображение.
Версия 1.0.0-альфа05
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
теперь принимают Executor. ( I346ab ) - Мы добавили метод
startEvaluation
вBoundDynamicType
, чтобы запускать оценку после привязки динамического типа. ( я19908 )
Исправления ошибок
- Объект Animator будет повторно использоваться для последующих анимаций одного элемента. ( Ia3be9 )
Версия 1.0.0-альфа04
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-альфа03
8 февраля 2023 г.
Выпущен androidx.wear.protolayout:protolayout-*:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Новые возможности
- Мы добавили
toByteArray()
иfromByteArray()
к динамическим типам в библиотеке protolayout-express. - Мы добавили
toString()
к динамическим типам в библиотеке выражений protolayout. - Мы добавили поддержку оценки для динамических типов. Класс
DynamicTypeEvaluator
из библиотеки protolayout-expression-pipeline можно использовать для оценки (и получения обновленных значений) ранее созданного динамического типа (DynamicString
,DynamicFloat
,…). - Если анимацию невозможно воспроизвести (либо из-за того, что она отключена оценщиком, либо из-за того, что количество запущенных анимаций достигло установленного предела), для замены анимации будут использоваться статические значения, установленные в анимируемом узле.
Версия 1.0.0-альфа02
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-альфа01
11 января 2023 г.
Выпущены androidx.wear.protolayout:protolayout-expression:1.0.0-alpha01
и androidx.wear.protolayout:protolayout-proto:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
- В этом выпуске представлена новая библиотека ProtoLayout Expression для создания выражений из динамических переменных.