tv
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca | Wersja Beta | Wersja alfa |
---|---|---|---|---|
15 stycznia 2025 r. | 1.0.0 | - | - | 1.1.0-alpha01 |
Deklarowanie zależności
Aby dodać zależności od tv-foundation i tv-material, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.
Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha11" implementation "androidx.tv:tv-material:1.0.0" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Daj nam znać, jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Nie ma informacji o wersji tego artefaktu.
Tv-Material w wersji 1.1
Wersja 1.1.0-alpha01
15 stycznia 2025 r.
androidx.tv:tv-material:1.1.0-alpha01
został zwolniony. Wersja 1.1.0-alpha01 zawiera te komity.
Zmiany w interfejsie API
- Zmień
FocusEnterExitScope.cancelFocus()
nacancelFocusChange()
(I89959) - Parametry
FocusProperties.enter
iFocusProperties.exit
zostały zastąpione odpowiednio przezonEnter
ionExit
, z użyciem zakresu odbiornika zamiast parametruFocusDirection
. (I6e667)
Poprawki błędów
- Aby naprawić problem z tresem podczas skalowania, przeniesiono
CompositingStrategy.OffScreen
z grupy Powierzchnia do grupy Tekst. (I92b15f17) - Naprawiono błąd związany z nieprawidłowym zarządzaniem punktem skupienia w karuzeli (Ie508b721375).
- Elementy powierzchniowe (nieinteraktywne) mają uproszczoną implementację w porównaniu z elementami interaktywnymi. (I7ea545150)
Tv-Material Version 1.0
Wersja 1.0.0
21 sierpnia 2024 r.
androidx.tv:tv-material:1.0.0
został zwolniony. Wersja 1.0.0 to pierwsza stabilna wersja androidx.tv:tv-material
.
Wersja 1.0.0-rc02
7 sierpnia 2024 r.
androidx.tv:tv-material:1.0.0-rc02
został zwolniony. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Naprawiono animację obrazującą trzęsienie tekstu w komponowalnym elementu Surface. (3163319)
Wersja 1.0.0-rc01
10 lipca 2024 r.
androidx.tv:tv-material:1.0.0-rc01
został zwolniony. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.
Wersja 1.0.0-beta01
1 maja 2024 r.
androidx.tv:tv-material:1.0.0-beta01
został zwolniony. Wersja 1.0.0-beta01 zawiera te komity.
Zmiany w interfejsie API
- Interfejs
ColorScheme
i jego funkcje pomocnicze są teraz stabilne. (If34fa) LocalContentColor
jest teraz stabilny (I60ee2)Typography
Interfejs API 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)
LocalTextStyles
Interfejs API jest teraz stabilny (Iaded8)MaterialTheme
Interfejs API jest teraz stabilny (I2f541)- Komponent tekstowy jest teraz stabilny (Ib9e31)
- Komponent
RadioButton
jest teraz stabilny (wersja Ia03c8). - Komponent przełącznika jest teraz stabilny (I6cea3)
- Komponenty
Checkbox
są teraz stabilne (I7eafc) - Komponenty powierzchni są teraz stabilne (I58758, I04aca)
- Zmieniono nazwę
NonInteractiveSurfaceDefaults
naSurfaceDefaults
, aNonInteractiveSurfaceColors
naSurfaceColors
(I0812e). - W elementach dostępnych do wybrania termin „wybierz” zastąpił termin „zaznacz”, ponieważ oba mają inną semantykę (I5a206)
- Wersje
NavigationDrawer
iNavigationDrawerScope
są teraz stabilne (I249c1). - Komponent
NavigationDrawerItem
jest teraz stabilny (Id6986) - Komponenty karty i
TabRow
są teraz stabilne (I92d92) - Komponenty
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
iWideButton
są teraz stabilne (Ib4de8). - Komponenty
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
iWideCardContainer
są teraz stabilne (I34390) - Zmieniono nazwę
StandardCardLayout
naStandardCardContainer
, aWideCardLayout
naWideCardContainer
(I08883) - Usunięto
CardContainerDefaults.ImageCard
i zmieniono nazwęCardDefaults.ContainerGradient
naCardDefaults.ScrimBrush
(I6adfe). W kontenerach kart możesz używać elementuCard
zamiast elementuCardContainerDefaults.ImageCard
. ListItem
iDenseListItem
są teraz stabilne (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
iListItemDefaults.SelectedContainerColorOpacity
są teraz prywatne (I5d533)- Zmieniono kolejność parametrów
ListItem
i nazwę parametruListItemDefaults.ListItemElevation
naListItemDefaults.TonalElevation
(Id6841). ParametrheadlineContent
został przeniesiony na szczyt składanego elementu. Wcześniej można było użyć składni lambda na końcu w Kotlinie, aby przekazaćheadlineContent
. Aby podać parametrheadlineContent
, musisz użyć składni parametru o nazwie. LocalAbsoluteTonalElevation
jest teraz wewnętrzny (Ibfc65)- Komponent
ImmersiveList
został usunięty. Zapoznaj się z tym przykładem, aby dowiedzieć się, jak stworzyć taką funkcję samodzielnie. (Id48da) - Komponenty tv-material, które w swoim interfejsie API udostępniają wartość
MutableInteractionSource
, zostały zaktualizowane, aby udostępniać wartośćMutableInteractionSource
, która może być null. Domyślnie jest ona ustawiana na null. Nie ma tu żadnych zmian semantycznych: przekazanie wartości null oznacza, że nie chcesz podnosićMutableInteractionSource
, i w razie potrzeby zostanie on utworzony wewnątrz komponentu. Ustawienie wartości null pozwala niektórym komponentom nigdy nie przydzielaćMutableInteractionSource
, a innym pozwala tworzyć instancję tylko wtedy, gdy jest to konieczne, co poprawia wydajność tych komponentów. Jeśli nie używasz wartościMutableInteractionSource
przekazywanej do tych komponentów, zalecamy przekazanie zamiast niej wartości null. Zalecamy też wprowadzenie podobnych zmian w własnych komponentach. (I309b4, b/298048146) - Parametr
TextAlign
elementu Text w YouTube TV nie jest już pusty (Ib73b1, b/299490814) - Wprowadziliśmy specjalną wartość Nieokreślona w przypadku pól
TextAlign
,TextDirection
,Hyphens
iLineBreak
w tabelceParagraphTextStyle
, aby zastąpić nią dotychczasowe wartości (I4197e, b/299490814)
Zmiany w zachowaniu
- Wartość domyślna parametru
shape
w przypadku nieinteraktywneSurface
została zmieniona naRectangleShape
(I1b859cb) - W wersji beta usunięto niektóre funkcje karuzeli, ponieważ wymagane interfejsy API są w wersji eksperymentalnej (I0e755d4).
- Zmiana wartości parametru
contentColor
w elementachSurface
nie powoduje już animacji między stanami (I436e794f).
Wersja 1.0.0
Wersja 1.0.0-alpha12
15 stycznia 2025 r.
androidx.tv:tv-foundation:1.0.0-alpha12
został zwolniony. Wersja 1.0.0-alpha12 zawiera te komity.
Zmiany w interfejsie API
- Usuwanie niestandardowych układów z tv-foundation. Aby przejść z wersji tv-foundation lazy layouts, zapoznaj się z informacjami o wersji 1.0.0-alpha11. (I2fdd3, b/358913893)
Wersja 1.0.0-alpha11
10 lipca 2024 r.
androidx.tv:tv-foundation:1.0.0-alpha11
został zwolniony. Wersja 1.0.0-alpha11 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Szablony opóźnionego układu zostały wycofane z biblioteki tv-foundation. Aby dowiedzieć się, jak przejść z nieaktywnych układów na telewizory, zapoznaj się z tym zgłoszeniem. (I0855f, b/332674072)
PlatformImeOptions
jest teraz konkretną klasą, a nie interfejsem. (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
są dostępne. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzono
NavigationDrawerItem
do użytku w funkcjachNavigationDrawer
iModalNavigationDrawer
. (I4b491) - Dodaj profil podstawowy do biblioteki tv-foundation. (2b57fd7)
- Dodaj profil podstawowy do biblioteki tv-material. (1711ff5)
Zmiany w interfejsie API
- Nazwa
NavigationDrawerScope.doesTabRowHaveFocus
została zmieniona naNavigationDrawerScope.hasFocus
. (I8286b) - Nazwa
TabRowScope.isActivated
została zmieniona naTabRowScope.hasFocus
. (Ic4273)
Poprawki błędów
- Poprawić zgodność karuzeli z sąsiednimi elementami, które korzystają z interfejsów API przywracających fokus. (7b2a7a4)
- Wyłącz oznaczenie blasku dla poziomu API poniżej 28, ponieważ nie jest ono obsługiwane przez system operacyjny. (6d3616f)
- Naprawiono błąd ANR spowodowany nieprawidłowym umieszczeniem elementów w kontenerach opóźnionych podczas szybkiego przewijania w przeciwnym kierunku. (642d65c)
- Usunięto wypełnienie tła w panelu nawigacji modalnej. (69965b2)
- Napraw ekran ciemny w panelu nawigacji, aby był wyświetlany nad treściami tła, a nie za nimi. (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
są dostępne. Wersja 1.0.0-alpha09 zawiera te commity.
Zmiany w interfejsie API
- Dodaj interfejs
ReusableComposition
do zarządzania cyklem życia i ponownego używania podkompozycji. (I812d1, b/252846775) - Zsynchronizuj odgałę tv-foundation z compose-foundation. (I737c3, b/287011882)
- Dodano przeciążenie funkcji
LazyLayout
, która przyjmuje lambdaLazyLayoutItemProvider
, a nie zwykły obiekt, jak to było wcześniej. Poprzednia wersja funkcji overload została wycofana. (I42a5a) - Dodaj
TvKeyboardAlignment
, aby umożliwić deweloperowi skonfigurowanie pozycji klawiatury ekranowej za pomocąAndroidImeOptions
. (Idb772) - Dodaj
rememberCarouselState
, aby zapamiętaćCarouselState
zSaver
do materiału do tworzenia reklam w TV. (Id7275) - Zmień parametr
scrimColor: Color
na parametrscrimBrush:Brush
, aby umożliwić użytkownikom dodawanie gradientów do sceny początkowej. (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
są dostępne. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadzenie komponentów typu element do komponowania w przypadku materiałów na potrzeby Compose for TV (I86da4)
- Dodaj komponent
ListItem
do materiału w edytorze TV. (I3f0b3) - Dodaj komponent
DenseListItem
do materiału w edytorze TV. (I536bf)
Zmiany w interfejsie API
- Oznaczyliśmy publiczne interfejsy tv-material jako eksperymentalne. (I632e7)
- Wprowadziliśmy
TabRowScope
, aby udostępniać stan z komponowalnych elementówTabRow
w komponowalnym elemencie karty, oraz zmienić nazwę właściwościTabColors
. (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
są dostępne. Wersja 1.0.0-alpha07 zawiera te commity.
Zmiany w interfejsie API
- Wskaźniki skali komponentów obejmują teraz opcję Brak, która umożliwia wyłączenie skalowania. (I50df5)
- Dodano obsługę długiego kliknięcia w przypadku interfejsu Material Surface, kart i przycisków na telewizorze. (Id2b89)
- Zasoby
CarouselItem
iCarouselScope
zostały usunięte. Animację treści na pierwszym planie można uzyskać na slajdzie, używającModifier.animateEnterExit
zAnimatedContentScope
. (Ic038e) - Złączone parametry
color
icontentColor
jakocolors
dla powierzchni materiału na potrzeby telewizji. (Ie69eb) - Wprowadziliśmy komponent
RadioButton
w Material TV. (I08690) - Wprowadziliśmy komponent
Switch
w Material TV. (I45e29) - Wprowadziliśmy komponent
Checkbox
w Material TV. (I6a45a) - Wprowadziliśmy w materiałach na potrzeby telewizji powierzchnię, z którą nie można wchodzić w interakcję. (Ic5f85)
- Ustaw na wewnętrzne. (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
są dostępne. Wersja 1.0.0-alpha06 zawiera te commity.
Nowe funkcje
- Dodaj implementacje karty Material 3 zoptymalizowane pod kątem telewizorów.
- Dodaj implementacje przycisku Material 3 zoptymalizowane pod kątem telewizorów.
Zmiany w interfejsie API
- Zmieniono nazwy
CarouselSlide
islideCount
wCarousel
naCarouselItem
iitemCount
. (Ie554c) - Zmieniono nazwy
forward
ibackward
ContentTransforms
naStartToEnd
iEndToStart
. (Ie554c)
Poprawki błędów
- Obsługa przycisku Wstecz na panelu kierunkowym, gdy kursor jest ustawiony na
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
są dostępne. Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w interfejsie API
- Przedstawiamy panel nawigacji bocznej, który można dodać do
tv-material
. Aby dowiedzieć się, jak korzystać z tej usługi, zapoznaj się z przykładami. (I12c08) - Wprowadzenie komponentu Icon w TV Material 3 (I72db9)
- Wprowadzamy komponent powierzchni do
tv-material
z wskazaniami takimi jak obramowanie, poświata i skala, które można wykorzystać do tworzenia komponentów wyraźnie wyróżniających element skupienia na ekranie telewizora. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Zmień wartość
CarouselItem
naCarouselSlide
, aby pasowała do nazwy parametruslideCount
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
są dostępne. Wersja 1.0.0-alpha04 zawiera te commity.
Nowe funkcje
- W nieaktywnych wierszach, kolumnach i siatkach, w razie potrzeby, przesłona jest zastępowana, aby zapewnić widoczność całego elementu. (11d7e40)
- Dodaj możliwość dostosowywania kolorów kart w różnych stanach. (21b2925)
- Karuzela obsługuje teraz niestandardowe animacje do ręcznego przewijania do przodu i do tyłu. (431494a)
Zmiany w interfejsie API
- Zmień nazwę
androidx.tv.material
naandroidx.tv.material3
i spłaszcz strukturę pakietu w ramachandroidx.tv.material3
. (I6ca52) - Wskaźnik w wierszu wskaźnika w karuzeli to teraz miejsce, które deweloper może dostosować. (268af2a)
- Nazwa
focusableItem
została zmieniona naimmersiveListItem
. Użytkownicy będą musieli ręcznie dodać modyfikatorfocusable()
lubclickable()
wraz zimmersiveListItem
(5dd5078)(b/263061052) - Zmieniono nazwę
timeToDisplayMillis
naautoScrollDurationMillis
w komponencie Karuzela. (431494a) - Aplikacja
CarouselItem
jest teraz dostępna tylko w ramachCarousel
. (431494a) - Karuzelę można teraz definiować za pomocą animacji
ContentTransforms
zamiast animacjiEnterTransition
iExitTransitions
. (431494a) - Wprowadziliśmy interfejs
PinnableContainer
propagowany przez listy opóźnione za pomocą składu lokalnego, który umożliwia przypięcie bieżącego elementu. (Ib8881, b/259274257, b/195049010) - Dodano właściwość
mainAxisItemSpacing
do kampaniiTvLazyListLayoutInfo
iTvLazyGridLayoutInfo
(I37765).
Poprawki błędów
- Zaktualizuj wiersz tab-row, aby zapewnić prawidłowe działanie funkcji tab-count, gdy jej wartość wynosi 0 lub 1. (I44009), (1c01525), (b/264018028)
- Naprawiono problem z awarią wyszukiwania w trybie fokusowania, gdy
TvLazyColumn
zawiera pustą wartośćTvLazyRow
. (e11b4fe), (b/260299091) - Modyfikator
clickable
działa teraz zImmersiveList
. (5dd5078), (b/263061052) - Klawisz Wstecz jest teraz obsługiwany i używany do zamykania karuzeli z polecanymi treściami. (84c138c)
- Karuzelę nie traci skupienia po wielokrotnym szybkim naciśnięciu klawiszy. (799489f)
- Karuzela nie traci fokusu po długim naciśnięciu klawisza. (b2cf37e)
- Usunięto problemy z zawieszaniem się aplikacji, gdy zmienia się liczba 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
są dostępne. Wersja 1.0.0-alpha03 zawiera te commity.
Nowe funkcje
TabRow
jest teraz dostępny jako eksperymentalny interfejs API, który umożliwia użytkownikom dodawanie do aplikacji górnych pasków nawigacyjnych. Zasadniczo urządzenia telewizyjne oczekują, że karty będą się wczytywać, gdy tytuł karty będzie zaznaczony w wierszu kart.- Wskaźniki dla telewizorów, takie jak podkreślenie i prywatność, są dostępne domyślnie. Przykładowe zastosowania znajdziesz w pliku tv-samples.
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
są dostępne. Wersja 1.0.0-alpha02 zawiera te commity.
Poprawki błędów
- Zwiększona wydajność przewijania podczas przeglądania kolekcji
TvLazyRows/TvLazyColumns
dzięki zmniejszeniu obszaru wyszukiwania fokusa (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
są dostępne. Wersja 1.0.0-alpha01 zawiera te commity.
Nowe funkcje
Pierwsza wersja alfa zawiera wczesne wersje podglądu komponentów do zastosowań na telewizorach, w tym:
- Dodanie modyfikatora
scrollableWithPivot
, aby umożliwić kontenerom z przewijaniem innym niż Lazy Scrolling (np. Row, Column, Grid) przewijanie treści w taki sposób, aby element w centrum uwagi pozostawał w tej samej pozycji na ekranie telewizora. - Dodanie komponentów
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
, aby kontener przewijał treści, dzięki czemu element w centrum uwagi pozostanie w tej samej pozycji na ekranie telewizora. - Dodanie modułu karuzeli polecanych na potrzeby telewizji, który umożliwia użytkownikowi tworzenie karuzeli banerów z automatycznym przewijaniem.
- Dodanie komponentu listy panoramicznej na potrzeby telewizorów, który umożliwia użytkownikowi tworzenie panoramicznych wierszy, kolumn lub siatek, które zmieniają tło w zależności od elementu listy znajdującego się w centrum uwagi.
Znane problemy
- Gdy kontener przewijania staje się aktywny, pierwszy element nie staje się domyślnie aktywny.
- Skupienie się na elemencie
TextField
nie zawsze powoduje otwarcie klawiatury lub może uniemożliwić przeniesienie punktu skupienia na inne pola. - Przewijanie w pionie w elementach
LazyColumn
zawierających elementyLazyRows
jest mało efektywne.