telewizor

  
Udostępnia deweloperom funkcje Compose i Material Design umożliwiające pisanie aplikacji na telewizory
Najnowsza aktualizacja Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
10 lipca 2024 r. - 1.0.0-rc01 - -

Deklarowanie zależności

Aby dodać zależności od fundacji tv-Foundation i tv-material, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

W pliku build.gradle aplikacji lub modułu dodaj zależności artefaktów, których potrzebujesz:

Odlotowy

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha11"
    implementation "androidx.tv:tv-material:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha11")
    implementation("androidx.tv:tv-material:1.0.0-rc01")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj istniejące problemy w tej bibliotece. Możesz oddać swój głos do istniejącego problemu, klikając przycisk gwiazdki.

Tworzenie nowego numeru

Więcej informacji znajdziesz w dokumentacji narzędzia do śledzenia problemów.

Brak informacji o wersji tego artefaktu.

Wersja Tv-Material 1.0

Wersja 1.0.0-rc01

10 lipca 2024 r.

Usługa androidx.tv:tv-material:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

1 maja 2024 r.

Usługa androidx.tv:tv-material:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • ColorScheme i jego funkcje narzędziowe są teraz stabilne. (If34fa).
  • Urządzenie LocalContentColor jest teraz stabilne (I60ee2)
  • Interfejs API Typography jest teraz stabilny (I088d6)
  • Interfejsy API kształtów są teraz stabilne (I0f5f4)
  • Interfejs Border API jest teraz stabilny (I69281)
  • Interfejs Glow API jest teraz stabilny (Iea5f1)
  • Komponent ikony jest teraz stabilny (I62c2d)
  • Interfejs API LocalTextStyles jest teraz stabilny (Iaded8)
  • Interfejs API MaterialTheme jest teraz stabilny (I2f541)
  • Komponent tekstowy jest teraz stabilny (Ib9e31)
  • Komponent RadioButton jest teraz stabilny (Ia03c8)
  • Komponent przełącznika jest teraz stabilny (I6cea3)
  • Komponenty urządzenia Checkbox są teraz stabilne (I7eafc)
  • Komponenty powierzchni są teraz stabilne (I58758, I04aca)
  • Zmieniono nazwę NonInteractiveSurfaceDefaults na SurfaceDefaults, a NonInteractiveSurfaceColors na SurfaceColors (I0812e)
  • Przestrzeń do wyboru używa teraz terminologii „select” zamiast „check”, ponieważ obie mają różne znaczenie semantyczne (I5a206)
  • Wersje NavigationDrawer i NavigationDrawerScope są teraz stabilne (I249c1)
  • Komponent NavigationDrawerItem jest teraz stabilny (Id6986)
  • Komponenty Tab i TabRow są teraz stabilne (I92d92)
  • Komponenty Button, OutlinedButton, IconButton, OutlinedIconButton i WideButton są teraz stabilne (Ib4de8)
  • Komponenty Card, ClassicCard, CompactCard, WideClassicCard, StandardCardContainer i WideCardContainer są teraz stabilne (I34390)
  • Zmieniono nazwę z StandardCardLayout na StandardCardContainer, a WideCardLayout na WideCardContainer (I08883)
  • Usunięto CardContainerDefaults.ImageCard i zmieniono nazwę z CardDefaults.ContainerGradient na CardDefaults.ScrimBrush (I6adfe). W kontenerach kart możesz zamiast CardContainerDefaults.ImageCard użyć polecenia Card.
  • ListItem i DenseListItem są teraz stabilne (Idebd9)
  • ListItemDefaults.ListItemShape, ListItemDefaults.FocusedDisabledBorder i ListItemDefaults.SelectedContainerColorOpacity są teraz prywatne (I5d533)
  • Zmieniliśmy parametry parametru ListItem i zmieniliśmy nazwę ListItemDefaults.ListItemElevation na ListItemDefaults.TonalElevation (Id6841). Parametr headlineContent został przeniesiony na górę funkcji kompozycyjnej. Wcześniej do przekazywania headlineContent można było użyć składni lambda na końcu Kotlina. Teraz musisz użyć składni nazwanego parametru, aby uzyskać headlineContent.
  • LocalAbsoluteTonalElevation jest teraz wewnętrzny (Ibfc65)
  • Komponent ImmersiveList został usunięty. Z tego przykładu dowiesz się, jak utworzyć go samodzielnie. (Id48da).
  • Komponenty tv-material przedstawiające wartość MutableInteractionSource w interfejsie API zostały zaktualizowane, aby teraz udostępniać wartość MutableInteractionSource z wartością null, która domyślnie ma wartość null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosić obiektu MutableInteractionSource i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementu MutableInteractionSource, a innym komponentom można tworzyć tylko leniwe tworzenie instancji tylko wtedy, gdy jest to konieczne, co zwiększa wydajność tych komponentów. Jeśli nie używasz identyfikatora MutableInteractionSource przekazywanego tym komponentom, zalecamy przekazanie wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I309b4, b/298048146)
  • Parametr TextAlign komponentu Tekst TV ma teraz wartość inną niż zero (Ib73b1, b/299490814)
  • Wprowadzono specjalną nieokreśloną wartość w polach TextAlign, TextDirection, Hyphens i LineBreak w polach ParagraphTextStyle, które mają zostać zastąpione (I4197e, b/299490814)

Zmiany w zachowaniu

  • Wartość domyślna parametru shape dla nieinteraktywnego parametru Surface została zmieniona na RectangleShape (I1b859cb).
  • Niektóre funkcje karuzeli zostały pominięte przy wprowadzaniu na rynek wersji beta, ponieważ niezbędne interfejsy API są w fazie eksperymentalnej (I0e755d4)
  • Zmiana parametru contentColor w elemencie Surface nie jest już animowana między stanami (I436e794f)

Wersja 1.0.0

Wersja 1.0.0-alfa11

10 lipca 2024 r.

Usługa androidx.tv:tv-foundation:1.0.0-alpha11 została zwolniona. Wersja 1.0.0-alfa11 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Tv Lazy Layouts zostało wycofane z biblioteki fundacji telewizyjnych. Zapoznaj się z tym zgłoszeniem, aby dowiedzieć się, jak zrezygnować z leniwego układu telewizora. (I0855f, b/332674072)
  • PlatformImeOptions to teraz konkretna klasa, a nie interfejs. (If40a4).

Wersja 1.0.0-alpha10

4 października 2023 roku

androidx.tv:tv-foundation:1.0.0-alpha10 i androidx.tv:tv-material:1.0.0-alpha10 zostały udostępnione. Wersja 1.0.0-alfa10 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy NavigationDrawerItem do użycia w usługach NavigationDrawer i ModalNavigationDrawer. (I4b491)
  • Dodaj profil podstawowy do biblioteki Fundaci TV. (2b57fd7).
  • Dodaj profil podstawowy do biblioteki tv-material. (1711ff5).

Zmiany interfejsu API

  • Nazwa NavigationDrawerScope.doesTabRowHaveFocus została zmieniona na NavigationDrawerScope.hasFocus. (I8286b)
  • Nazwa TabRowScope.isActivated została zmieniona na TabRowScope.hasFocus. (IC4273).

Poprawki błędów

  • Popraw zgodność karuzeli z przyległymi elementami, które używają interfejsów API przywracania zaznaczenia. (7B2a7a4)
  • Wyłącz wskaźnik poświaty dla API_LEVEL poniżej 28, ponieważ ten system nie obsługuje tego wskaźnika. (6D3616F)
  • Naprawa błędu ANR spowodowanego nieprawidłowym umieszczeniem elementu w leniwych kontenerach przy szybkim przewijaniu w odwrotnym kierunku. (642D65C)
  • Usunięto dopełnienie tła modalnego panelu nawigacji. (69965b2).
  • Naprawiono zrzut ekranu w panelu nawigacji, aby był rysowany nad treścią w tle, a nie za nią. (d4bbefb)

Wersja 1.0.0-alpha09

6 września 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha09 i androidx.tv:tv-material:1.0.0-alpha09 zostały udostępnione. Wersja 1.0.0-alfa09 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj interfejs ReusableComposition do zarządzania cyklem życia i ponownym używaniem podkompozycji. (I812d1, b/252846775)
  • Zsynchronizuj rozszerzenie fundacji TV z funkcją tworzenia wiadomości. (I737c3, b/287011882)
  • Dodano przeciążenie obiektu LazyLayout. Akceptowana jest funkcja lambda o wartości LazyLayoutItemProvider, a nie zwykły obiekt jak wcześniej. Poprzednie przeciążenie zostało wycofane. (I42a5a)
  • Dodaj element TvKeyboardAlignment, aby umożliwić deweloperowi skonfigurowanie pozycji klawiatury ekranowej za pomocą interfejsu AndroidImeOptions. (IdB772)
  • Dodaj element rememberCarouselState, aby zapamiętać CarouselState w elemencie Saver w TV Compose Material. (Id7275).
  • Zmiana parametru scrimColor: Color na scrimBrush:Brush w celu umożliwienia użytkownikom dodawania gradientów do siatki. (I254d4)

Wersja 1.0.0-alpha08

26 lipca 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha08 i androidx.tv:tv-material:1.0.0-alpha08 zostały udostępnione. Wersja 1.0.0-alfa08 zawiera te zatwierdzenia.

Nowe funkcje

  • Przedstaw komponenty elementów w narzędziu Compose do materiałów telewizyjnych. (I86da4).
  • Dodaj komponent ListItem do materiału TV Compose. (I3f0b3)
  • Dodaj komponent DenseListItem do materiału TV Compose. (I536bf)

Zmiany interfejsu API

  • Oznaczono interfejsy API publicznych materiałów telewizyjnych jako eksperymentalne. (I632e7)
  • Wprowadziliśmy funkcję TabRowScope w celu udostępniania stanu z funkcji TabRow umożliwiającej kompozycję za pomocą właściwości TabColors z możliwością tworzenia karty i zmieniania ich nazwy. (Ief587).

Wersja 1.0.0-alpha07

7 czerwca 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha07 i androidx.tv:tv-material:1.0.0-alpha07 zostały udostępnione. Wersja 1.0.0-alfa07 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Wskaźniki skali komponentów obejmują teraz wartość Brak, co oznacza, że skalowanie jest wyłączone. (I50df5)
  • Dodaliśmy obsługę długich kliknięć na powierzchni materiału TV, kartach i przyciskach. (Id2b89)
  • Usunięto CarouselItem i CarouselScope. Animację treści na pierwszym planie można uzyskać na slajdzie przy użyciu metody Modifier.animateEnterExit z AnimatedContentScope. (IC038e).
  • Parametry color i contentColor zostały scalone jako colors w przypadku interfejsu TV Material Surface. (IE69eb)
  • Wprowadzono funkcję RadioButton kompozycyjną w materiałach telewizyjnych. (I08690)
  • Wprowadzono funkcję Switch kompozycyjną w materiałach telewizyjnych. (I45e29)
  • Wprowadzono funkcję Checkbox kompozycyjną w materiałach telewizyjnych. (I6a45a)
  • Wprowadziliśmy nieinteraktywną powierzchnię w materiałach telewizyjnych. (IC5f85)
  • traktuj wskazówki wewnętrznie, (Ibff82)

Wersja 1.0.0-alpha06

19 kwietnia 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha06 i androidx.tv:tv-material:1.0.0-alpha06 zostały udostępnione. Wersja 1.0.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodanie implementacji kart Material 3 zoptymalizowanych pod kątem telewizji.
    • Basic Card (I5b701)
    • ClassicCard, CompactCard i WideClassicCard (I70471)
    • StandardCardLayout i WideCardLayout (I33fae)
  • Dodanie implementacji przycisku Material 3 zoptymalizowanego pod kątem telewizora
    • Przycisk podstawowy (I69c11)
    • IconButton i OutlinedIconButton (Ib504C)
    • WideButton (I4cecf)

Zmiany interfejsu API

  • Zmieniono nazwy elementów CarouselSlide i slideCount w aplikacji Carousel na CarouselItem i itemCount. (IE554C)
  • Zmieniono nazwy elementów forward i backward ContentTransforms na StartToEnd i EndToStart. (IE554C)

Poprawki błędów

  • Odwróć przycisk pada kierunkowego do tyłu, gdy zaznaczony będzie NavigationDrawer. (D654f4)

Wersja 1.0.0-alpha05

22 marca 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha05 i androidx.tv:tv-material:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Przedstawiamy boczny panel nawigacji, który można otworzyć w usłudze tv-material. Aby dowiedzieć się, jak korzystać z tej funkcji kompozycyjnej, zapoznaj się z przykładami. (I12c08)
  • Wprowadzenie do funkcji kompozycyjnej w formacie TV Material 3 (I72db9)
  • Przedstawiamy funkcję kompozycyjnej powierzchni w funkcjach: tv-material ze wskaźnikami takimi jak Obramowanie, Poświata i Skala, które można wykorzystać do tworzenia komponentów, które wyraźnie wyróżniają zaznaczony element na ekranie telewizora. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • Zaktualizuj CarouselItem do CarouselSlide, aby pasował do nazwy parametru slideCount w interfejsie API „carousel” (Ic4299)

Wersja 1.0.0-alpha04

8 lutego 2023 r.

androidx.tv:tv-foundation:1.0.0-alpha04 i androidx.tv:tv-material:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • W wierszach, kolumnach i siatkach leniwa tablica jest w razie potrzeby zastąpiona, aby cały element był widoczny. (11d7e40).
  • Dodaj dostosowywanie kolorów kart w różnych stanach. (21b2925).
  • Karuzela akceptuje teraz animacje niestandardowe do ręcznego przewijania do przodu i do tyłu. (431494a)

Zmiany interfejsu API

  • Zmieniam nazwę androidx.tv.material na androidx.tv.material3 i spłaszczam strukturę pakietów pod androidx.tv.material3. (I6ca52).
  • Wskaźnik w wierszu wskaźnika karuzeli to teraz boks, który może dostosować deweloper. (268af2a).
  • Nazwa focusableItem została zmieniona na immersiveListItem. Użytkownicy będą musieli ręcznie dodać modyfikator focusable() lub clickable() wraz z modyfikatorem immersiveListItem (5dd5078)(b/263061052)
  • Zmieniono nazwę timeToDisplayMillis na autoScrollDurationMillis w komponencie karuzeli. (431494a)
  • Z usługi CarouselItem można teraz korzystać tylko w Carousel. (431494a)
  • Karuzela akceptuje teraz jako definicję animacji ContentTransforms zamiast EnterTransition i ExitTransitions. (431494a)
  • Wprowadzono interfejs API PinnableContainer, który jest rozpowszechniany przez leniwe listy za pomocą lokalnej kompozycji, co umożliwia przypięcie bieżącego elementu. (Ib8881, b/259274257, b/195049010)
  • Usługa mainAxisItemSpacing została dodana do usług TvLazyListLayoutInfo i TvLazyGridLayoutInfo (I37765)

Poprawki błędów

  • Zaktualizuj wiersz kart, aby poprawnie obsługiwał liczbę kart równą 0 lub 1. (I44009), (1c01525), (b/264018028)
  • Napraw błąd związany z wyszukiwaniem zaznaczenia, gdy pole TvLazyColumn zawiera puste pole TvLazyRow. (e11b4fe), (b/260299091)
  • Modyfikator clickable działa teraz z parametrem ImmersiveList. (5dd5078), (b/263061052)
  • Klawisz Wstecz jest teraz obsługiwany i używany do zamykania polecanej karuzeli. (84c138c)
  • Karuzela nie gubi się po kilku naciśnięciach klawiszy. (799489f)
  • Karuzela nie gubi się przy długich naciśnięciach klawiszy. (b2cf37e)
  • Rozwiązano awarie występujące w przypadku zmiany liczby slajdów w karuzeli. (B261247)

Wersja 1.0.0-alpha03

7 grudnia 2022 r.

androidx.tv:tv-foundation:1.0.0-alpha03 i androidx.tv:tv-material:1.0.0-alpha03 zostały udostępnione. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • TabRow jest teraz dostępny jako eksperymentalny interfejs API, który umożliwia użytkownikom dodawanie górnych pasków nawigacyjnych do aplikacji. Zazwyczaj urządzenia telewizyjne oczekują, że karty zostaną załadowane, gdy tytuł karty będzie zaznaczony w wierszu kart.
  • Wskaźniki typowe dla telewizji, takie jak podkreślenie czy wskaźnik pigułki, są dostępne w zestawie. Przykładowe przypadki użycia znajdziesz w przykładach z tv.

Wersja 1.0.0-alpha02

9 listopada 2022 r.

androidx.tv:tv-foundation:1.0.0-alpha02 i androidx.tv:tv-material:1.0.0-alpha02 zostały udostępnione. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zwiększona wydajność przewijania podczas przewijania zbioru elementów typu TvLazyRows/TvLazyColumns dzięki zmniejszeniu obszaru wyszukiwania.(I723a3)

Wersja 1.0.0-alpha01

5 października 2022 r.

androidx.tv:tv-foundation:1.0.0-alpha01 i androidx.tv:tv-material:1.0.0-alpha01 zostały udostępnione. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

Pierwsza wersja alfa obejmuje wczesne wersje testowe komponentów używanych w przypadku reklam telewizyjnych, w tym:

  • Dodano modyfikator scrollableWithPivot, aby kontenery z przewijaniem nieleniwym, takie jak Wiersz, Kolumna czy Siatka, przewijały zawartość kontenera w taki sposób, aby wybrany element znajdował się w tym samym miejscu na ekranie telewizora.
  • Dodano elementy kompozycyjne TvLazyRow,TvLazyColumn, TvLazyHorizontalGrid i TvLazyVerticalGrid, aby przewijany kontener przewijał treści, dzięki czemu wybrany element pozostaje w tej samej pozycji na ekranie telewizora.
  • Dodanie elementu kompozycyjnego polecanej karuzeli w telewizji, który umożliwia użytkownikowi tworzenie karuzeli banerów z automatycznym przewijaniem.
  • Dodanie funkcji kompozycyjnej listy Immersive List for TV, która umożliwia użytkownikowi utworzenie niepowtarzalnego wiersza, kolumny lub siatki, które zmienia tło na podstawie aktywnego elementu listy.

Znane problemy

  • Gdy kontener przewijany jest zaznaczony, pierwszy element nie jest domyślnie zaznaczony.
  • Zaznaczenie elementu TextField nie zawsze powoduje otwarcie klawiatury i może uniemożliwiać przejście do innych pól.
  • Przewijanie w pionie w elemencie LazyColumn zawierającym element LazyRows ma niską wydajność.