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 pozwala w pełni wykorzystać zalety Jetpacka Compose na Androida w przypadku aplikacji na telewizory, ułatwiając 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ć, aby dopasować je do 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: usługa Compose 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 korzystać z Compose. Więcej informacji znajdziesz w repozytorium przykładowych aplikacji 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.

Konfiguracja

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:2024.10.01")
   implementation(composeBom)

   // General compose dependencies.
   implementation("androidx.activity:activity-compose:1.9.2")

   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:2024.10.01')
   implementation composeBom

   // General compose dependencies.
   implementation 'androidx.activity:activity-compose:1.9.2'

   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 korzystania z 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.

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

Chociaż technicznie można używać wersji mobilnej interfejsu Compose Material, nie jest on zoptymalizowany 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, istnieje możliwość niespójności kolorów, typografii lub kształtów, jeśli użyjesz obu wersji.

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: