telewizor
Najnowsza aktualizacja | Wersja stabilna | Kandydat do wydania | Wersja Beta | Wydanie alfa |
---|---|---|---|---|
7 sierpnia 2024 r. | - | 1.0.0-rc02 | - | - |
Deklarowanie zależności
Aby dodać zależności od fundacji tv i tv-material, musisz dodać repozytorium Google Maven do w projektach AI. Zapoznaj się z repozytorium Google Maven. .
Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle
aplikacji lub modułu:
Odlotowy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha11" implementation "androidx.tv:tv-material:1.0.0-rc02" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0-rc02") }
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 problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.
Zobacz dokumentację narzędzia Issue Tracker. .
Brak informacji o wersji tego artefaktu.
Wersja Tv-Material 1.0
Wersja 1.0.0-rc02
7 sierpnia 2024 r.
Usługa androidx.tv:tv-material:1.0.0-rc02
została zwolniona. Wersja 1.0.0-rc02 zawiera te zatwierdzenia.
Poprawki błędów
- Rozwiązaliśmy problem z brakiem zakłóceń w animacji tekstu w funkcji tworzenia w powierzchni. (3163319).
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
naSurfaceDefaults
, aNonInteractiveSurfaceColors
naSurfaceColors
(I0812e) - Przestrzeń do wyboru używa teraz terminologii „select” zamiast „check”, ponieważ obie mają różne znaczenie semantyczne (I5a206)
- Wersje
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) Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
i KomponentyWideCardContainer
są teraz stabilne (I34390)- Zmieniono nazwę z
StandardCardLayout
naStandardCardContainer
, aWideCardLayout
naWideCardContainer
(I08883) - Usunięto
CardContainerDefaults.ImageCard
i zmieniono nazwę zCardDefaults.ContainerGradient
naCardDefaults.ScrimBrush
(I6adfe). W kontenerach kart możesz zamiastCardContainerDefaults.ImageCard
użyć poleceniaCard
. ListItem
iDenseListItem
są teraz stabilne (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
i UrządzeniaListItemDefaults.SelectedContainerColorOpacity
są teraz prywatne (I5d533)- Zmieniono kolejność parametrów
ListItem
i zmienił nazwę zListItemDefaults.ListItemElevation
naListItemDefaults.TonalElevation
(Id6841). ParametrheadlineContent
został przeniesiony na górę funkcji kompozycyjnej. Wcześniej do przekazywaniaheadlineContent
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ć obiektuMutableInteractionSource
i w razie potrzeby zostanie on utworzony w komponencie. Zmiana na wartość null umożliwia niektórym komponentom nigdy nie przydzielanie elementuMutableInteractionSource
, 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 identyfikatoraMutableInteractionSource
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
iLineBreak
w polachParagraphTextStyle
, które mają zostać zastąpione (I4197e, b/299490814)
Zmiany w zachowaniu
- Wartość domyślna parametru
shape
dla nieinteraktywnego parametruSurface
została zmieniona naRectangleShape
(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 elemencieSurface
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ługachNavigationDrawer
iModalNavigationDrawer
. (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 naNavigationDrawerScope.hasFocus
. (I8286b) - Nazwa
TabRowScope.isActivated
została zmieniona naTabRowScope.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 rysowanie na szufladzie nawigacji tak, aby rysowało się 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ściLazyLayoutItemProvider
, 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ą interfejsuAndroidImeOptions
. (IdB772) - Dodaj
rememberCarouselState
, aby zapamiętaćCarouselState
przy użyciuSaver
do TV Compose Material. (Id7275). - Zmiana parametru
scrimColor: Color
nascrimBrush: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 funkcjiTabRow
umożliwiającej kompozycję za pomocą właściwościTabColors
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
iCarouselScope
. Animację treści na pierwszym planie można uzyskać na slajdzie przy użyciu metodyModifier.animateEnterExit
zAnimatedContentScope
. (IC038e). - Parametry
color
icontentColor
zostały scalone jakocolors
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.
- Dodanie implementacji przycisku Material 3 zoptymalizowanego pod kątem telewizora
Zmiany interfejsu API
- Zmieniono nazwy elementów
CarouselSlide
islideCount
w aplikacjiCarousel
naCarouselItem
iitemCount
. (IE554C) - Zmieniono nazwy elementów
forward
ibackward
ContentTransforms
naStartToEnd
iEndToStart
. (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 pole
CarouselItem
do wartościCarouselSlide
, aby pasowało do nazwy parametruslideCount
w elemencie „Karuzela” API (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
naandroidx.tv.material3
i spłaszczam strukturę pakietów podandroidx.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 naimmersiveListItem
. Użytkownicy będą musieli ręcznie dodać modyfikatorfocusable()
lubclickable()
wraz z modyfikatoremimmersiveListItem
(5dd5078)(b/263061052) - Zmieniono nazwę
timeToDisplayMillis
naautoScrollDurationMillis
w komponencie karuzeli. (431494a) - Z usługi
CarouselItem
można teraz korzystać tylko wCarousel
. (431494a) - Karuzela akceptuje teraz jako definicję animacji
ContentTransforms
zamiastEnterTransition
iExitTransitions
. (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ługTvLazyListLayoutInfo
iTvLazyGridLayoutInfo
(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 poleTvLazyRow
. (e11b4fe), (b/260299091) - Modyfikator
clickable
działa teraz z parametremImmersiveList
. (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 pozwala użytkownikom dodawać górne paski nawigacyjne do aplikacji. Ogólnie rzecz biorąc, urządzenia telewizyjne oczekują, że karty zostaną wczytane, 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, które nie są leniwe, takie jak Wiersz, Kolumna czy Siatka, przewijany kontener mógł przewijać zawartość, dzięki czemu wybrany element pozostaje w tej samej pozycji na ekranie telewizora. - Dodano elementy kompozycyjne
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
iTvLazyVerticalGrid
, 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 elementLazyRows
ma niską wydajność.