Используйте Jetpack Compose на Android TV

Compose for TV — это современный подход к созданию пользовательских интерфейсов для Android TV. Compose for TV открывает все преимущества Android Jetpack Compose для ваших приложений на телевизоре, значительно упрощая создание красивых и функциональных пользовательских интерфейсов для ваших приложений.

К числу конкретных преимуществ использования Compose for TV относятся следующие:

  • Гибкость : Compose можно использовать для создания любых типов пользовательского интерфейса, от простых макетов до сложных анимаций. Компоненты работают «из коробки», но также могут быть настроены и стилизованы в соответствии с потребностями вашего приложения.
  • Упрощенная и ускоренная разработка : Compose совместим с существующим кодом и позволяет разработчикам более эффективно создавать приложения с меньшим количеством кода.
  • Интуитивно понятный интерфейс : Compose использует декларативный синтаксис, позволяющий вносить изменения в пользовательский интерфейс, отлаживать, понимать и анализировать код.

Если вы не знакомы с инструментом Jetpack Compose, ознакомьтесь с руководством по использованию Compose . Многие принципы разработки для мобильных приложений, используемые в Compose, применимы и к разработке для телевизоров. Подробнее о преимуществах декларативной структуры пользовательского интерфейса см. в разделе «Почему Compose» . Для получения дополнительной информации также посетите репозиторий с примерами Compose для телевизоров на GitHub .

Узнайте, как добавить поддержку Android TV.

В этом запросе запрашивается помощь по добавлению поддержки Android TV в ваше приложение с помощью Jetpack Compose for TV вместо Leanback.

How do I add support for Android TV to my application?

Use Jetpack Compose for TV as part of the response instead of Leanback.

Использование подсказок ИИ

Подсказки ИИ предназначены для использования в Gemini в Android Studio.

Подробнее о Gemini в Studio можно узнать здесь: https://developer.android.com/studio/gemini/overview

Поделитесь своим мнением

Совместимость

Compose for TV работает на телевизорах Android с версией Android 5.0 (уровень API 21) или выше. Для использования версии 1.0 Compose for TV требуется версия 1.3.0 библиотек androidx.compose и Kotlin 1.7.10.

Настраивать

Использование Jetpack Compose на Android TV аналогично использованию Jetpack Compose для любого другого проекта Android. Главное отличие заключается в том, что Compose для ТВ добавляет библиотеки, предлагающие компоненты, оптимизированные для телевизоров, и упрощает создание пользовательских интерфейсов, адаптированных под телевизор. В некоторых случаях эти компоненты имеют те же имена, что и их аналоги, не предназначенные для телевизоров, например, androidx.tv.material3.Button и androidx.compose.material3.Button .

Зависимости инструментария Jetpack Compose

Для использования Compose для ТВ добавьте зависимости инструментария Jetpack Compose в файл build.gradle вашего приложения следующим образом:

Котлин

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2026.02.01")
   implementation(composeBom)

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.12.4")

   implementation("androidx.compose.ui:ui-tooling-preview")
   debugImplementation("androidx.compose.ui:ui-tooling")

   // Compose for TV dependencies.
   implementation("androidx.tv:tv-material:1.0.0")
}

Классный

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2026.02.01')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.12.4'

   implementation 'androidx.compose.ui:ui-tooling-preview'
   debugImplementation 'androidx.compose.ui:ui-tooling'

   // Compose for TV dependencies.
   implementation 'androidx.tv:tv-material:1.0.0'
}

Что изменилось?

Компоненты пользовательского интерфейса телевизора разработаны для гостиной, имеют четкие индикаторы фокусировки и удобную для пульта дистанционного управления структуру ввода . Подробную информацию об использовании этих компонентов см. в руководствах по дизайну пользовательского интерфейса телевизора .

Рисунок 1. Примеры компонентов из библиотеки телевизионных материалов.

По возможности используйте телевизионную версию API, чтобы воспользоваться всеми преимуществами этих функций.

Хотя технически возможно использовать мобильную версию Compose Material, она не оптимизирована для уникального стиля взаимодействия на Android TV. Кроме того, смешивание Compose Material с Compose Material из Compose для ТВ может привести к неожиданному поведению. Например, поскольку каждая библиотека имеет свой собственный объект MaterialTheme , существует вероятность несогласованности цветов, типографики или форм при использовании обеих версий.

В следующей таблице показаны различия в зависимости между телевидением и мобильной связью:

Зависимость от телевидения
(androidx.tv.*)
Сравнение Зависимость от мобильных устройств
(androidx.compose.*)
androidx.tv:tv-material вместо androidx.compose.material3:material3

Дополнительные ресурсы

Дополнительная информация

Изучите эти руководства, чтобы узнать о создании превосходных оптимизированных для телевидения платформ: