Utilizzare Jetpack Compose su Android TV

Compose for TV è l'approccio moderno per la creazione di interfacce utente per Android TV. Compose for TV sblocca tutti i vantaggi di Jetpack Compose di Android per le tue app TV, semplificando notevolmente la creazione di UI belle e funzionali per la tua app più semplice.

Alcuni vantaggi specifici dell'utilizzo di Compose for TV includono:

  • Flessibilità: Compose può essere utilizzato per creare qualsiasi tipo di UI, dai layout semplici alle animazioni complesse. I componenti funzionano immediatamente, ma possono anche essere personalizzati e stilizzati in base alle esigenze della tua app.
  • Sviluppo semplificato e accelerato: Compose è compatibile con il codice esistente e consente agli sviluppatori di creare app in modo più efficiente con meno codice.
  • Intuitivo: Compose utilizza una sintassi dichiarativa che ti consente di apportare modifiche all'UI, eseguire il debug, comprendere e rivedere il codice.

Se non hai familiarità con l'utilizzo del toolkit Jetpack Compose, consulta il percorso di Compose. Molti dei principi di sviluppo di Compose per dispositivi mobili si applicano anche alla TV. Per ulteriori informazioni sui vantaggi generali di un framework UI dichiarativo, consulta Perché Compose. Per saperne di più, consulta anche il repository di esempi di Compose for TV su GitHub.

Scopri come aggiungere il supporto per Android TV

Questo prompt richiede indicazioni su come aggiungere il supporto di Android TV alla tua app utilizzando Jetpack Compose for TV anziché 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.

Utilizzo dei prompt AI

I prompt AI sono progettati per essere utilizzati in Gemini in Android Studio.

Scopri di più su Gemini in Studio qui: https://developer.android.com/studio/gemini/overview

Compatibilità

Compose for TV funziona su Android TV con Android 5.0 (livello API 21) o versioni successive. L'utilizzo della versione 1.0 di Compose for TV richiede la versione 1.3.0 delle librerie androidx.compose e Kotlin 1.7.10.

Configurazione

L'utilizzo di Jetpack Compose su Android TV è simile all'utilizzo di Jetpack Compose per qualsiasi altro progetto Android. La differenza principale è che Compose for TV aggiunge librerie che offrono componenti ottimizzati per la TV e semplificano la creazione di interfacce utente personalizzate per la TV. In alcuni casi, questi componenti condividono lo stesso nome delle loro controparti non TV, ad esempio androidx.tv.material3.Button e androidx.compose.material3.Button.

Dipendenze del toolkit Jetpack Compose

Per utilizzare Compose for TV, includi le dipendenze del toolkit Jetpack Compose nel file build.gradle dell'app come segue:

Kotlin

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

Groovy

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

Cosa cambia

I componenti Material per la TV sono progettati per il salotto, con indicatori di messa a fuoco chiari e comportamento di input compatibile con il telecomando. Per informazioni dettagliate su come utilizzare questi componenti specifici, consulta le guide di progettazione dell'UI TV.

Figura 1. Componenti di esempio della libreria Material per la TV.

Utilizza la versione TV delle API, ove possibile, per usufruire di queste funzionalità.

Sebbene sia tecnicamente possibile utilizzare la versione mobile di Compose Material, non è ottimizzata per lo stile unico delle interazioni su Android TV. In oltre, la combinazione di Compose Material con Compose Material di Compose for TV può comportare un comportamento imprevisto. Ad esempio, poiché ogni libreria ha il proprio oggetto MaterialTheme, è possibile che colori, tipografia o forme non siano coerenti se vengono utilizzate entrambe le versioni.

La seguente tabella illustra le differenze di dipendenza tra TV e dispositivi mobili:

Dipendenza TV
(androidx.tv.*)
Confronto Dipendenza mobile
(androidx.compose.*)
androidx.tv:tv-material invece di androidx.compose.material3:material3

Risorse aggiuntive

Continua a leggere

Esplora queste guide per scoprire come creare esperienze ottimizzate per la TV per: