Usar o Jetpack Compose no Android TV

O Compose para TV é a abordagem moderna para o desenvolvimento do Android TV. do Google Cloud. O Compose para TV oferece todos os benefícios do Jetpack Compose do Android para para seus apps de TV, o que facilita muito a criação de interfaces bonitas e funcionais para ele. mais fácil.

Confira alguns benefícios específicos do uso do Compose para TV:

  • Flexibilidade: o Compose pode ser usado para criar qualquer tipo de interface, desde simples de layouts a animações complexas. Os componentes funcionam imediatamente, mas também podem ser personalizados e estilizados para atender às necessidades do seu app.
  • Simplificação e Desenvolvimento acelerado: o Compose é compatível com códigos existentes e permite que os desenvolvedores criem aplicativos de forma mais eficiente com menos código.
  • Intuitiva: o Compose usa uma sintaxe declarativa que permite fazer mudanças em sua interface do usuário, depurar, entender e revisar seu código.

Se você não sabe usar o kit de ferramentas do Jetpack Compose, confira o Programa de treinamentos do Compose. Muitas dos princípios de desenvolvimento do Compose para dispositivos móveis também se aplicam à TV. Consulte Por quê Compose para mais informações informações sobre as vantagens gerais de usar um framework de interface declarativa. Para saber mais, consulte também o Compose para Repositório de exemplos de TV no GitHub (em inglês).

Compatibilidade

O Compose para TV funciona em Android TVs com o Android 5.0 (nível 21 da API) ou versões mais recentes. Para usar a versão 1.0 do Compose para TV, é preciso ter a versão 1.3.0 do Bibliotecas androidx.compose e Kotlin 1.7.10.

Configurar

Usar o Jetpack Compose no Android TV é semelhante a usar o Jetpack Compose para qualquer em outro projeto Android. A principal diferença é que o Compose para TV adiciona bibliotecas que oferecem componentes otimizados para TV e facilitam a criação interfaces de usuário adaptadas para TV. Em alguns casos, esses componentes compartilham a mesma que não são da TV, como androidx.tv.material3.Button e androidx.compose.material3.Button

Dependências do kit de ferramentas do Jetpack Compose

Para usar o Compose para TV, inclua o kit de ferramentas do Jetpack Compose. dependências no arquivo build.gradle do seu app da seguinte maneira:

Kotlin

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

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

   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-rc01")
}

Groovy

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

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

   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-rc01'
}

O que mudou?

Use a versão para TV das APIs sempre que possível. Embora seja tecnicamente possível usar a versão para dispositivos móveis do Compose Material, ele não é otimizado para o estilo único de interações no Android TV. Em Além disso, misturando o Compose Material com o Compose Material da O Compose para TV pode causar comportamentos inesperados. Por exemplo: como cada biblioteca tem o próprio objeto MaterialTheme, pode haver a possibilidade de cores, tipografia ou formas sendo inconsistentes se ambas as versões são usadas.

A tabela a seguir descreve as diferenças de dependência entre TV e Dispositivos móveis:

Dependência de TV
(androidx.tv.*)
Comparação Dependência de dispositivos móveis
(androidx.compose.*)
androidx.tv:tv-material (em inglês) em vez de androidx.compose.material3:material3

Outros recursos

Leia mais

Consulte estes guias para saber como criar ótimas experiências otimizadas para TV nos seguintes produtos: