TV-Gerät
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
1. Mai 2024 | − | − | 1.0.0-beta01 | − |
Abhängigkeiten deklarieren
Um Abhängigkeiten von tv-foundation und tv-material hinzuzufügen, müssen Sie Ihrem Projekt das Maven-Repository von Google hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre Anwendung oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovy
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") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Lassen Sie uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie eine neue erstellen. Durch Klicken auf die Stern-Schaltfläche können Sie zu einem vorhandenen Problem abstimmen.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Für dieses Artefakt gibt es keine Versionshinweise.
TV-Material Version 1.0
Version 1.0.0-beta01
1. Mai 2024
androidx.tv:tv-material:1.0.0-beta01
wird freigegeben. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
ColorScheme
und die zugehörigen Dienstfunktionen sind jetzt stabil. (If34fa)LocalContentColor
ist jetzt stabil (I60ee2)Typography
API ist jetzt stabil (I088d6)- Shapes APIs sind jetzt stabil (I0f5f4)
- Border API jetzt stabil (I69281)
- Die Glow API ist jetzt stabil (Iea5f1).
- Symbolkomponente jetzt stabil (I62c2d)
LocalTextStyles
API ist jetzt stabil (Iaded8)MaterialTheme
API ist jetzt stabil (I2f541)- Textkomponente ist jetzt stabil (Ib9e31)
- Die
RadioButton
-Komponente ist jetzt stabil (Ia03c8) - Switch-Komponente ist jetzt stabil (I6cea3)
Checkbox
-Komponenten sind jetzt stabil (I7eafc)- Oberflächenkomponenten sind jetzt stabil (I58758, I04aca)
NonInteractiveSurfaceDefaults
wurde inSurfaceDefaults
undNonInteractiveSurfaceColors
inSurfaceColors
(I0812e) umbenannt- Auf der Wählbaren Oberfläche wird jetzt „Auswählen“ anstelle von „Prüfen“ verwendet, da beide eine unterschiedliche semantische Bedeutung haben (I5a206).
NavigationDrawer
undNavigationDrawerScope
sind jetzt stabil (I249c1)- Die
NavigationDrawerItem
-Komponente ist jetzt stabil (Id6986) - Tab- und
TabRow
-Komponenten sind jetzt stabil (I92d92). Button
-,OutlinedButton
-,IconButton
-,OutlinedIconButton
- undWideButton
-Komponenten sind jetzt stabil (Ib4de8)Card
-,ClassicCard
-,CompactCard
-,WideClassicCard
-,StandardCardContainer
- undWideCardContainer
-Komponenten sind jetzt stabil (I34390)StandardCardLayout
wurde inStandardCardContainer
undWideCardLayout
inWideCardContainer
(I08883) umbenanntCardContainerDefaults.ImageCard
entfernt undCardDefaults.ContainerGradient
inCardDefaults.ScrimBrush
(I6adfe) umbenanntListItem
undDenseListItem
sind jetzt stabil (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
undListItemDefaults.SelectedContainerColorOpacity
sind jetzt privat (I5d533)- Parameter der
ListItem
neu angeordnet undListItemDefaults.ListItemElevation
inListItemDefaults.TonalElevation
(Id6841) umbenannt LocalAbsoluteTonalElevation
ist jetzt intern (Ibfc65)- Die Komponente „
ImmersiveList
“ wurde entfernt. In diesem Beispiel erfahren Sie, wie Sie den Code selbst erstellen können. (Id48da) - tv-material-Komponenten, die eine
MutableInteractionSource
in ihrer API zur Verfügung stellen, wurden aktualisiert, sodass jetzt eineMutableInteractionSource
verfügbar ist, für die Nullwerte zulässig sind, die standardmäßig null ist. Hier gibt es keine semantischen Änderungen: Wenn Sie null übergeben, bedeutet das, dass dasMutableInteractionSource
nicht angezogen werden soll. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf null ändern, können einige Komponenten niemals eineMutableInteractionSource
zuweisen. Andere Komponenten können eine Instanz nur bei Bedarf verzögert erstellen, was die Leistung dieser Komponenten verbessert. Wenn SieMutableInteractionSource
nicht verwenden, das Sie an diese Komponenten übergeben, empfiehlt es sich, stattdessen null zu übergeben. Es wird auch empfohlen, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. (I309b4, b/298048146) - Der Parameter
TextAlign
der TV-Textkomponente ist jetzt nicht null (Ib73b1, b/299490814). - Für die Felder
TextAlign
,TextDirection
,Hyphens
undLineBreak
vonParagraphTextStyle
wurde ein spezieller Wert ohne Angabe eingeführt (I4197e, b/299490814)
Version 1.0.0
Version 1.0.0-alpha10
4. Oktober 2023
androidx.tv:tv-foundation:1.0.0-alpha10
und androidx.tv:tv-material:1.0.0-alpha10
werden veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
Neue Funktionen
NavigationDrawerItem
zur Verwendung inNavigationDrawer
undModalNavigationDrawer
eingeführt. (I4b491)- Basisprofil zur tv-foundation-Bibliothek hinzufügen. 2b57fd7.
- Basisprofil zur Mediathek für TV-Material hinzufügen (1711ff5)
API-Änderungen
NavigationDrawerScope.doesTabRowHaveFocus
wurde inNavigationDrawerScope.hasFocus
umbenannt. (I8286b)TabRowScope.isActivated
wurde inTabRowScope.hasFocus
umbenannt. (Ic4273)
Fehlerkorrekturen
- Kompatibilität des Karussells mit benachbarten Elementen, die APIs für Fokuswiederherstellung verwenden, wurde korrigiert. (7b2a7a4)
- Deaktiviert die Scheinanzeige für API_LEVEL unter 28, da diese vom Betriebssystem nicht unterstützt wird. 6d3616f:
- Behebung eines ANR-Absturzes, der durch eine unsachgemäße Platzierung von Elementen in Lazy Containers beim schnellen Scrollen in umgekehrter Richtung verursacht wurde. (642d65c)
- Der Hintergrundabstand in der modalen Navigationsleiste wurde entfernt. 69965b2.
- Behebung des Problems „Scrim in der Navigationsleiste“ so, dass es über dem Hintergrund statt über dem Hintergrund gezeichnet wird. (d4bbefb)
Version 1.0.0-alpha09
6. September 2023
androidx.tv:tv-foundation:1.0.0-alpha09
und androidx.tv:tv-material:1.0.0-alpha09
werden veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
ReusableComposition
-Schnittstelle zum Verwalten des Lebenszyklus und zur Wiederverwendung von Unterzusammensetzungen wurde hinzugefügt. (I812d1, b/252846775)- Fork tv-foundation mit compose-foundation synchronisieren. (I737c3, b/287011882)
- Die Überlastung von
LazyLayout
wurde hinzugefügt. Es akzeptiert ein Lambda vonLazyLayoutItemProvider
und kein einfaches Objekt wie zuvor. Die vorherige Überlastung wurde verworfen. (I42a5a) - Füge
TvKeyboardAlignment
hinzu, damit der Entwickler die Position der Bildschirmtastatur überAndroidImeOptions
konfigurieren kann. (Idb772) - Füge
rememberCarouselState
zu „CarouselState
“ mit „Saver
“ zu „TV Compose-Material“ hinzu. (Id7275) - Ändern Sie den Parameter
scrimColor: Color
in den ParameterscrimBrush:Brush
, damit Nutzer Farbverläufe zum Gitter hinzufügen können. (I254d4)
Version 1.0.0-alpha08
26. Juli 2023
androidx.tv:tv-foundation:1.0.0-alpha08
und androidx.tv:tv-material:1.0.0-alpha08
werden veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
- Chipkomponenten für die Funktion „Compose“ für TV-Materialien vorstellen (I86da4)
- Die Komponente „
ListItem
“ zu „TV Compose-Material“ hinzufügen. (I3f0b3) - Komponente „
DenseListItem
“ zu „TV Compose-Material“ hinzufügen. (I536bf)
API-Änderungen
- Öffentliche TV-Material-APIs wurden als experimentell gekennzeichnet. (I632e7)
- Einführung von
TabRowScope
, um den Status ausTabRow
zusammensetzbare Funktion mit zusammensetzbaren Tabs zu teilen, und umbenannteTabColors
-Eigenschaften. (Ief587)
Version 1.0.0-alpha07
7. Juni 2023
androidx.tv:tv-foundation:1.0.0-alpha07
und androidx.tv:tv-material:1.0.0-alpha07
werden veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
API-Änderungen
- Die Skalierungsangaben von Komponenten enthalten jetzt „None“, um die Skalierung zu deaktivieren. (I50df5)
- Unterstützung langer Klicks für TV-Materialoberfläche, Karten und Schaltflächen hinzugefügt. (Id2b89)
CarouselItem
undCarouselScope
wurden entfernt. Inhalte im Vordergrund können mitModifier.animateEnterExit
vonAnimatedContentScope
auf der Folie animiert werden. (Ic038e)- Die Parameter
color
undcontentColor
wurden für TV Material Surface zucolors
zusammengeführt. (Ie69eb) - Einführung von
RadioButton
zusammensetzbare Funktion in TV-Material. (I08690) - Einführung von
Switch
zusammensetzbare Funktion in TV-Material. (I45e29) - Einführung von
Checkbox
zusammensetzbare Funktion in TV-Material. (I6a45a) - Einführung einer nicht interaktiven Oberfläche in TV-Material. (Ic5f85)
- Machen Sie Hinweise intern. (Ibff82)
Version 1.0.0-alpha06
19. April 2023
androidx.tv:tv-foundation:1.0.0-alpha06
und androidx.tv:tv-material:1.0.0-alpha06
werden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Neue Funktionen
- Für das Fernsehen optimierte Material 3-Kartenimplementierungen hinzufügen.
- Fügen Sie für das Fernsehen optimierte Material 3-Schaltflächen-Implementierungen hinzu.
API-Änderungen
CarouselSlide
undslideCount
wurden inCarousel
inCarouselItem
unditemCount
umbenannt. (Ie554c)forward
undbackward
ContentTransforms
wurden inStartToEnd
undEndToStart
umbenannt. (Ie554c)
Fehlerkorrekturen
- Berühre die Taste „Zurück“, wenn der Fokus auf
NavigationDrawer
liegt. (d654f4)
Version 1.0.0-alpha05
22. März 2023
androidx.tv:tv-foundation:1.0.0-alpha05
und androidx.tv:tv-material:1.0.0-alpha05
werden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
API-Änderungen
- Neu in
tv-material
: die zusammensetzbare Funktion für die seitliche Navigationsleiste. Informationen zur Verwendung dieser zusammensetzbaren Funktion finden Sie in den Beispielen. (I12c08) - Einführung von zusammensetzbaren Symbolen in TV Material 3 (I72db9)
- In
tv-material
wurde die Funktion „Surface zusammensetzbar“ mit Angaben wie Rand, Schein und Skala eingeführt. Damit lassen sich Komponenten erstellen, die das fokussierte Element auf dem Fernsehbildschirm deutlich hervorheben. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Ändern Sie
CarouselItem
zuCarouselSlide
, damit er dem Namen desslideCount
-Parameters in der Karussell-API (Ic4299) entspricht.
Version 1.0.0-alpha04
8. Februar 2023
androidx.tv:tv-foundation:1.0.0-alpha04
und androidx.tv:tv-material:1.0.0-alpha04
werden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
Neue Funktionen
- Bei verzögerten Zeilen, Spalten und Rastern wird der Drehpunkt bei Bedarf überschrieben, um sicherzustellen, dass das gesamte Element sichtbar ist. (11d7e40)
- Passen Sie die Farben von Tabs für verschiedene Status an. (21b2925)
- Das Karussell unterstützt jetzt benutzerdefinierte Animationen für manuelles Vorwärts- und Rückwärtsscrollen. (431494a)
API-Änderungen
androidx.tv.material
wird inandroidx.tv.material3
umbenannt und die Paketstruktur wird unterandroidx.tv.material3
vereinfacht. (I6ca52)- Der Indikator in der Zeile „Karussell-Anzeige“ ist jetzt eine Anzeigenfläche, die vom Entwickler angepasst werden kann. 268af2a
focusableItem
wurde inimmersiveListItem
umbenannt. Nutzer müssen den Modifiziererfocusable()
oderclickable()
zusammen mitimmersiveListItem
(5dd5078)(b/263061052) manuell hinzufügen.timeToDisplayMillis
wurde in der Karussell-Komponente inautoScrollDurationMillis
umbenannt. (431494a)CarouselItem
darf jetzt nur noch innerhalb vonCarousel
verwendet werden. (431494a)- Im Karussell werden jetzt
ContentTransforms
als Animationsdefinition anstelle vonEnterTransition
undExitTransitions
akzeptiert. (431494a) - Einführung der
PinnableContainer
API, die durch Lazy-Listen über eine lokale Kompositionslösung weitergegeben wird, mit der aktuelle Elemente angepinnt werden können. (Ib8881, b/259274257, b/195049010) - Attribut „
mainAxisItemSpacing
“ zu „TvLazyListLayoutInfo
“ und „TvLazyGridLayoutInfo
“ (I37765) hinzugefügt
Fehlerkorrekturen
- Aktualisieren Sie die TAB-Zeile, um sicherzustellen, dass die Tab-Anzahl von 0 oder 1 korrekt verarbeitet wird. (I44009), (1c01525), (b/264018028)
- Behebung eines Absturzes bei der Fokussuche, wenn
TvLazyColumn
ein leeresTvLazyRow
enthält. (e11b4fe), (b/260299091) - Der
clickable
-Modifikator funktioniert jetzt mitImmersiveList
. (5dd5078), (b/263061052) - Die Zurück-Taste wird jetzt verarbeitet und zum Verlassen des vorgestellten Karussells verwendet. (84c138c)
- Das Karussell behält den Fokus nicht bei mehreren schnellen Tastenbetätigungen. (799489f)
- Das Karussell behält auch den Fokus bei langem Drücken von Tasten. b2cf37e.
- Ein Absturz wurde behoben, wenn sich die Anzahl der Folien im Karussell änderte. (b261247)
Version 1.0.0-alpha03
7. Dezember 2022
androidx.tv:tv-foundation:1.0.0-alpha03
und androidx.tv:tv-material:1.0.0-alpha03
werden veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Neue Funktionen
TabRow
ist jetzt als experimentelle API verfügbar, mit der Nutzer ihren Apps obere Navigationsleisten hinzufügen können. Im Allgemeinen erwarten TV-Geräte, dass Tabs geladen werden, wenn der Tab-Titel in der Tabzeile hervorgehoben ist.- TV-spezifische Indikatoren wie Unterstreichungs- und Pillenindikator sind standardmäßig verfügbar. Beispiele zur Verwendung findest du unter tv-sample.
Version 1.0.0-alpha02
9. November 2022
androidx.tv:tv-foundation:1.0.0-alpha02
und androidx.tv:tv-material:1.0.0-alpha02
werden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Verbesserte Scrollleistung beim Scrollen durch eine Sammlung von
TvLazyRows/TvLazyColumns
durch Verkleinern des Fokussuchbereichs (I723a3)
Version 1.0.0-alpha01
5. Oktober 2022
androidx.tv:tv-foundation:1.0.0-alpha01
und androidx.tv:tv-material:1.0.0-alpha01
werden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
Die erste Alphaversion enthält frühe Vorabversionen von Komponenten für TV-Anwendungsfälle, darunter:
- Der Modifikator
scrollableWithPivot
wird hinzugefügt, damit Container ohne Lazy-Scrolling wie Zeile, Spalte und Raster im Inhalt scrollen können, sodass das fokussierte Element an derselben Position auf dem Fernsehbildschirm bleibt. - Die zusammensetzbaren Funktionen
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
undTvLazyVerticalGrid
werden hinzugefügt, damit der Scrollcontainer durch den Inhalt scrollt, sodass das fokussierte Element an derselben Position auf dem Fernsehbildschirm bleibt. - Es wurde eine zusammensetzbare Funktion für das empfohlene Karussell für das Fernsehen hinzugefügt, mit der Nutzer ein automatisch scrollendes Bannerkarussell erstellen können.
- Sie können eine zusammensetzbare Funktion aus einer immersiven Liste für Fernseher hinzufügen, mit der Nutzer eine immersive Zeile/Spalte/Raster erstellen können, bei der der Hintergrund je nach ausgewähltem Listenelement geändert wird.
Bekannte Probleme
- Wird beim Scrollen der Container der Fokus stärker, wird standardmäßig nicht das erste Element hervorgehoben.
- Wenn du den Fokus auf ein
TextField
verschiebst, wird nicht immer die Tastatur geöffnet oder es wird möglicherweise verhindert, dass der Fokus auf andere Felder verschoben wird. - Vertikales Scrollen in einem
LazyColumn
, dasLazyRows
enthält, hat eine schlechte Leistung.