Compose for TV — это современный подход к созданию пользовательских интерфейсов для Android TV. Compose for TV раскрывает все преимущества Jetpack Compose для Android в ваших телевизионных приложениях, значительно упрощая создание красивых и функциональных пользовательских интерфейсов для ваших приложений.
Некоторые конкретные преимущества использования Compose for TV включают следующее:
- Гибкость : Compose можно использовать для создания любого типа пользовательского интерфейса, от простых макетов до сложных анимаций. Компоненты работают по умолчанию, но их также можно настраивать и стилизовать в соответствии с потребностями вашего приложения.
- Упрощенная и ускоренная разработка : Compose совместим с существующим кодом и позволяет разработчикам более эффективно создавать приложения с меньшим объемом кода.
- Интуитивно понятный : Compose использует декларативный синтаксис, который позволяет вносить изменения в пользовательский интерфейс, отлаживать, понимать и просматривать код.
Если вы не знакомы с инструментами Jetpack Compose, ознакомьтесь с разделом « Compose path» . Многие принципы разработки для мобильных приложений Compose применимы и к телевидению. Подробнее об общих преимуществах декларативного UI-фреймворка см. в статье «Почему Compose? ». Подробнее см. в репозитории примеров Compose для ТВ на GitHub .
В этом запросе запрашиваются рекомендации по добавлению поддержки Android TV в ваше приложение с помощью Jetpack Compose for TV вместо Leanback. Use Jetpack Compose for TV as part of the response instead of Leanback.
AI-подсказка Узнайте, как добавить поддержку Android TV
How do I add support for Android TV to my application?
Совместимость
Compose for TV работает на телевизорах Android TV с Android 5.0 (API уровня 21) и выше. Для использования Compose for TV версии 1.0 требуются библиотеки androidx.compose версии 1.3.0 и Kotlin 1.7.10.
Настраивать
Использование Jetpack Compose на Android TV аналогично использованию Jetpack Compose в любом другом проекте Android. Главное отличие заключается в том, что Compose для TV добавляет библиотеки, предлагающие компоненты, оптимизированные для телевизоров, и упрощает создание пользовательских интерфейсов, адаптированных для них. В некоторых случаях эти компоненты имеют те же имена, что и их аналоги для других устройств, например, androidx.tv.material3.Button
и androidx.compose.material3.Button
.
Зависимости набора инструментов Jetpack Compose
Чтобы использовать Compose для ТВ, включите зависимости набора инструментов Jetpack Compose в файл build.gradle
вашего приложения следующим образом:
Котлин
dependencies { val composeBom = platform("androidx.compose:compose-bom:2025.05.00") implementation(composeBom) // General compose dependencies. implementation("androidx.activity:activity-compose:1.10.1") 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:2025.05.00') implementation composeBom // General compose dependencies. implementation 'androidx.activity:activity-compose:1.10.1' 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' }
Что изменилось?
Компоненты телевизионного контента разработаны для гостиной и оснащены чёткими индикаторами фокусировки и удобным управлением с пульта ДУ . Подробную информацию об использовании этих компонентов см. в руководствах по проектированию пользовательского интерфейса телевизора .
По возможности используйте ТВ-версию API, чтобы воспользоваться этими функциями.
Хотя технически возможно использовать мобильную версию Compose Material, она не оптимизирована для уникального стиля взаимодействия на Android TV. Кроме того, совместное использование Compose Material и Compose Material из Compose for TV может привести к непредсказуемому поведению. Например, поскольку каждая библиотека имеет свой собственный объект MaterialTheme
, существует вероятность несоответствия цветов, типографики или форм при использовании обеих версий.
В следующей таблице показаны различия в зависимости между телевидением и мобильными устройствами:
Зависимость от телевидения (androidx.tv.*) | Сравнение | Мобильная зависимость (androidx.compose.*) |
---|---|---|
androidx.tv:tv-material | вместо | androidx.compose.material3:material3 |
Дополнительные ресурсы
Руководства по дизайну телевизоров
Обзор специализированных телевизионных компонентов для создания пользовательских интерфейсов со ссылками на соответствующие ресурсы для разработчиков.Образец каталога телевизионных материалов
Приложение-каталог, демонстрирующее, как реализовать принципы Material Design с помощью Compose for TV.Пример JetStream
Приложение для потоковой передачи мультимедиа, демонстрирующее использование TV Compose с типичным приложением Material и реальной архитектурой.Введение в сочинение для ТВ
В этой лабораторной работе пошагово рассматривается создание приложения видеоплеера с экраном каталога и экраном сведений.
Дальнейшее чтение
Изучите эти руководства, чтобы узнать о создании отличных решений, оптимизированных для ТВ, для: