telewizor
Najnowsza aktualizacja | Wersja stabilna | Kandydat do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
1 maja 2024 r. | - | - | 1.0.0-beta01 | - |
Deklarowanie zależności
Aby dodać zależności od 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-alpha10" implementation "androidx.tv:tv-material:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha10") implementation("androidx.tv:tv-material:1.0.0-beta01") }
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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Brak informacji o wersji tego artefaktu.
Tv-Material w wersji 1.0
Wersja 1.0.0-beta01
1 maja 2024 r.
Aplikacja androidx.tv:tv-material:1.0.0-beta01
została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Aplikacja
ColorScheme
i jej funkcje są teraz stabilne. (If34fa) LocalContentColor
działa teraz stabilnie (I60ee2)- Interfejs API
Typography
jest teraz stabilny (I088d6) - Interfejsy API kształtu 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
LocalTextStyles
API jest teraz stabilny (Iaded8) - Interfejs API
MaterialTheme
jest teraz stabilny (I2f541) - Komponent Tekst jest teraz stabilny (Ib9e31)
- Komponent
RadioButton
jest teraz stabilny (Ia03c8) - Komponent Switch jest teraz stabilny (I6cea3)
- Komponenty
Checkbox
są teraz stabilne (I7eafc) - Komponenty powierzchni są teraz stabilne (I58758, I04aca)
- Zmieniono nazwę
NonInteractiveSurfaceDefaults
naSurfaceDefaults
, aNonInteractiveSurfaceColors
naSurfaceColors
(I0812e) - Platforma z funkcją wyboru używa teraz „wybranej” zamiast „sprawdzania”, ponieważ obie mają różne znaczenie semantyczne (I5a206).
- Urządzenia
NavigationDrawer
iNavigationDrawerScope
są teraz stabilne (I249c1) - Komponent
NavigationDrawerItem
jest teraz stabilny (Id6986) - Komponenty Tab 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ę grupyCardDefaults.ContainerGradient
naCardDefaults.ScrimBrush
(I6adfe). Możesz użyćCard
zamiastCardContainerDefaults.ImageCard
w kontenerach kart. ListItem
iDenseListItem
są teraz stabilne (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
iListItemDefaults.SelectedContainerColorOpacity
są teraz prywatne (I5d533)- Zmieniono parametry elementu
ListItem
i zmieniono nazwę zListItemDefaults.ListItemElevation
naListItemDefaults.TonalElevation
(Id6841). ParametrheadlineContent
został przeniesiony na początek funkcji kompozycyjnej. Wcześniej można było użyć składni lambda na końcu Kotlin, aby przekazać parametrheadlineContent
. Teraz musisz użyć składni parametru nazwanego, aby uzyskaćheadlineContent
. LocalAbsoluteTonalElevation
jest teraz wewnętrzny (Ibfc65)- Komponent
ImmersiveList
został usunięty. Aby dowiedzieć się, jak samodzielnie utworzyć projekt, zapoznaj się z tym przykładem. (Id48da) - Komponenty tv-material eksponujące element
MutableInteractionSource
w interfejsie API zostały zaktualizowane, aby ujawniały terazMutableInteractionSource
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 przenosić obiektuMutableInteractionSource
– w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null sprawi, że niektóre komponenty nigdy nie będą przydzielać elementuMutableInteractionSource
, a inne komponenty będą mogły tylko leniwe tworzenie instancji, gdy będzie to konieczne, co zwiększy wydajność tych komponentów. Jeśli nie używasz obiektuMutableInteractionSource
przekazywanego do tych komponentów, zalecamy przekazywanie zamiast niego wartości null. Zalecamy też wprowadzenie podobnych zmian we własnych komponentach. (I309b4, b/298048146) - Parametr
TextAlign
komponentu Tekst TV nie ma teraz wartości zero (Ib73b1, b/299490814) - Wprowadziliśmy specjalną nieokreśloną wartość w polach
TextAlign
,TextDirection
,Hyphens
iLineBreak
parametruParagraphTextStyle
do zastąpienia (I4197e, b/299490814)
Zmiany w zachowaniu
- Wartość domyślna parametru
shape
dla nieinteraktywnejSurface
została zmieniona naRectangleShape
(I1b859cb) - Niektóre funkcje karuzeli zostały wycofane z wersji beta, ponieważ niezbędne interfejsy API są w trakcie eksperymentów (I0e755d4)
- Zmiana elementu
contentColor
w komponencieSurface
nie powoduje już animacji między stanami (I436e794f)
Wersja 1.0.0
Wersja 1.0.0-alfa10
4 października 2023 roku
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha10
i androidx.tv:tv-material:1.0.0-alpha10
. Wersja 1.0.0-alpha10 zawiera te zatwierdzenia.
Nowe funkcje
- Wprowadziliśmy
NavigationDrawerItem
do użytku wNavigationDrawer
iModalNavigationDrawer
. (I4b491) - Dodaj podstawowy profil do biblioteki Fundacji TV. (2b57fd7)
- Dodaj profil bazowy do biblioteki materiałów tv. (1711ff5)
Zmiany w interfejsie API
- Nazwa elementu
NavigationDrawerScope.doesTabRowHaveFocus
została zmieniona naNavigationDrawerScope.hasFocus
. (I8286b) - Nazwa elementu
TabRowScope.isActivated
została zmieniona naTabRowScope.hasFocus
. (Ic4273)
Poprawki błędów
- Popraw zgodność karuzeli z sąsiadującymi elementami, które korzystają z interfejsów API funkcji przywracania fokusu. (7b2a7a4)
- Wyłącz wskaźnik podświetlenia dla API_LEVEL poniżej 28, ponieważ nie jest on obsługiwany przez system operacyjny. (6D3616f)
- Naprawianie błędu ANR spowodowanego nieprawidłowym umieszczeniem elementu w leniwych kontenerach podczas szybkiego przewijania w odwrotnym kierunku. (642d65c)
- Usunięto dopełnienie tła w modalnym panelu nawigacji. (69965b2)
- Usuń zaznaczenie w szufladzie nawigacji, aby rysować nad treścią w tle, a nie za nią. (d4bbefb)
Wersja 1.0.0-alfa09
6 września 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha09
i androidx.tv:tv-material:1.0.0-alpha09
. Wersja 1.0.0-alpha09 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Dodano interfejs
ReusableComposition
, który umożliwia zarządzanie cyklem życia i ponownym używaniem podkompozycji. (I812d1, b/252846775) - Zsynchronizuj narzędzie tv-Foundation z funkcją compose-foundation. (I737c3, b/287011882)
- Dodano przeciążenie obiektu
LazyLayout
. Akceptuje on lambda o wartościLazyLayoutItemProvider
, a nie zwykły obiekt, jak wcześniej. Poprzednie przeciążenie zostało wycofane. (I42a5a) - Dodaj
TvKeyboardAlignment
, aby umożliwić deweloperowi skonfigurowanie położenia klawiatury ekranowej w interfejsieAndroidImeOptions
. (Idb772). - Dodaj element
rememberCarouselState
, aby zapamiętaćCarouselState
za pomocąSaver
do materiałów telewizyjnych. (Id7275) - Zmiana parametru
scrimColor: Color
nascrimBrush:Brush
, aby umożliwić użytkownikom dodawanie gradientów do ekranu. (I254d4)
Wersja 1.0.0-alfa08
26 lipca 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha08
i androidx.tv:tv-material:1.0.0-alpha08
. Wersja 1.0.0-alpha08 zawiera te zatwierdzenia.
Nowe funkcje
- Przedstaw komponenty elementów scalonych w komponencie do tworzenia materiałów telewizyjnych. (I86da4)
- Dodaj komponent
ListItem
do materiału tworzenia wiadomości telewizyjnej. (I3f0b3) - Dodaj komponent
DenseListItem
do materiału tworzenia wiadomości telewizyjnej. (I536bf)
Zmiany w interfejsie API
- Oznaczono interfejsy API publicznych materiałów telewizyjnych jako eksperymentalne. (I632e7)
- Wprowadzenie
TabRowScope
funkcji udostępniania stanu z funkcjiTabRow
do kompozycji za pomocą właściwości Tab „Tworzenie karty” i nazw właściwościTabColors
. (Ief587)
Wersja 1.0.0-alfa07
7 czerwca 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha07
i androidx.tv:tv-material:1.0.0-alpha07
. Wersja 1.0.0-alpha07 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Wskaźniki skali komponentów obejmują teraz wartość Brak, aby wyłączyć skalowanie. (I50df5)
- Dodaliśmy obsługę długich kliknięć w przypadku powierzchni Materiał, kart i przycisków. (Id2b89).
- Użytkownicy
CarouselItem
iCarouselScope
zostali usunięci. Animację zawartości na pierwszym planie można uzyskać na slajdzie przy użyciu elementuModifier.animateEnterExit
z usługiAnimatedContentScope
. (Ic038e) - Parametry
color
icontentColor
zostały scalone jakocolors
dla opcji Powierzchnia telewizora. (Ie69eb) - Wprowadzono kompozycję
RadioButton
w elemencie TV. (I08690) - Wprowadzono kompozycję
Switch
w elemencie TV. (I45e29) - Wprowadzono kompozycję
Checkbox
w elemencie TV. (I6a45a) - Wprowadziliśmy nieinterakcyjną powierzchnię w przypadku materiału telewizyjnego. (Ic5f85)
- Wprowadź informacje wewnętrzne. (Ibff82)
Wersja 1.0.0-alfa06
19 kwietnia 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha06
i androidx.tv:tv-material:1.0.0-alpha06
. Wersja 1.0.0-alpha06 zawiera te zatwierdzenia.
Nowe funkcje
- Dodaj implementacje karty Material 3 zoptymalizowane pod kątem reklam telewizyjnych.
- Dodaj implementacje przycisku Material 3 zoptymalizowane pod kątem telewizji.
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ługuj przycisk cofania pada po zaznaczeniu opcji
NavigationDrawer
. (D654f4)
Wersja 1.0.0-alfa05
22 marca 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha05
i androidx.tv:tv-material:1.0.0-alpha05
. Wersja 1.0.0-alpha05 zawiera te zatwierdzenia.
Zmiany w interfejsie API
- Przedstawiamy boczny panel nawigacji z funkcją kompozycji w aplikacji
tv-material
. Aby dowiedzieć się, jak korzystać z tego elementu kompozycyjnego, zapoznaj się z przykładami. (I12c08) - Ikona wprowadzenia do funkcji kompozycyjnej w YouTube Material 3 (I72db9)
- Przedstawiamy Powierzchnię kompozycyjną dla
tv-material
z takimi oznaczeniami jak Obramowanie, Poświata i Skala, za pomocą których można tworzyć komponenty wyraźnie podkreślające wybrany element na ekranie telewizora. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Zmień
CarouselItem
naCarouselSlide
, aby pasowała do nazwy parametruslideCount
w interfejsie API „carousel” (Ic4299)
Wersja 1.0.0-alfa04
8 lutego 2023 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha04
i androidx.tv:tv-material:1.0.0-alpha04
. Wersja 1.0.0-alpha04 zawiera te zatwierdzenia.
Nowe funkcje
- W leniwym wierszach, kolumnach i siatkach przestawienie jest w razie potrzeby zastępowane, aby cały element został wyświetlony. (11d7e40).
- Dodanie dostosowania kolorów kart w różnych stanach. (21b2925)
- Karuzela akceptuje teraz niestandardowe animacje dla ręcznego przewijania do przodu i do tyłu. (431494a)
Zmiany w interfejsie API
- Zmiana nazwy
androidx.tv.material
naandroidx.tv.material3
i spłaszczenie struktury pakietu podandroidx.tv.material3
. (I6ca52) - Wskaźnik w wierszu wskaźnika obrotowej to teraz boks, który deweloper może dostosować. (268af2a)
- Nazwa elementu
focusableItem
została zmieniona naimmersiveListItem
. Użytkownicy muszą ręcznie dodać modyfikatorfocusable()
lubclickable()
razem z modyfikatoremimmersiveListItem
(5dd5078)(b/263061052) - Zmieniono nazwę
timeToDisplayMillis
naautoScrollDurationMillis
w komponencie Karuzela. (431494a) - Z usługi
CarouselItem
można teraz korzystać tylko w domenieCarousel
. (431494a) - Karuzela akceptuje teraz definicję animacji
ContentTransforms
, a nieEnterTransition
iExitTransitions
. (431494a) - Wprowadzono interfejs API
PinnableContainer
rozpowszechniany przez leniwe listy za pomocą lokalnej kompozycji, co pozwala przypiąć bieżący element. (Ib8881, b/259274257, b/195049010) - Dodano właściwość
mainAxisItemSpacing
do:TvLazyListLayoutInfo
iTvLazyGridLayoutInfo
(I37765)
Poprawki błędów
- Zaktualizuj wiersz tabulacji, aby prawidłowo obsługiwał liczbę tabulatorów 0 lub 1. (I44009), (1c01525), (b/264018028)
- Naprawiono awarię podczas wyszukiwania, gdy element
TvLazyColumn
zawiera pustą wartośćTvLazyRow
. (e11b4fe), (b/260299091) - Modyfikator
clickable
działa teraz z:ImmersiveList
. (5dd5078), (b/263061052) - Klawisz Wstecz jest teraz obsługiwany i używany do zamykania polecanej karuzeli. (84c138c)
- Karuzela nie traci zaznaczenia po kilku szybkich kliknięciach. (799489f)
- Karuzela nie traci zaznaczenia po długim naciśnięciu klawisza. (b2cf37e)
- Rozwiązaliśmy problemy powodujące awarie występujące w przypadku zmiany liczby slajdów w karuzeli. (B261247)
Wersja 1.0.0-alfa03
7 grudnia 2022 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha03
i androidx.tv:tv-material:1.0.0-alpha03
. Wersja 1.0.0-alpha03 zawiera te zatwierdzenia.
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. Ogólnie rzecz biorąc, telewizory oczekują, że karty zostaną wczytane, gdy tytuł karty znajduje się w wierszu kart.- Wskaźniki typowe dla telewizora, takie jak wskaźnik podkreślenia czy pigułki, są dostępne od razu. Przykłady użycia znajdziesz w przykładach telewizyjnych.
Wersja 1.0.0-alfa02
9 listopada 2022 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha02
i androidx.tv:tv-material:1.0.0-alpha02
. Wersja 1.0.0-alpha02 zawiera te zatwierdzenia.
Poprawki błędów
- Ulepszona wydajność przewijania podczas przewijania kolekcji elementów
TvLazyRows/TvLazyColumns
przez ograniczenie zaznaczenia obszaru wyszukiwania (I723a3).
Wersja 1.0.0-alfa01
5 października 2022 r.
Opublikowano androidx.tv:tv-foundation:1.0.0-alpha01
i androidx.tv:tv-material:1.0.0-alpha01
. Wersja 1.0.0-alpha01 zawiera te zatwierdzenia.
Nowe funkcje
Pierwsza wersja alfa obejmuje wczesne wersje testowe komponentów do zastosowań telewizyjnych, m.in.:
- Dodano modyfikator
scrollableWithPivot
, aby umożliwić kontenerom przewijanym bez leniwego przewijania, takim jak wiersz, kolumna czy siatka, przewijany kontener przewijał treść, dzięki czemu aktywny element pozostaje aktywny w tym samym miejscu na ekranie telewizora. - Dodanie funkcji kompozycyjnych
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
powoduje, że przewijany kontener przewija treść, a wyróżniony element pozostaje w tym samym miejscu na ekranie telewizora. - Dodanie karuzeli z polecaną karuzelą dla reklam telewizyjnych, która umożliwia użytkownikowi utworzenie automatycznie przewijanej karuzeli banerów.
- Dodanie listy Immersive List composable for TV, która umożliwia użytkownikowi utworzenie imersyjnego wiersza, kolumny lub siatki umożliwiającej zmianę tła w zależności od wybranego elementu listy.
Znane problemy
- Gdy przewijany kontener jest zaznaczony, domyślnie pierwszy element nie jest obejmowany.
- Skupienie na elemencie
TextField
nie zawsze powoduje otwarcie klawiatury i uniemożliwianie koncentracji na innych polach. - Przewijanie w pionie w polu
LazyColumn
, które zawieraLazyRows
, jest mało wydajne.