Korzystanie z Jetpack Compose na Androidzie TV

Compose for TV to nowoczesne podejście do tworzenia interfejsów użytkownika na Androida TV. Compose for TV umożliwia korzystanie z wszystkich zalet Jetpacka Compose na Androida w przypadku aplikacji na telewizory, co znacznie ułatwia tworzenie atrakcyjnych i funkcjonalnych interfejsów użytkownika.

Oto niektóre konkretne zalety korzystania z Compose for TV:

  • Elastyczność: za pomocą Compose możesz tworzyć dowolny typ interfejsu użytkownika, od prostych układów po złożone animacje. Komponenty działają od razu po zainstalowaniu, ale można je też dostosować i spersonalizować pod kątem potrzeb aplikacji.
  • Uproszczone i przyspieszone tworzenie aplikacji: Compose jest zgodny z dotychczasowym kodem i umożliwia deweloperom tworzenie aplikacji z mniejszą ilością kodu.
  • Intuicyjna: kompozycja używa deklaratywnej składni, która umożliwia wprowadzanie zmian w interfejsie, debugowanie, analizowanie i sprawdzanie kodu.

Jeśli nie wiesz, jak korzystać z pakietu Jetpack Compose, zapoznaj się z ścieżką Compose. Wiele zasad programowania w Compose na urządzeniach mobilnych ma zastosowanie również do telewizorów. Więcej informacji o ogólnych zaletach deklaratywnego frameworku UI znajdziesz w artykule Dlaczego warto używać Compose. Więcej informacji znajdziesz w repozytorium przykładów Compose for TV na GitHubie.

Dowiedz się, jak dodać obsługę Androida TV

Ten komunikat zawiera wskazówki dotyczące dodawania obsługi Androida TV w 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 najnowsza wersja Canary).

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

Zgodność

Funkcja tworzenia na telewizor działa na telewizorach z Androidem w wersji 5.0 (poziom interfejsu API 21) lub nowszej. Korzystanie z wersji 1.0 Compose na telewizory wymaga bibliotek androidx.compose w wersji 1.3.0 i Kotlina w wersji 1.7.10.

Skonfiguruj

Korzystanie z Jetpack Compose na Androidzie TV jest podobne do korzystania z Jetpack Compose w przypadku każdego innego projektu na Androida. Główna różnica polega na tym, że Compose for TV dodaje biblioteki, które zawierają komponenty zoptymalizowane pod kątem telewizorów, i ułatwia tworzenie interfejsów użytkownika dostosowanych do telewizorów. W niektórych przypadkach te komponenty mają tę samą nazwę co ich odpowiedniki bez funkcji telewizyjnych, np. androidx.tv.material3.Buttonandroidx.compose.material3.Button.

Zależność Jetpack Compose

Aby używać Compose na telewizorach, dodaj do pliku build.gradle aplikacji zależności pakietu Jetpack Compose 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

Elementy materiałów wideo są zaprojektowane z myślą o salonie i zawierają wskaźniki skupienia uwagi oraz elementy sterowania dostosowane do obsługi za pomocą pilota. Szczegółowe informacje o używaniu tych komponentów znajdziesz w przewodnikach po projektowaniu interfejsu użytkownika telewizora.

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

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

Chociaż technicznie można używać wersji mobilnej Compose Material, nie jest ona zoptymalizowana pod kątem unikalnego stylu interakcji na Android TV. Ponadto łączenie komponentów z komponentów z Compose for TV może powodować nieoczekiwane działanie. Ponieważ każda biblioteka ma swój obiekt MaterialTheme, w przypadku użycia obu wersji może dojść do niezgodności kolorów, typografii lub kształtów.

W tej tabeli opisano różnice w zależnościach między wersją na telewizory a wersją na urządzenia mobilne:

Zależność od Androida TV
(androidx.tv.*)
Porównanie Zależność mobilna
(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ę więcej o tworzeniu świetnych aplikacji zoptymalizowanych pod kątem telewizorów: