Korzystanie z Jetpack Compose na Androidzie TV

Tworzenie treści na telewizory to zalecane przez nas podejście do tworzenia interfejsów użytkownika Androida TV. Odblokowuje wszystkie zalety Jetpack Compose na Androidzie w aplikacjach na telewizory, dzięki czemu tworzenie pięknych i funkcjonalnych interfejsów API jest dużo łatwiejsze. Oto niektóre zalety tworzenia wiadomości na telewizorze:

  • Elastyczność: funkcja tworzenia umożliwia tworzenie interfejsów użytkownika dowolnego typu, od prostych układów po złożone animacje. Komponenty działają od razu, ale można je też dostosować do potrzeb aplikacji.
  • Uproszczone i przyspieszone programowanie: tworzenie jest zgodne z dotychczasowym kodem i umożliwia deweloperom wydajniejsze tworzenie aplikacji przy użyciu mniejszej ilości kodu.
  • Intuicyjna: funkcja tworzenia wiadomości korzysta ze składni deklaratywnej, która umożliwia wprowadzanie zmian w interfejsie użytkownika, debugowanie, rozumienie i sprawdzanie kodu.

Jeśli nie znasz jeszcze narzędzi Jetpack Compose, przeczytaj ścieżkę tworzenia wiadomości. Wiele zasad dotyczących tworzenia wiadomości na komórki dotyczy też telewizora. Więcej informacji o ogólnych zaletach deklaratywnej platformy interfejsu znajdziesz w sekcji Dlaczego warto tworzyć. Aby dowiedzieć się więcej, zapoznaj się też z repozytorium przykładowej funkcji tworzenia wiadomości na telewizory dostępne w serwisie GitHub.

Zgodność

Funkcja tworzenia wiadomości na telewizory działa na Androidzie TV z interfejsem API na poziomie 21 lub nowszym. Korzystanie z usługi Compose w wersji 1.0 na telewizory wymaga wersji 1.3.0 bibliotek androidx.compose i Kotlin 1.7.10.

Skonfiguruj

Korzystanie z Jetpack Compose na Androidzie TV przypomina używanie Jetpack Compose w każdym innym projekcie na Androida. Główna różnica polega na tym, że do tworzenia w telewizji są dodawane biblioteki, które oferują komponenty zoptymalizowane pod kątem telewizora i ułatwiają tworzenie interfejsów dostosowanych do telewizora. W niektórych przypadkach komponenty mają takie same nazwy jak ich odpowiedniki na urządzenia inne niż telewizyjne, np. androidx.tv.material3.Button i androidx.compose.material3.Button.

Zależności pakietu narzędzi Jetpack Compose

Aby używać funkcji tworzenia wiadomości na telewizorze, musisz dodać zależności pakietu Jetpack Compose w pliku build.gradle aplikacji w ten sposób:

Kotlin

dependencies {
   val composeBom = platform("androidx.compose:compose-bom:2024.04.01")
   implementation(composeBom)

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

   implementation("androidx.compose.ui:ui-tooling-preview")
   debugImplementation("androidx.compose.ui:ui-tooling")

   // Compose for TV dependencies
   val tvCompose = "1.0.0-alpha10"
   implementation("androidx.tv:tv-foundation:$tvCompose")
   implementation("androidx.tv:tv-material:$tvCompose")
}

Odlotowy

dependencies {
   def composeBom = platform('androidx.compose:compose-bom:2024.04.01')
   implementation composeBom

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

   implementation 'androidx.compose.ui:ui-tooling-preview'
   debugImplementation 'androidx.compose.ui:ui-tooling'

   // Compose for TV dependencies
   def tvCompose = '1.0.0-alpha10'
   implementation 'androidx.tv:tv-foundation:$tvCompose'
   implementation 'androidx.tv:tv-material:$tvCompose'
}

Co się zmieniło

W miarę możliwości używaj interfejsów API w wersji TV. Chociaż jest technicznie możliwe korzystanie z mobilnej wersji Compose Material, nie jest ona zoptymalizowana pod kątem unikalnego stylu interakcji na Androidzie TV. Poza tym mieszanie elementów Utwórz i Utwórz materiał z Kompozycji na telewizory może spowodować nieoczekiwane zachowanie. Na przykład każda biblioteka ma własny obiekt MaterialTheme, więc kolory, typografia lub kształty mogą być niespójne, jeśli używane są obie wersje.

W tabeli poniżej zebraliśmy różnice między telewizją a urządzeniami mobilnymi:

Zależność od telewizora
(androidx.tv.*)
Porównanie Zależność urządzenia mobilnego
(androidx.compose.*)
androidx.tv:materiał-tv zamiast androidx.compose.material3:material3
androidx.tv:tv-Foundation oprócz androidx.compose.foundation:foundation

Więcej materiałów

Zapoznaj się z tymi przewodnikami, aby dowiedzieć się, jak tworzyć świetne treści zoptymalizowane pod kątem telewizora: