Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Compose na telewizory to nowoczesne podejście do tworzenia interfejsów użytkownika na Androida TV. Compose for TV udostępnia wszystkie zalety Jetpack Compose na Androida w aplikacjach na telewizory, dzięki czemu tworzenie atrakcyjnych i funkcjonalnych interfejsów użytkownika jest znacznie łatwiejsze.
Oto niektóre zalety korzystania z Compose na telewizorach:
Elastyczność: za pomocą Compose możesz tworzyć dowolne typy interfejsu, od prostych układów po złożone animacje. Komponenty działają od razu po wyjęciu z pudełka, ale można je też dostosować i ostylować do potrzeb aplikacji.
Uproszczone i przyspieszone tworzenie aplikacji: Compose jest zgodny z dotychczasowym kodem i umożliwia programistom wydajniejsze tworzenie aplikacji przy użyciu mniejszej ilości kodu.
Intuicyjny: Compose używa deklaratywnej składni, która umożliwia wprowadzanie zmian w interfejsie, debugowanie, analizowanie i sprawdzanie kodu.
Jeśli nie znasz narzędzi Jetpack Compose, zapoznaj się ze ścieżką Compose. Wiele zasad tworzenia aplikacji mobilnych za pomocą Compose ma zastosowanie również w przypadku telewizorów. Więcej informacji o ogólnych zaletach deklaratywnego frameworka interfejsu znajdziesz w artykule Dlaczego warto używać Compose. Więcej informacji znajdziesz też w repozytorium z przykładami Compose for TV na GitHubie.
auto_awesome prompta AI
Dowiedz się, jak dodać obsługę Androida TV
Ten prompt prosi o wskazówki dotyczące dodawania obsługi Androida TV do aplikacji przy użyciu Jetpack Compose na TV zamiast 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.
Korzystanie z promptów AI
Prompty AI są przeznaczone do użytku w Gemini w Android Studio.
Compose for TV działa na telewizorach z Androidem w wersji 5.0 (poziom interfejsu API 21) lub nowszej.
Korzystanie z Compose w wersji 1.0 na Androida TV wymaga bibliotek androidx.compose w wersji 1.3.0 i Kotlin 1.7.10.
Konfiguracja
Korzystanie z Jetpack Compose na Androidzie TV jest podobne do korzystania z Jetpack Compose w dowolnym innym projekcie na Androida. Główna różnica polega na tym, że Compose for TV
dodaje biblioteki, które oferują komponenty zoptymalizowane pod kątem telewizorów i ułatwiają tworzenie
interfejsów użytkownika dostosowanych do telewizorów. W niektórych przypadkach te komponenty mają taką samą nazwę jak ich odpowiedniki w przypadku urządzeń innych niż telewizory, np. androidx.tv.material3.Button i androidx.compose.material3.Button.
Zależności pakietu narzędzi Jetpack Compose
Aby używać Compose na telewizorze, dodaj zależności pakietu narzędzi Jetpack Compose do pliku build.gradle aplikacji w ten sposób:
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")}
Groovy
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'}
Co się zmieniło
Komponenty materiałowe telewizora są przeznaczone do salonu i mają wyraźne wskaźniki ostrości oraz zachowanie wejściowe przyjazne dla pilota. Szczegółowe informacje o tym, jak używać tych komponentów, znajdziesz w przewodnikach po projektowaniu interfejsu telewizora.
Rysunek 1. Przykładowe komponenty z biblioteki materiałów telewizyjnych.
Chociaż technicznie można używać wersji mobilnej Compose Material, nie jest ona zoptymalizowana pod kątem unikalnego stylu interakcji na Androidzie TV. Dodatkowo łączenie komponentów Material Compose z komponentami Material Compose z biblioteki Compose for TV może powodować nieoczekiwane działanie. Na przykład każda biblioteka ma własny MaterialTheme obiekt, więc jeśli używasz obu wersji, kolory, typografia lub kształty mogą być niespójne.
W tabeli poniżej przedstawiono różnice w zależnościach między telewizorami a urządzeniami mobilnymi:
Przykładowa aplikacja JetStream
Aplikacja do strumieniowania multimediów, która pokazuje, jak używać TV Compose w typowych aplikacjach Material i architekturze rzeczywistej.
Wprowadzenie do Compose na telewizory
W tych ćwiczeniach z programowania dowiesz się, jak utworzyć aplikację odtwarzacza wideo z ekranem przeglądarki katalogu i ekranem szczegółów.
Więcej materiałów
Zapoznaj się z tymi przewodnikami, aby dowiedzieć się, jak tworzyć świetne aplikacje zoptymalizowane pod kątem telewizorów:
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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)"]]