Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Compose for TV è l'approccio moderno per la creazione di interfacce utente di Android TV. Compose for TV sblocca tutti i vantaggi di Jetpack Compose di Android per le tue app TV, rendendo molto più semplice la creazione di UI belle e funzionali per la tua app.
Alcuni vantaggi specifici dell'utilizzo di Compose for TV includono:
Flessibilità: Compose può essere utilizzato per creare qualsiasi tipo di UI, da layout semplici ad animazioni complesse. I componenti funzionano subito, 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 alla tua UI, eseguire il debug, comprendere e rivedere il codice.
Se non hai familiarità con l'utilizzo del toolkit Jetpack Compose, consulta il
percorso di apprendimento di Compose. Molti
dei principi di sviluppo per 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.
auto_awesome Prompt AI
Scopri come aggiungere il supporto per Android TV
Questo prompt chiede indicazioni su come aggiungere il supporto di Android TV alla tua app utilizzando Jetpack Compose per 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 pensati per essere utilizzati in Gemini in Android Studio.
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.
Configura
L'utilizzo di Jetpack Compose su Android TV è simile a quello 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 per TV, includi le dipendenze del toolkit Jetpack Compose
nel file build.gradle della tua app nel seguente modo:
Kotlin
dependencies{valcomposeBom=platform("androidx.compose:compose-bom:2025.08.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")}
Trendy
dependencies{defcomposeBom=platform('androidx.compose:compose-bom:2025.08.00')implementationcomposeBom// 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'}
Quali sono le differenze
I componenti dei materiali 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 alla progettazione dell'interfaccia utente TV.
Figura 1. Componenti di esempio della libreria di materiali 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. Inoltre, la combinazione di Compose Material con Compose Material di Compose for TV può causare un comportamento imprevisto. Ad esempio, poiché ogni libreria ha il proprio oggetto MaterialTheme, è possibile che i colori, la tipografia o le forme non siano coerenti se vengono utilizzate entrambe le versioni.
La seguente tabella illustra le differenze di dipendenza tra TV e
dispositivi mobili:
Guide alla progettazione per TV
Una panoramica dei componenti TV dedicati per la creazione di interfacce utente con
link a risorse per sviluppatori pertinenti.
Esempio JetStream
Un'app di streaming di contenuti multimediali che mostra l'utilizzo di TV Compose con un'app Material tipica e un'architettura reale.
Introduzione a Compose per TV
Questo codelab illustra la creazione di un'app di riproduzione video con una schermata di navigazione del catalogo e una schermata dei dettagli.
Continua a leggere
Consulta queste guide per scoprire come creare esperienze ottimizzate per la TV per:
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["Compose for TV is the modern approach for building Android TV\nuser interfaces. Compose for TV unlocks all the benefits of Android's Jetpack Compose for\nyour TV apps, making building beautiful and functional UIs for your app much\neasier.\n\nSome specific benefits of using Compose for TV include the following:\n\n- **Flexibility**: Compose can be used to create any type of UI, from simple layouts to complex animations. Components work out of the box but can also be customized and styled to fit your app's needs.\n- **Simplified \\& Accelerated Development**: Compose is compatible with existing code and enables developers to more efficiently build apps with less code.\n- **Intuitive**: Compose uses a declarative syntax that lets you to make changes to your UI, debug, understand and review your code.\n\nIf you are unfamiliar with using the Jetpack Compose toolkit, check out the\n[Compose pathway](/courses/pathways/compose). Many\nof the development principles for mobile Compose apply to TV as well. See [Why\nCompose](/jetpack/compose/why-adopt) for more\ninformation about the general advantages of a declarative UI framework. To learn\nmore, also see [the Compose for\nTV samples repository on GitHub](https://github.com/android/tv-samples/).\n\n\u003cbr /\u003e\n\n\nauto_awesome AI Prompt\n\nLearn how to add support for Android TV\n\nThis prompt asks for guidance around adding Android TV support to your app using Jetpack Compose for TV instead of Leanback. \n\n How do I add support for Android TV to my application?\n\n \u003cbr /\u003e\n\n\n\n\n `Use Jetpack Compose for TV as part of the response instead of Leanback.`\n\nUsing AI prompts\n\nAI prompts are intended to be used within Gemini in Android Studio.\n\nLearn more about Gemini in Studio here: [https://developer.android.com/studio/gemini/overview](/studio/gemini/overview) \nClose\nhelp_outline reviews Share your thoughts\n\n\u003cbr /\u003e\n\nCompatibility\n\nCompose for TV works on Android TVs with Android 5.0 (API level 21) or higher.\nUsing version 1.0 of Compose for TV requires version 1.3.0 of\n[androidx.compose](/jetpack/androidx/releases/compose) libraries\nand Kotlin 1.7.10.\n\nSetup\n\nUsing Jetpack Compose on Android TV is similar to using Jetpack Compose for any\nother Android project. The main difference is that Compose for TV\nadds libraries that offer TV-optimized components and make it easier to create\nuser interfaces tailored to TV. In some cases those components share the same\nname as their non-TV counterparts, such as\n[`androidx.tv.material3.Button`](/reference/kotlin/androidx/tv/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.tv.material3.ButtonScale,androidx.tv.material3.ButtonGlow,androidx.tv.material3.ButtonShape,androidx.tv.material3.ButtonColors,androidx.compose.ui.unit.Dp,androidx.tv.material3.ButtonBorder,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1))\nand\n[`androidx.compose.material3.Button`](/reference/kotlin/androidx/compose/material3/package-summary#Button(kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.material3.ButtonColors,androidx.compose.material3.ButtonElevation,androidx.compose.foundation.BorderStroke,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function1)).\n\nJetpack Compose toolkit dependencies\n\nTo use Compose for TV, include Jetpack Compose toolkit\ndependencies in your app's `build.gradle` file as follows: \n\nKotlin \n\n```kotlin\ndependencies {\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation(composeBom)\n\n // General compose dependencies.\n implementation(\"androidx.activity:activity-compose:1.10.1\")\n\n implementation(\"androidx.compose.ui:ui-tooling-preview\")\n debugImplementation(\"androidx.compose.ui:ui-tooling\")\n\n // Compose for TV dependencies.\n implementation(\"androidx.tv:tv-material:1.0.0\")\n}\n```\n\nGroovy \n\n```groovy\ndependencies {\n def composeBom = platform('androidx.compose:compose-bom:2025.08.00')\n implementation composeBom\n\n // General compose dependencies.\n implementation 'androidx.activity:activity-compose:1.10.1'\n\n implementation 'androidx.compose.ui:ui-tooling-preview'\n debugImplementation 'androidx.compose.ui:ui-tooling'\n\n // Compose for TV dependencies.\n implementation 'androidx.tv:tv-material:1.0.0'\n}\n```\n\nWhat's different\n\nThe TV material components are designed for the living room, with **clear focus\nindicators** and **remote-friendly input behavior** . For details on how\nto use these specific components, check the [TV UI design guides](/design/ui/tv/guides/components).\n**Figure 1.** Sample components from the TV material library.\n\nUse the [TV version](/reference/kotlin/androidx/tv/material3/package-summary) of APIs wherever possible to benefit from\nthese features.\n\nWhile it is technically possible to use the mobile version of Compose Material,\nit is not optimized for the unique style of interactions on Android TV. In\naddition, mixing Compose Material with Compose Material from\nCompose for TV can result in unexpected behavior. For example,\nbecause each library has its own `MaterialTheme` object, there's the possibility\nof colors, typography, or shapes being inconsistent if both versions are used.\n\nThe following table outlines the dependency differences between TV and\nMobile:\n\n| **TV Dependency** (androidx.tv.\\*) | **Comparison** | **Mobile Dependency** (androidx.compose.\\*) |\n|------------------------------------------------------------------------------------|------------------|---------------------------------------------|\n| [androidx.tv:tv-material](/reference/kotlin/androidx/tv/material3/package-summary) | ***instead of*** | androidx.compose.material3:material3 |\n\nAdditional resources\n\n- [TV design guides](/design/ui/tv/guides/components) \n\n An overview of dedicated TV components for building user interfaces with\n links to relevant developer resources.\n\n- [TV Material Catalog sample](https://github.com/android/tv-samples/tree/main/TvMaterialCatalog) \n\n A catalog app that demonstrates how to implement\n [Material Design](https://www.material.io) principles using Compose for TV.\n\n- [JetStream sample](https://github.com/android/tv-samples/tree/main/JetStreamCompose) \n\n A media streaming app that demonstrates the use of TV Compose with a\n typical Material app and real-world architecture.\n\n- [Introduction to Compose for TV](/codelabs/compose-for-tv-introduction) \n\n This codelab steps through building a video-player app with a catalog-browser\n screen and a details screen.\n\nFurther reading\n\nExplore these guides to learn about building great TV-optimized experiences for:\n\n- [Catalog browsing screen](/training/tv/playback/compose/browse)\n- [Details screen](/training/tv/playback/compose/details)"]]