Износостойкая плитка

Создание приложений для умных часов Wear OS by Google.
Последнее обновление Стабильный релиз Кандидат на релиз Бета-релиз Альфа-релиз
20 мая 2025 г. 1.4.1 1.5.0-rc01 - -

Объявление зависимостей

Чтобы добавить зависимость от Wear, необходимо добавить репозиторий Google Maven в свой проект. Прочтите репозиторий Google Maven для получения дополнительной информации.

Добавьте зависимости для необходимых артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.4.1"

    // Use to utilize standard components and layouts in your tiles
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material Design in your tiles
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"

    // Use to include dynamic expressions in your tiles
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.4.1"

    // Use to fetch tiles from a tile provider in your tests
    testImplementation "androidx.wear.tiles:tiles-testing:1.4.1"
}

Котлин

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.4.1")

    // Use to utilize standard components and layouts in your tiles
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material Design in your tiles
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")

    // Use to include dynamic expressions in your tiles
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.4.1")

    // Use to fetch tiles from a tile provider in your tests
    testImplementation("androidx.wear.tiles:tiles-testing:1.4.1")
}
,

классный

dependencies {
    // Use to implement support for wear tiles
    implementation "androidx.wear.tiles:tiles:1.4.1"

    // Use to utilize standard components and layouts in your tiles
    implementation "androidx.wear.protolayout:protolayout:1.2.1"

    // Use to utilize components and layouts with Material Design in your tiles
    implementation "androidx.wear.protolayout:protolayout-material:1.2.1"

    // Use to include dynamic expressions in your tiles
    implementation "androidx.wear.protolayout:protolayout-expression:1.2.1"

    // Use to preview wear tiles in your own app
    debugImplementation "androidx.wear.tiles:tiles-renderer:1.4.1"

    // Use to fetch tiles from a tile provider in your tests
    testImplementation "androidx.wear.tiles:tiles-testing:1.4.1"
}

Котлин

dependencies {
    // Use to implement support for wear tiles
    implementation("androidx.wear.tiles:tiles:1.4.1")

    // Use to utilize standard components and layouts in your tiles
    implementation("androidx.wear.protolayout:protolayout:1.2.1")

    // Use to utilize components and layouts with Material Design in your tiles
    implementation("androidx.wear.protolayout:protolayout-material:1.2.1")

    // Use to include dynamic expressions in your tiles
    implementation("androidx.wear.protolayout:protolayout-expression:1.2.1")

    // Use to preview wear tiles in your own app
    debugImplementation("androidx.wear.tiles:tiles-renderer:1.4.1")

    // Use to fetch tiles from a tile provider in your tests
    testImplementation("androidx.wear.tiles:tiles-testing:1.4.1")
}

Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новый выпуск

Более подробную информацию смотрите в документации Issue Tracker .

Версия 1.5

Версия 1.5.0-rc01

20 мая 2025 г.

androidx.wear.tiles:tiles-*:1.5.0-rc01 выпущен без изменений по сравнению с предыдущим релизом. Версия 1.5.0-rc01 содержит эти коммиты .

Версия 1.5.0-beta02

7 мая 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-beta02 . Версия 1.5.0-beta02 содержит эти коммиты .

Версия 1.5.0-beta01

9 апреля 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-beta01 . Версия 1.5.0-beta01 содержит эти коммиты .

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

Выпуск 1.5.0-beta01 Wear Tiles указывает на то, что этот выпуск библиотеки является полным и API заблокирован (за исключением случаев, когда он отмечен как экспериментальный). Wear Tiles 1.5 включает в себя следующие новые функции и API:

  • Добавлен новый API TileService.onRecentInteractionEvents() для пакетной обработки событий взаимодействия плитки (вход/выход).
    • Существующие API в TileService для onEnterEvent и onLeaveEvent устарели и не будут работать с SDK 36+ для приложений, ориентированных на API 36 или более поздних версий.
  • Исправлена ​​критическая ошибка для всех клиентов, использующих SDK выше 34 и запрашивающих обновление плитки в API 34, что может вызвать исключение SecurityException .
  • Начиная с Wear 6 (уровень SDK 36+) все плитки будут отображаться системным шрифтом, который определяется каждым устройством.

Версия 1.5.0-альфа10

12 марта 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha10 . Версия 1.5.0-alpha10 содержит эти коммиты .

Версия 1.5.0-альфа09

26 февраля 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha09 . Версия 1.5.0-alpha09 содержит эти коммиты .

Версия 1.5.0-альфа08

12 февраля 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha08 . Версия 1.5.0-alpha08 содержит эти коммиты .

Изменения API

  • TileService.onRecentInteractionEvents() для возврата ListenableFuture<Void> для обеспечения возможности выполнения длительных задач. ( Iaa6c5 )

Версия 1.5.0-альфа07

29 января 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha07 . Версия 1.5.0-alpha07 содержит эти коммиты .

Версия 1.5.0-альфа06

15 января 2025 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha06 . Версия 1.5.0-alpha06 содержит эти коммиты .

Изменения API

  • Метод processRecentInteractionEvents переименован в onRecentInteractionEvents . ( Iec3d5 )

Версия 1.5.0-альфа05

11 декабря 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha05 . Версия 1.5.0-alpha05 содержит эти коммиты .

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

  • Добавьте API для TileService для пакетной обработки событий взаимодействия. ( I04d1b )

Исправление ошибок

  • Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I390e9 , b/326456246 )
  • Исправлена ​​ошибка, из-за которой запрос обновлений плитки по API 34, когда targetSdk приложения выше 34, вызывал исключение SecurityException ( If62a1 ).
  • Исправлена ​​зависимость от WearSdk в тестах Robolectric. ( I37796 )

Версия 1.5.0-альфа04

13 ноября 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha04 . Версия 1.5.0-alpha04 содержит эти коммиты .

Версия 1.5.0-альфа03

30 октября 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha03 . Версия 1.5.0-alpha03 содержит эти коммиты .

Версия 1.5.0-альфа02

16 октября 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha02 . Версия 1.5.0-alpha02 содержит эти коммиты .

Исправления безопасности

  • С этого изменения androidx компилируется с protobuf 4.28.2 для устранения CVE-2024-7254 . Обновите свою зависимость от версии 1.5.0-alpha01 androidx.wear.tiles:tiles-proto до 1.5.0-alpha02 для устранения риска уязвимости.

Версия 1.5.0-альфа01

2 октября 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.5.0-alpha01 . Версия 1.5.0-alpha01 содержит эти коммиты .

Версия 1.4

Версия 1.4.1

16 октября 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.1 . Версия 1.4.1 содержит эти коммиты .

Исправления безопасности

  • С этого изменения androidx компилируется с protobuf 4.28.2 для устранения CVE-2024-7254 . Обновите свою зависимость от версии 1.4.0 androidx.wear.tiles:tiles-proto до 1.4.1 для устранения риска уязвимости.

Версия 1.4.0

7 августа 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0 . Версия 1.4.0 содержит эти коммиты .

Важные изменения по сравнению с версией 1.3.0

  • Поддержка инструментов для указания пользовательских данных платформы для предпросмотра плиток в Android Studio.

Версия 1.4.0-rc01

24 июля 2024 г.

androidx.wear.tiles:tiles-*:1.4.0-rc01 выпущен без изменений по сравнению с предыдущим релизом. Версия 1.4.0-rc01 содержит эти коммиты .

Версия 1.4.0-beta01

10 июля 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-beta01 . Версия 1.4.0-beta01 содержит эти коммиты .

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

Выпуск Wear Tiles 1.4.0-beta01 означает, что этот выпуск библиотеки является полным и API заблокирован (за исключением случаев, когда он отмечен как экспериментальный). Wear Tiles 1.4 включает в себя следующие новые функции и API:

  • Поддержка инструментов для указания пользовательских данных платформы для предпросмотра плиток в Android Studio.

Версия 1.4.0-альфа05

26 июня 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-alpha05 . Версия 1.4.0-alpha05 содержит эти коммиты .

Версия 1.4.0-альфа04

29 мая 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-alpha04 . Версия 1.4.0-alpha04 содержит эти коммиты .

Версия 1.4.0-альфа03

14 мая 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-alpha03 . Версия 1.4.0-alpha03 содержит эти коммиты .

Исправление ошибок

  • TileService#getActiveTilesAsync теперь использует API WearSdk (если доступно) для предоставления более точного результата. ( I57bd8 )

Версия 1.4.0-альфа02

1 мая 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-alpha02 . Версия 1.4.0-alpha02 содержит эти коммиты .

Изменения API

  • Переместить tileId в параметр конструктора Builder как обязательное поле и задокументировать значение временной метки по умолчанию в геттере. ( I98c2b )
  • Добавьте сообщения-прототипы TileInteractionEvent , TileEnter и TileLeave , а также Java-оболочки, необходимые для пакетной обработки событий входа/выхода плитки. ( I112b0 )
  • Рефакторинг TileRenderer для использования Builder вместо объекта TileRenderer.Config . ( Ib66f9 )
  • Добавьте атрибут platformDataProviders в TileRenderer.Config . ( I6030d )
  • Добавить новый конструктор в TileRenderer , который поддерживает новый класс TileRenderer.Config . Другие конструкторы устарели. ( Iae7ff )
  • Добавьте поле platformDataValues ​​в TilePreviewData чтобы разрешить переопределение значений данных платформы. ( If437a )

Исправление ошибок

  • Документально подтверждено, что значение по умолчанию для TileRenderer.Config.Builder#setTilesTheme равно нулю. ( Iced18 )

Версия 1.4.0-альфа01

6 марта 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит эти коммиты .

Версия 1.3

Версия 1.3.0

7 февраля 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0 . Версия 1.3.0 содержит эти коммиты.

Важные изменения по сравнению с версией 1.2.0

  • Обновленный инструментарий для поддержки предварительного просмотра плиток.
  • Поддержка запроса активных плиток, принадлежащих приложению.

Дополнительные изменения

Версия 1.3.0-rc01

24 января 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-rc01 . Версия 1.3.0-rc01 содержит эти коммиты.

Изменения API

  • Переименован TileService#getActiveTilesSnapshotAsync в getActiveTilesAsync . ( If6b87 )

Версия 1.3.0-beta01

10 января 2024 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-beta01 . Версия 1.3.0-beta01 содержит эти коммиты.

Выпуск Wear Tiles 1.3.0-beta01 означает, что этот выпуск библиотеки является полным и API заблокирован (за исключением случаев, когда он отмечен как экспериментальный). Wear Tiles 1.3 включает в себя следующие новые функции и API:

  • Модуль инструментария для износа плиток обновлен для поддержки предварительного просмотра плиток и готов к публикации.
  • Поддержка запроса того, какие плитки, принадлежащие приложению, активны, с помощью TileService.getActiveTilesSnapshotAsync .

Версия 1.3.0-альфа04

13 декабря 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-alpha04 . Версия 1.3.0-alpha04 содержит эти коммиты.

Версия 1.3.0-альфа03

29 ноября 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-alpha03 . Версия 1.3.0-alpha03 содержит эти коммиты.

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

  • Добавлен новый API TileService#getActiveTilesSnapshotAsync для запроса того, какие плитки, принадлежащие приложению, являются активными. ( I6850e )

Изменения API

  • Переименуйте @TilePreview в @Preview ( Ifc08a )

Версия 1.3.0-альфа02

15 ноября 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-alpha02 . Версия 1.3.0-alpha02 содержит эти коммиты.

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

  • Мы добавили экспериментальный API для автоматического масштабирования размера текста в зависимости от пространства внутри родительского элемента. ( Ibbe63 )

Версия 1.3.0-альфа01

18 октября 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит эти коммиты.

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

  • Укажите контекст как параметр метода предварительного просмотра вместо параметров обратного вызова TilePreviewData . ( I5e97d )
  • Модуль для инструментария для износа плиток обновлен для поддержки предварительного просмотра плиток и готов к публикации. ( I63d0f )

Версия 1.2

Версия 1.2.0

9 августа 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0 . Версия 1.2.0 содержит эти коммиты.

Важные изменения по сравнению с версией 1.1.0

  • Стабильный релиз Wear Tiles 1.2.0 ( подробнее )
  • Tiles 1.2 добавляет поддержку привязки элементов макета к данным платформы (для более быстрых обновлений) и анимации. Инструкции по миграции см. в примечаниях к выпуску ( 1.2.0-rc01 )

Версия 1.2.0-rc01

26 июля 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-rc01 . Версия 1.2.0-rc01 содержит эти коммиты.

  • В версии 1.2 библиотека Tiles была переработана, и большинство функций и API перемещены в новую библиотеку ProtoLayout (пакет androidx.wear.protolayout ), а небольшое подмножество осталось в Tiles ( androidx.wear.tiles ):

    • Все названия классов остались прежними, есть только дополнения к v1.1
    • Большинство API остались прежними, изменилось только название пакета.
    • Некоторые методы в TileService/TileBuilder устарели и теперь имеют переименованные версии, которые принимают новые типы ProtoLayout вместо устаревших типов Tiles.
  • Чтобы упростить эту миграцию, мы составили небольшую инструкцию и скрипт, который выполняет это переименование, см. здесь .

Изменения API

  • Мы ограничили максимальную глубину, которую может иметь макет, до 30 вложенных элементов в плитке. Если эта глубина будет превышена, рендерер плитки покажет ранее раздутый макет. ( I8a74b )

Версия 1.2.0-beta01

21 июня 2023 г.

androidx.wear.tiles:tiles-*:1.2.0-beta01 выпущен без изменений. Версия 1.2.0-beta01 содержит эти коммиты.

Версия 1.2.0-альфа07

7 июня 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha07 . Версия 1.2.0-alpha07 содержит эти коммиты.

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

  • TileRenderer.setState позволяет задать состояние для сеанса рендеринга. Это состояние будет применяться к текущему макету и любому будущему (пока не будет установлено новое состояние) ( Iaaf35 )
  • Типы protolayout теперь полностью поддерживаются во всех API-интерфейсах рендеринга плиток. ( I428b0 )

Исправление ошибок

  • Теперь в ProtoLayoutViewInstance можно задать пользовательскую тему. ( Iae8c0 )

Версия 1.2.0-альфа06

24 мая 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha06 . Версия 1.2.0-alpha06 содержит эти коммиты.

Изменения API

  • Переименуйте StateEntryValue в DynamicDataValue и обновите API состояния для использования DynamicDataKey ( If1c01 ).
  • Мы ограничиваем количество записей, разрешенных в StateStore , чтобы гарантировать, что использование памяти и время обновления состояния хорошо сдерживаются и контролируются для каждого экземпляра StateStore . В результате разработчик должен убедиться, что у него не больше MAX_STATE_ENTRY_COUNT записей в карте, иначе он получит IllegalStateException при создании или обновлении StateStore . ( Ibadb3 )

Версия 1.2.0-альфа05

10 мая 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha05 . Версия 1.2.0-alpha05 содержит эти коммиты.

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

  • Мы добавили идентификатор плитки к событиям и запросам плитки. Этот идентификатор можно использовать для связывания некоторых данных с экземпляром плитки в карусели. ( Ic4f83 )

Изменения API

  • TileRenderer.inflateAsync теперь возвращает ListenableFuture . ( I2f2b9 )
  • Конструкторы плиток, у которых есть замена в библиотеке protolayout , теперь помечены как устаревшие. ( Ie2029 )

Исправление ошибок

  • Javadoc для TileService.onTileResourcesRequest теперь поясняет, когда метод может быть вызван системой. ( Iee037 )

Версия 1.2.0-альфа04

19 апреля 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha04 . Версия 1.2.0-alpha04 содержит эти коммиты.

Исправление ошибок

  • Зависимости Gradle теперь правильно устанавливаются на api , а не на implementation , когда это необходимо. ( I40503 )

Версия 1.2.0-альфа03

5 апреля 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha03 . Версия 1.2.0-alpha03 содержит эти коммиты.

Изменения API

  • Мы добавили поддержку типов androidx.wear.protolayout в TileRenderer ( I4ac7f )
  • ObservableStateStore переименован в StateStore . ( Ieb0e2 )
  • Добавить перегрузки для типов protolayout в TileRenderer ( I4ac7f )
  • Включить анимацию в TileRenderer ( I07dcf )

Версия 1.2.0-альфа02

22 марта 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит эти коммиты.

Изменения API

  • Библиотека материалов Tiles устарела. Используйте новую библиотеку ProtoLayout Material с теми же функциями. ( If242b )

Исправление ошибок

  • TileRenderer был обновлен для использования новых функций из библиотеки protolayout. ( I832f9 )

Версия 1.2.0-альфа01

8 марта 2023 г.

Выпущен androidx.wear.tiles:tiles-*:1.2.0-alpha01 . Версия 1.2.0-alpha01 содержит эти коммиты.

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

  • Мы добавили onTileResourceRequest в TileService для предоставления ресурсов из библиотеки protolayout . ( 983d9c5 )
  • Мы обновили ResourcesRequest и TileRequest для поддержки типов State и DeviceParameters из библиотеки protolayout . ( 88fa01d )
  • Мы обновили TileBuilders.Tile для поддержки типов State и Timeline из библиотеки protolayout . ( 168619c )

Исправление ошибок

  • Улучшения Javadocs. ( I3ed73 )
  • Цвета по умолчанию для onPrimary и поверхности изменились. ( I0b039 )

Версия 1.1

Версия 1.1.0

24 августа 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0 . Версия 1.1.0 содержит эти коммиты.

Важные изменения с версии 1.0.0

  • Это первый стабильный релиз, содержащий библиотеку материалов Tiles (подробнее в нашем блоге ).
  • Эта библиотека содержит компоненты и макеты, которые соответствуют рекомендациям Material и просты в использовании. Включенные компоненты: Button , Chip , CompactChip , TitleChip , CircularProgressIndicator , Text . Все эти компоненты имеют собственный объект цветов, который можно создать с помощью основного класса Colors, чтобы легко применить одну и ту же тему ко всем компонентам. В дополнение к цветам есть класс Typography, чтобы легко получить объекты FontStyle, используя имя типографики.
  • Помимо компонентов, существуют рекомендуемые макеты плиток - PrimaryLayout , EdgeContentLayout , MultiButtonLayout , MultiSlotLayout . Все макеты имеют рекомендуемые отступы и стили, которые применяются в соответствии с рекомендациями Material.
  • Список компонентов и макетов в библиотеке материалов Tiles см. в примечаниях к выпуску Tiles .

Версия 1.1.0-rc01

10 августа 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-rc01 . Версия 1.1.0-rc01 содержит эти коммиты.

  • Между бета-версией и RC-версией никаких новых изменений не произошло.

Версия 1.1.0-beta01

27 июля 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-beta01 . Версия 1.1.0-beta01 содержит эти коммиты.

Версия 1.0.0-beta01 библиотеки материалов Tiles содержит компоненты и макеты, которые соответствуют рекомендациям Material и просты в создании.

В комплект входят следующие компоненты:

  • Button — интерактивный объект круглой формы с иконкой, текстом или изображением в трех предопределенных размерах.
  • Chip — кликабельный объект в форме стадиона, который может содержать значок, основные и дополнительные метки, а также имеет фиксированную высоту и настраиваемую ширину.
  • CompactChip и TitleChip — две разновидности стандартного чипа, имеющие меньшую и большую высоту соответственно и способные содержать одну строку текста.
  • CircularProgressIndicator — цветная дуга по краю экрана с заданными начальным и конечным углами, которая может описывать полную или частичную окружность с полной дугой прогресса позади нее.
  • Text — стилизованный текст, использующий рекомендуемые стили типографики Wear Material.

Все эти компоненты имеют свой собственный объект цветов, который может быть создан с помощью основного класса Colors , чтобы легко применить одну и ту же тему ко всем компонентам. В дополнение к цветам, есть класс Typography , чтобы легко получить объекты FontStyle , используя имя типографики.

Помимо компонентов, существуют рекомендуемые варианты раскладки плитки:

  • PrimaryLayout — макет, который можно настроить, добавив первичные или вторичные метки, содержимое в середине и первичный чип внизу. Основной контент в этом макете можно добавить как объект MultiSlotLayout или MultiButtonLayout .
  • EdgeContentLayout — макет для размещения CircularProgressIndicator по краю с основным содержимым внутри и первичной или вторичной меткой вокруг него.
  • MultiButtonLayout — макет, который может содержать от 1 до 7 кнопок, расположенных в соответствии с рекомендациями Material в зависимости от их количества.
  • MultiSlotLayout — макет в виде ряда с горизонтально выровненными и разнесенными слотами (для значков или другого небольшого контента).

Ко всем макетам применены рекомендуемые отступы и стили, соответствующие рекомендациям Material.

Изменения API

  • Значительный рефакторинг компонентов Chip, включающий разделение сеттеров в Builder, чтобы каждая часть контента передавалась отдельно с переименованием в соответствии с рекомендациями (первичная метка, вторичная метка, идентификатор ресурса изображения). Кроме того, описание контента будет сгенерировано автоматически, если не установлено. ( I57622 )
  • ProgressIndicatorLayout переименован в EdgeContentLayout . ( Ic1aa6 )
  • Содержимое размера кнопки было переименовано в имена without _BUTTON с дополнительными пояснениями Javadocs по Button . ( I1dfe2 )

Исправление ошибок

  • Поля, отступы и общая компоновка в Material Layouts были обновлены с учетом всех типов рекомендуемых макетов, а также размеров и форм экранов.
  • Улучшения в Material Layouts. В MultiSlotLayout слоты теперь имеют гибкую ширину, где они будут обволакивать контент, а не иметь фиксированный размер. ( I52919 ), ( If18b4 )
  • Область, к которой можно прикоснуться на CompactChip , была увеличена в целях соблюдения правил доступности. ( Ie8264 )

Версия 1.1.0-альфа09

29 июня 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha09 . Версия 1.1.0-alpha09 содержит эти коммиты.

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

  • Мы добавили поддержку добавления дополнительных меток в ProgressIndicatorLayout . ( I30788 )

Изменения API

  • Вспомогательные методы для ElementMetadata теперь принимают ElementMetadata вместо модификаторов. ( I5a70f )

Исправление ошибок

  • Ограничение в 9 символов на CompactChip было снято. Если текст слишком большой, чтобы вписаться в экран в PrimaryLayout , он будет отображен в виде многоточия. ( Id56ec )
  • Геттеры в Chip теперь имеют суффикс Content . ( Iba437 )
  • Разъяснение Javadoc по классам материалов Tiles. ( I56e41 ), ( I80f31 ), ( Iba437 )

Версия 1.1.0-альфа08

1 июня 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha08 . Версия 1.1.0-alpha08 содержит эти коммиты.

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

  • Тег метаданных был добавлен в модификаторы для использования при отслеживании метаданных компонента с помощью вспомогательных методов, добавленных в класс Helper . ( I70db2 ),( I30c3d )
  • Статический метод fromLayoutElement был добавлен во все компоненты и макеты внутри Tiles Material. Его следует использовать для тестирования, чтобы привести LayoutElement, полученный при доступе к содержимому контейнера, к его исходному типу. ( Ia572a ),( Idbd8a ),( I3ae13 ),( I292fe ),( I8b20f ),( I3cacb ),( I84b24 )

Версия 1.1.0-альфа07

18 мая 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит эти коммиты.

Изменения API

  • Геттеры, связанные с различными сеттерами для контента, теперь добавлены в ProgressIndicatorLayout и PrimaryLayout . Теперь все сеттеры в этих классах имеют соответствующие геттеры.( Iddbe5 ) ( Iabe4e )
  • Геттер для описания содержимого в компонентах материалов может возвращать значение null, поскольку его сеттер не является обязательным.
  • Попытка создать кнопку без переданного содержимого приведет к исключению IllegalArgumentException . ( I7fc0c )
  • Поля, связанные с цветом значка в ChipColors были переименованы из iconTintColor в iconColor . ( Ic053b )

Исправление ошибок

  • Добавлены androidTests для макетов в Tiles Material. ( I96404 )

Версия 1.1.0-альфа06

11 мая 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит эти коммиты.

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

  • Новый макет был добавлен в подбиблиотеку Material Layouts - MultiButtonLayout . Он представляет собой макет, который может содержать от 1 до 7 кнопок, расположенных в соответствии с рекомендациями Material. В большинстве случаев этот макет должен быть передан в качестве содержимого в PrimaryLayout . ( Ib727f )

Изменения API

  • MultiSlotLayout был рефакторингован, чтобы иметь в нем только слоты. Этот макет должен быть передан как содержимое в основной PrimaryLayout . ( I1870f )
  • Обновлены определенные цвета по умолчанию для CircularProgressIndicator , чтобы иметь одно значение вместо основного и дополнительного. ( I64a51 )
  • Добавлен геттер для горизонтального разделителя в MultiSlotLayout . ( I11e1e )

Исправление ошибок

  • Тесты Android для компонентов были добавлены в Tiles Material. ( I20041 )

Версия 1.1.0-альфа05

6 апреля 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит эти коммиты.

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

  • Добавлены вспомогательные методы для преобразования LayoutElement в Layout, Timeline, TimelineEntry в эти классы для упрощения создания плиток. ( I2f6d1 )
  • Объект Colors был добавлен в библиотеку материалов для передачи цветов компонентов в качестве темы. ( I0792c )

Изменения API

  • Компонент Material Text требует текст, переданный в конструктор. Теперь этот компонент можно настроить, задав вес. ( I25dbd )
  • Удалены константы из ChipDefaults , которые не используются в публичных сеттерах. ( I7baed )
  • Удалены геттеры из CompactChip и TitleChip , у которых нет соответствующих сеттеров. ( I99e85 )
  • Удален DEFAULT_PADDING из ProgressIndicatorDefaults . ( Idabcd )
  • Компоненты материалов теперь принимают CharSequence для описания содержимого вместо String. ( I5b21a )

Исправление ошибок

  • Реорганизована реализация сеттеров необязательных параметров в Button. ( Ib7135 )
  • Вариант стиля шрифта был добавлен в шрифты в разделе «Типографика». ( I8dbc6 )

Версия 1.1.0-альфа04

23 марта 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит эти коммиты.

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

  • В PrimaryLayout можно добавить необязательную первичную или вторичную метку. ( Ib9916 )
  • Текстовый компонент можно настроить, установив переполнение, курсив, подчеркивание и т. д. ( I703f7 )

Изменения API

  • Константы цвета по умолчанию были удалены из API материалов плиток. ( I0ab55 )
  • Все интерактивные компоненты в материале Tiles требуют наличия объекта Clickable в конструкторе Builder вместо действия. ( I2f101 )

Исправление ошибок

  • Текст теперь будет отображать многоточие при переполнении в компоненте Chip and Text. ( I8a2f8 )
  • Улучшен внешний вид компонентов при установке большого масштаба шрифта пользователя. ( Ib63b1 )
  • Уточните Javadocs для setPrimaryChipContent в PrimaryLayout. ( Ie6296 )

Версия 1.1.0-альфа03

23 февраля 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит эти коммиты.

Изменения API

  • В материал TIles добавлен Text компонент с рекомендуемыми стилями оформления. ( Iec0ae )

Версия 1.1.0-альфа02

9 февраля 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты.

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

  • Добавлена ​​новая подбиблиотека layouts в Tiles Material. Она содержит авторские макеты Tiles с рекомендуемыми отступами и полями, применяемыми для ускорения разработки Tile и упрощения внедрения. Начальные макеты:
    • PrimaryLayout ( I7ba91 ), представляющий собой макет с основным чипом внизу и содержимым в центре.
    • MultiSlotLayout ( I32104 ), представляющий собой макет с метками в строках 1 и 3, горизонтально выровненными и разнесенными слотами в строке 2, за которыми следует 4-я строка, содержащая основной чип.
    • ProgressIndicatorLayout ( I9fec6 ), представляющий собой макет с круговым индикатором хода выполнения по краю экрана и заданным содержимым внутри.
  • К компонентам материала плитки добавлен CircularProgressIndicator ( Ic4b88 ).

Изменения API

  • Переименованы оставшиеся константы, используемые TitleChip , для включения заголовка в имя. ( I14f4c )
  • Метод setHorizontalAlignment был добавлен в Chip . ( Ie6e0b )

Версия 1.1.0-альфа01

26 января 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит эти коммиты.

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

  • Добавлена ​​новая библиотека Tiles Material. Она содержит компоненты для более быстрого и легкого построения макетов Tiles с помощью Material design. Начальные компоненты:
    • Button
    • Chip
    • CompactChip
    • TitleChip

Исправление ошибок

  • Исправлена ​​ошибка в TileUiClient , приводившая к удалению кэшированных ресурсов. ( I60e0b )

Версия 1.0

Версия 1.0.1

26 января 2022 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.1 . Версия 1.0.1 содержит эти коммиты.

Исправление ошибок

  • Исправлена ​​ошибка в TileUiClient , приводившая к удалению кэшированных ресурсов. ( I60e0b )

Версия 1.0.0

3 ноября 2021 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.0 . Версия 1.0.0 содержит эти коммиты.

Основные особенности 1.0.0

  • Библиотека Wear Tiles предоставляет функциональные возможности для создания пользовательских плиток для устройств Wear OS, а также классы, которые позволяют системе извлекать вашу плитку и отображать ее прямо рядом с циферблатом часов.
  • tiles-renderer позволяет отображать плитку как часть действия Android, что упрощает быстрое тестирование макетов плиток.

Версия 1.0.0-rc01

27 октября 2021 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.0-rc01 . Версия 1.0.0-rc01 содержит эти коммиты.

Версия 1.0.0-beta01

13 октября 2021 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.0-beta01 . Версия 1.0.0-beta01 содержит эти коммиты.

Исправление ошибок

  • Исправлена ​​ошибка NullPointerException в TileUiClient при предоставлении пустой версии ресурса. ( I0586e )

Версия 1.0.0-альфа12

29 сентября 2021 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.0-alpha12 . Версия 1.0.0-alpha12 содержит эти коммиты.

Исправление ошибок

  • UpdateScheduler больше не использует слабую ссылку, что устраняет проблемы, при которых TileUiClient не обновлялся ( I1120d , b/199061124 ).

  • Объявляем, что SysUiTileUpdateRequester запрашивает PacakgeManager, исправляя ошибку, из-за которой обновления плиток не работали на устройствах R+. ( I1120d )

Версия 1.0.0-альфа11

1 сентября 2021 г.

Выпущен androidx.wear.tiles:tiles-*:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит эти коммиты.

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

  • Добавлена ​​и выпущена библиотека тестирования androidx.wear.tiles:tiles-testing, позволяющая разработчикам легче тестировать свои плитки. ( Iedb6b )

Изменения API

  • TileProviderService переименован в TileService. ( I1ad2c )
  • Обновлены конструкторы плиток; статические методы .builder() устарели в пользу вызова new Foo.Builder() , а перегрузки сеттеров, которые принимали экземпляр Builder , были удалены. ( Ia9606 )
  • TileRenderer теперь должен использовать контекст пользовательского интерфейса вместо контекста приложения. ( I84b61 )

Исправление ошибок

  • Исправлена ​​ошибка, приводившая к применению множественных подчеркиваний в определенных ситуациях. ( Ib6712 )

Версия 1.0.0-альфа10

18 августа 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha10 , androidx.wear.tiles:tiles-proto:1.0.0-alpha10 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит эти коммиты.

Изменения API

  • Удалены средства проверки макета из публичного API. Они всегда будут включены, хотя будут выдавать предупреждение только в случае неудачной проверки. ( Ie9f29 )
  • TileRenderer теперь принимает контекст пользовательского интерфейса вместо контекста приложения.

Исправление ошибок

  • Исправлена ​​ошибка, из-за которой нельзя было щелкнуть по активным элементам в Spannable.

Версия 1.0.0-альфа09

21 июля 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha09 , androidx.wear.tiles:tiles-proto:1.0.0-alpha09 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит эти коммиты.

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

  • Добавлены средства проверки макета для рендерера Wear Tiles. ( I3a869 )
    • Они используются для проверки лучших практик в вашей плитке. Для начала, они выдадут предупреждение, если ваша плитка не содержит элементов с модификатором Semantics .
  • Добавлена ​​документация для конструкторов DefaultTileProviderClient и TestingTileProviderClient constructors . ( I9f4b9 )

Изменения API

  • Переименование в TileProviderClient ( I0ec36 ):
    • getApiVersion -> requestApiVersion
    • tile/resourcesRequest -> requestTile/Resources
    • onTileFooEvent -> sendOnTileFooEvent
  • Добавлены средства проверки макета для рендерера Wear Tiles. ( I3a869 )

Исправление ошибок

  • Убедитесь, что у цели LaunchAction нет специальных разрешений. ( I39136 )

Версия 1.0.0-альфа08

30 июня 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha08 , androidx.wear.tiles:tiles-proto:1.0.0-alpha08 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит эти коммиты.

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

  • Spannables теперь поддерживают line_height вместо line_spacing.

Изменения API

  • Добавить поддержку line_height в Spannables, удалить line_spacing. ( Ibeb54 )
    • Код, использующий line_spacing, следует перенести на использование line_height.

Исправление ошибок

  • Исправлена ​​ошибка при использовании пропорциональных размеров. ( I37ace )
  • Исправлена ​​ошибка, препятствовавшая появлению описаний содержимого у текстовых элементов. ( Id2c7d )

Версия 1.0.0-альфа07

16 июня 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha07 , androidx.wear.tiles:tiles-proto:1.0.0-alpha07 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит эти коммиты.

Изменения API

  • Добавьте интерфейс TileProviderClient и откройте DefaultTileProviderClient , что позволит реализациям привязываться к интерфейсу TileProviderService . ( I69165 )

Версия 1.0.0-альфа06

2 июня 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha06 , androidx.wear.tiles:tiles-proto:1.0.0-alpha06 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит эти коммиты.

Изменения API

  • Все классы Builder теперь содержат геттеры для всех свойств. Обратите внимание, что они предназначены только для целей тестирования ( I9d155 )
  • Изменение пакета: классы из androidx.wear.tiles.builders были перемещены в androidx.wear.tiles .
  • Добавить экспериментальную поддержку оттенков для плиток. ( I38929 )
  • LayoutElementBuilders.HALIGN_* переименован в LayoutElementBuilders.HORIZONTAL_ALIGN_* ( I67e58 )
  • Переименован LayoutElementBuilders.VALIGN_* в LayoutElementBuilders.VERTICAL_ALIGN_* ( I67e58 )
  • LayoutElementBuilders.SPAN_VALIGN_* переименован в LayoutElementBuilders.SPAN_VERTICAL_ALIGN_* ( I67e58 )
  • Добавлены классы-конструкторы для запросов и событий. ( Ib5cf4 )
  • TileProviderService перенесен для использования классов запросов и событий из RequestBuilders и EventBuilders , а не RequestReaders / EventReaders (например, onTileRequest теперь предоставляет вам RequestBuilders.TileRequest , а не RequestReaders.TileRequest ). ( I46ea1 )

Исправление ошибок

  • Исправлена ​​ошибка в асинхронной загрузке изображений для рендерера Tiles. ( Iad9b0 )
  • Исправлена ​​ошибка макета при размещении изображения с шириной или высотой, установленной на expand() в Box с шириной или высотой, установленной на wrap() . ( I33770 )

Версия 1.0.0-альфа05

18 мая 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha05 , androidx.wear.tiles:tiles-proto:1.0.0-alpha05 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит эти коммиты.

Изменения API

  • Удален getTileId из входящих событий плитки ( TileAddEvent , TileRemoveEvent , TileEnterEvent , TileLeaveEvent , TileRequest ). ( Ifbba2 )
  • ImageResource#setAndroidResourceByResid переименован в setAndroidResourceByResId ( I4ba6e ).
  • TimelineManager#deInit переименован в close и реализован AutoCloseable . ( I5dff2 )

Версия 1.0.0-альфа04

5 мая 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha04 , androidx.wear.tiles:tiles-proto:1.0.0-alpha04 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Изменения API

  • Скрытые конкретные классы TileProviderService.
    • TileUpdateRequester теперь принимает Class<? extends TileProviderService> . ( Ib7cca )
  • Добавлена ​​возможность добавлять дополнения в AndroidActivity. ( I748f4 )

Плитки версии 1.0.0-alpha03

21 апреля 2021 г.

Выпущены androidx.wear.tiles:tiles:1.0.0-alpha03 , androidx.wear.tiles:tiles-proto:1.0.0-alpha03 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит эти коммиты.

Изменения API

  • Переименуйте TileManager -> TileClient
    • Переименуйте TileManager#create -> TileClient#connect ( I91839 )

Исправление ошибок

  • Добавлены правила прогноза для обеспечения правильной работы tiles и tiles-renderer с включенным прогиром ( IE3D85 )

Версия 1.0.0-Alpha02

7 апреля 2021 года

androidx.wear.tiles:tiles:1.0.0-alpha02 , androidx.wear.tiles:tiles-proto:1.0.0-alpha02 и androidx.wear.tiles:tiles-renderer:1.0.0-alpha02 выпускаются. Версия 1.0.0-Alpha02 содержит эти коммиты.

Изменения API

  • androidx.wear:wear-tiles перенесла группы, и теперь его следует назвать androidx.wear.tiles:tiles
  • androidx.wear:wear-tiles-renderer переместил группы, и теперь его следует назвать androidx.wear.tiles:tiles-renderer
  • TileRenderer.LoadActionListener теперь потребляет экземпляр androidx.wear.tiles.builders.StateBuilders.State , а не androidx.wear.tiles.proto.StateProto.State .
  • TileRenderer теперь принимает ресурсы плитки от androidx.wear.tiles.builders.ResourceBuilders.Resources , а не экземпляр androidx.wear.tiles.renderer.ResourceAccessors .

Исправление ошибок

  • Фиксированная неспособность использовать LoadActionListener , поскольку он выявил внутренний класс.

Версия 1.0.0-Alpha01

10 марта 2021 г.

androidx.wear:wear-tiles:1.0.0-alpha01 , androidx.wear:wear-tiles-proto:1.0.0-alpha01 и androidx.wear:wear-tiles-renderer:1.0.0-alpha01 . Версия 1.0.0-Alpha01 содержит эти коммиты.

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

  • Библиотека рендеринга износого плитки обеспечивает функциональность для создания пользовательских плиток для износов ОС, а также классы, которые позволяют системе приносить вашу плитку и отображать ее рядом с вашим лицом.