Носить плитку

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

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

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

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

классный

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

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

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

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

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

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

Котлин

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

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

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

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

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

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

классный

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

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

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

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

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

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

Котлин

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

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

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

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

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

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

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

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

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

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

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

Версия 1.6

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

22 октября 2025 г.

Выпущена androidx.wear.tiles:tiles-*:1.6.0-alpha02 . Версия 1.6.0-alpha02 содержит следующие изменения .

Новые функции

  • Предварительные просмотры плиток теперь поддерживают автоматическую обработку ресурсов через ProtoLayoutScope . При использовании ресурсов изображений непосредственно в макете через materialScopeWithScope или ProtoLayoutScope больше не нужно указывать onTileResourcesRequest и ресурсы непосредственно в TilePreviewData — они будут собраны автоматически. ( I58516 )

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

  • ProtoLayoutScope , созданный внутренне TileService , теперь включает VersionInfo рендерера ProtoLayout. ( I6eee2 , b/450259727 )

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

24 сентября 2025 г.

Выпущена androidx.wear.tiles:tiles-*:1.6.0-alpha01 . Версия 1.6.0-alpha01 содержит следующие изменения .

Новые функции

  • Добавить API-интерфейсы провайдера для принятия PendingIntent в качестве действия щелчка ( I01978 , b/433802488 )
  • Разрешить указывать идентификатор плитки в запросе на обновление. ( Ia05c3 , b/421346031 )
  • Добавьте метод в TileRequest для получения объекта ProtoLayoutScope для соответствующего экземпляра плитки. ( I5b8de , b/428692428 )

Изменения API

  • Разрешить не переопределять onTileResourcesRequest при использовании API ProtoLayoutScope . ( I1773d )

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

  • Добавить реализацию для поддержки PendingIntent в ProtoTiles . ( I38167 , b/430610429 )
  • Сохраните ресурсы, используемые из ProtoLayoutScope , для корректной отправки в onTileResourcesRequest для старых рендереров, которые не объединяют их в ответ Tile. ( I063a8 , b/428692502 )
  • Перемещение minSdk по умолчанию из API 21 в API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )

Версия 1.5

Версия 1.5.0

4 июня 2025 г.

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

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

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

Версия 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 содержит следующие изменения .

Новые функции

Версия Wear Tiles 1.5.0-beta01 означает, что эта версия библиотеки полностью функциональна, а 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 )

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

  • Эта библиотека теперь использует аннотации JSpecify, определяющие значение null , которые являются типовыми. Разработчикам 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 . Обновите зависимость androidx.wear.tiles:tiles-proto с версии 1.5.0-alpha01 до 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 . Обновите зависимость androidx.wear.tiles:tiles-proto версии 1.4.0 до версии 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 )
  • Добавьте proto-сообщения 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 ):

    • Все названия классов остались прежними, есть только дополнения к версии 1.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 , иначе при создании или обновлении StateStore возникнет исключение IllegalStateException . ( 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 и surface изменились. ( 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 содержит компоненты и макеты, соответствующие рекомендациям Material и простые в реализации.

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

  • Button — интерактивный объект круглой формы со значком, текстом или изображением 3 предопределенных размеров.
  • 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 с рекомендуемыми отступами и полями, что ускоряет разработку и упрощает внедрение. Исходные макеты:
    • PrimaryLayout ( I7ba91 ), который представляет собой макет с основным чипом внизу и содержимым в центре.
    • MultiSlotLayout ( I32104 ), представляющий собой макет с метками в рядах 1 и 3, горизонтально выровненными и разнесенными слотами в ряду 2, а также за которыми следует 4-й ряд, содержащий основной чип.
    • ProgressIndicatorLayout ( I9fec6 ), который представляет собой макет с круговым индикатором прогресса по краю экрана и заданным содержимым внутри.
  • CircularProgressIndicator ( Ic4b88 ) добавлен в компоненты материала плитки.

Изменения API

  • Переименованы оставшиеся константы, используемые TitleChip , чтобы включить заголовок в имя. ( I14f4c )
  • В Chip добавлен метод setHorizontalAlignment . ( 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, а также классы, которые позволяют системе извлекать ваши плитки и отображать их прямо рядом с циферблатом ваших часов.
  • tile-renderer позволяет отображать плитку как часть Android Activity, упрощая быстрое тестирование макетов плитки.

Версия 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

  • Removed getTileId from incoming tile events ( TileAddEvent , TileRemoveEvent , TileEnterEvent , TileLeaveEvent , TileRequest ). ( Ifbba2 )
  • Renamed ImageResource#setAndroidResourceByResid to setAndroidResourceByResId ( I4ba6e )
  • Renamed TimelineManager#deInit to close, and implemented 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 , and androidx.wear.tiles:tiles-renderer:1.0.0-alpha04 are released. Version 1.0.0-alpha04 contains these commits.

Изменения API

  • Hidden concrete TileProviderService classes.
    • Made TileUpdateRequester take a Class<? extends TileProviderService> . ( Ib7cca )
  • Added ability to add extras to AndroidActivity. ( I748f4 )

Tiles Version 1.0.0-alpha03

April 21, 2021

androidx.wear.tiles:tiles:1.0.0-alpha03 , androidx.wear.tiles:tiles-proto:1.0.0-alpha03 , and androidx.wear.tiles:tiles-renderer:1.0.0-alpha03 are released. Version 1.0.0-alpha03 contains these commits.

Изменения API

  • Rename TileManager -> TileClient
    • Rename TileManager#create -> TileClient#connect ( I91839 )

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

  • Added Proguard rules to ensure tiles and tiles-renderer work properly with Proguard enabled ( Ie3d85 )

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

7 апреля 2021 г.

androidx.wear.tiles:tiles:1.0.0-alpha02 , androidx.wear.tiles:tiles-proto:1.0.0-alpha02 , and androidx.wear.tiles:tiles-renderer:1.0.0-alpha02 are released. Version 1.0.0-alpha02 contains these commits.

Изменения API

  • androidx.wear:wear-tiles has moved groups, and should now be referred to as androidx.wear.tiles:tiles
  • androidx.wear:wear-tiles-renderer has moved groups, and should now be referred to as androidx.wear.tiles:tiles-renderer
  • TileRenderer.LoadActionListener now consumes an instance of androidx.wear.tiles.builders.StateBuilders.State rather than androidx.wear.tiles.proto.StateProto.State .
  • TileRenderer now accepts Tile resources from androidx.wear.tiles.builders.ResourceBuilders.Resources , rather than an instance of androidx.wear.tiles.renderer.ResourceAccessors .

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

  • Fixed inability to use LoadActionListener , as it exposed an internal class.

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

10 марта 2021 г.

androidx.wear:wear-tiles:1.0.0-alpha01 , androidx.wear:wear-tiles-proto:1.0.0-alpha01 , and androidx.wear:wear-tiles-renderer:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.

Новые функции

  • The Wear Tiles Renderer library provides functionality to build custom Tiles for Wear OS devices, along with the classes that allow the system to fetch your Tile and display it right next to your watch face.