Korzystanie z Jetpack Compose na Androidzie TV

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: biblioteka Compose jest zgodna 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 w 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.

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 for 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żywania w Gemini w Android Studio (wymagana jest najnowsza wersja Canary).

Więcej informacji o Gemini w Studio znajdziesz tutaj: https://developer.android.com/studio/preview/gemini

Zgodność

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.Buttonandroidx.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 {
   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")
}

Groovy

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

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 korzystać z tych komponentów, znajdziesz w przewodnikach po projektowaniu interfejsu telewizora.

Rysunek 1. Przykładowe komponenty z biblioteki materiałów telewizyjnych.

W miarę możliwości używaj wersji interfejsów API na telewizory, aby korzystać z tych funkcji.

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 w Compose z komponentami Material w 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:

TV Dependency
(androidx.tv.*)
Porównanie Mobile Dependency
(androidx.compose.*)
androidx.tv:tv-material zamiast androidx.compose.material3:material3

Dodatkowe materiały

Więcej materiałów

Zapoznaj się z tymi przewodnikami, aby dowiedzieć się, jak tworzyć świetne aplikacje zoptymalizowane pod kątem telewizorów: