tv
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
16. Juli 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Abhängigkeiten deklarieren
Wenn Sie Abhängigkeiten von tv-foundation und tv-material hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Cool
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha12" implementation "androidx.tv:tv-material:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha12") implementation("androidx.tv:tv-material:1.1.0-alpha01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es 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 ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Für dieses Artefakt gibt es keine Versionshinweise.
Tv-Material Version 1.1
Version 1.1.0-alpha01
15. Januar 2025
androidx.tv:tv-material:1.1.0-alpha01
wird veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
- Ändern Sie
FocusEnterExitScope.cancelFocus()
zucancelFocusChange()
(I89959). FocusProperties.enter
undFocusProperties.exit
wurden durchonEnter
undonExit
ersetzt. Dabei wird ein Empfängerbereich anstelle des ParametersFocusDirection
verwendet. (I6e667)
Fehlerkorrekturen
CompositingStrategy.OffScreen
wurde von „Surface“ zu „Text“ verschoben, um das Ruckeln des Textes beim Skalieren zu beheben. (I92b15f17)- Fokusverwaltung in Karussell-Anzeigen korrigiert (Ie508b721375)
- Die Implementierung von Surface (nicht interaktiv) ist im Vergleich zu den interaktiven Varianten einfacher. (I7ea545150)
Tv-Material Version 1.0
Version 1.0.1
16. Juli 2025
androidx.tv:tv-material:1.0.1
wird veröffentlicht. Version 1.0.1 enthält diese Commits.
Fehlerkorrekturen
- Die Höhe des
NavigationDrawerItem
wurde an die Spezifikationen angepasst. (cf9a3ce) - Die Konfiguration der Compositing-Strategie wurde vom Surface-Composable zum Text-Composable verschoben. Damit wird der Fehler behoben, bei dem ExoPlayer auf Surface-Composables in niedrigeren Android-API-Versionen nicht gerendert wurde. (9858ffb)
Version 1.0.0
21. August 2024
androidx.tv:tv-material:1.0.0
wird veröffentlicht. Version 1.0.0 ist das erste stabile Release von androidx.tv:tv-material
.
Version 1.0.0-rc02
7. August 2024
androidx.tv:tv-material:1.0.0-rc02
wird veröffentlicht. Version 1.0.0-rc02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit ruckeligen Textanimationen in Surface-Composable wurde behoben. (3163319)
Version 1.0.0-rc01
10. Juli 2024
androidx.tv:tv-material:1.0.0-rc01
wird veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Version 1.0.0-beta01
1. Mai 2024
androidx.tv:tv-material:1.0.0-beta01
wird veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
ColorScheme
und die zugehörigen Dienstprogrammfunktionen sind jetzt stabil. (If34fa)LocalContentColor
ist jetzt stabil (I60ee2)- Die
Typography
API ist jetzt stabil (I088d6). - Shapes APIs sind jetzt stabil (I0f5f4)
- Die Border API ist jetzt stabil (I69281)
- Die Glow API ist jetzt stabil (Iea5f1)
- Die Symbolkomponente ist jetzt stabil (I62c2d).
- Die
LocalTextStyles
API ist jetzt stabil (Iaded8). - Die
MaterialTheme
API ist jetzt stabil (I2f541). - Die Textkomponente ist jetzt stabil (Ib9e31)
- Die
RadioButton
-Komponente ist jetzt stabil (Ia03c8). - Die Schalterkomponente ist jetzt stabil (I6cea3).
Checkbox
-Komponenten sind jetzt stabil (I7eafc)- Oberflächenkomponenten sind jetzt stabil (I58758, I04aca)
NonInteractiveSurfaceDefaults
wurde inSurfaceDefaults
undNonInteractiveSurfaceColors
inSurfaceColors
umbenannt (I0812e)- Bei auswählbaren Oberflächen wird jetzt der Begriff „auswählen“ anstelle von „prüfen“ verwendet, da beide unterschiedliche semantische Bedeutungen haben (I5a206).
NavigationDrawer
undNavigationDrawerScope
sind jetzt stabil (I249c1)- Die Komponente
NavigationDrawerItem
ist jetzt stabil (Id6986). - Tab- und
TabRow
-Komponenten sind jetzt stabil (I92d92) - Die Komponenten
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
undWideButton
sind jetzt stabil (Ib4de8). - Die Komponenten
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
undWideCardContainer
sind jetzt stabil (I34390). StandardCardLayout
wurde inStandardCardContainer
undWideCardLayout
inWideCardContainer
umbenannt (I08883)CardContainerDefaults.ImageCard
wurde entfernt undCardDefaults.ContainerGradient
wurde inCardDefaults.ScrimBrush
umbenannt (I6adfe). Sie könnenCard
anstelle vonCardContainerDefaults.ImageCard
in Ihren Kartencontainern verwenden.ListItem
undDenseListItem
sind jetzt stabil (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
undListItemDefaults.SelectedContainerColorOpacity
sind jetzt privat (I5d533)- Die Parameter von
ListItem
wurden neu angeordnet undListItemDefaults.ListItemElevation
wurde inListItemDefaults.TonalElevation
umbenannt (Id6841). Der ParameterheadlineContent
wurde an den Anfang des Composables verschoben. Bisher konnten Sie die Trailing-Lambda-Syntax von Kotlin verwenden, umheadlineContent
zu übergeben. Jetzt müssen Sie die Syntax für benannte Parameter verwenden, umheadlineContent
anzugeben. LocalAbsoluteTonalElevation
ist jetzt intern (Ibfc65)- Die Komponente
ImmersiveList
wurde entfernt. In diesem Beispiel erfahren Sie, wie Sie das selbst erstellen können. (Id48da) - tv-material-Komponenten, die in ihrer API ein
MutableInteractionSource
verfügbar machen, wurden aktualisiert und machen jetzt ein nullableMutableInteractionSource
verfügbar, das standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie dasMutableInteractionSource
nicht verschieben. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf „null“ ändern, kann es sein, dass für einige Komponenten nie einMutableInteractionSource
zugewiesen wird. Außerdem kann es sein, dass für andere Komponenten nur dann eine Instanz erstellt wird, wenn sie benötigt wird. Das verbessert die Leistung dieser Komponenten. Wenn Sie dieMutableInteractionSource
, die Sie an diese Komponenten übergeben, nicht verwenden, sollten Sie stattdessen „null“ übergeben. Es wird auch empfohlen, ähnliche Änderungen in Ihren eigenen Komponenten vorzunehmen. (I309b4, b/298048146) - Der Parameter
TextAlign
der Komponente „TV Text“ ist jetzt nicht mehr null (Ib73b1, b/299490814) - Für die Felder
TextAlign
,TextDirection
,Hyphens
undLineBreak
vonParagraphTextStyle
wurde ein spezieller Wert „Nicht angegeben“ eingeführt, um (I4197e, b/299490814) zu ersetzen.
Geändertes Verhalten
- Der Standardwert des Parameters
shape
für nicht interaktiveSurface
wurde inRectangleShape
geändert (I1b859cb) - Einige Karussellfunktionen wurden für die Betaversion entfernt, da die erforderlichen APIs experimentell sind (I0e755d4).
- Das Ändern von
contentColor
inSurface
führt nicht mehr zu Animationen zwischen den Status (I436e794f)
Version 1.0.0
Version 1.0.0-alpha12
15. Januar 2025
androidx.tv:tv-foundation:1.0.0-alpha12
wird veröffentlicht. Version 1.0.0-alpha12 enthält diese Commits.
API-Änderungen
- Lazy Layouts aus tv-foundation entfernen Informationen zur Migration von Lazy Layouts der tv-foundation finden Sie in den Versionshinweisen zu 1.0.0-alpha11. (I2fdd3, b/358913893)
Version 1.0.0-alpha11
10. Juli 2024
androidx.tv:tv-foundation:1.0.0-alpha11
wird veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- TvLazyLayouts wurden aus der tv-foundation-Bibliothek entfernt. In diesem Ticket erfahren Sie, wie Sie die Migration von den Lazy Layouts für TV durchführen. (I0855f, b/332674072)
PlatformImeOptions
ist jetzt eine konkrete Klasse anstelle einer Schnittstelle. (If40a4)
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
wurde eingeführt und kann inNavigationDrawer
undModalNavigationDrawer
verwendet werden. (I4b491)- Fügen Sie der tv-foundation-Bibliothek ein Baseline-Profil hinzu. (2b57fd7)
- Füge der tv-material-Bibliothek ein Baseline-Profil hinzu. (1711ff5)
API-Änderungen
NavigationDrawerScope.doesTabRowHaveFocus
wurde inNavigationDrawerScope.hasFocus
umbenannt. (I8286b)TabRowScope.isActivated
wurde inTabRowScope.hasFocus
umbenannt. (Ic4273)
Fehlerkorrekturen
- Die Kompatibilität von Karussells mit angrenzenden Elementen, die Focus Restorer APIs verwenden, wurde behoben. (7b2a7a4)
- Deaktivieren Sie die Glow-Anzeige für API_LEVEL unter 28, da sie vom Betriebssystem nicht unterstützt wird. (6d3616f)
- ANR-Absturz behoben, der durch eine falsche Platzierung von Elementen in Lazy-Containern beim schnellen Scrollen in umgekehrter Richtung verursacht wurde. (642d65c)
- Der Hintergrund-Padding im modalen Navigationsbereich wurde entfernt. (69965b2)
- Das Scrim im Navigationsmenü wird jetzt über dem Hintergrundinhalt und nicht dahinter gezeichnet. (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
- Die
ReusableComposition
-Schnittstelle zum Verwalten des Lebenszyklus und der Wiederverwendung von Unterkompositionen wurde hinzugefügt. (I812d1, b/252846775) - Synchronisiere den tv-foundation-Fork mit compose-foundation. (I737c3, b/287011882)
- Überladung von
LazyLayout
hinzugefügt. Es wird jetzt eine Lambda-Funktion vonLazyLayoutItemProvider
akzeptiert, nicht mehr ein einfaches Objekt wie zuvor. Die vorherige Überlastung ist veraltet. (I42a5a) - Fügen Sie
TvKeyboardAlignment
hinzu, damit der Entwickler die Position der Bildschirmtastatur überAndroidImeOptions
konfigurieren kann. (Idb772) - Fügen Sie
rememberCarouselState
hinzu, umCarouselState
mitSaver
in das TV Compose Material aufzunehmen. (Id7275) - Der
scrimColor: Color
-Parameter wurde in denscrimBrush:Brush
-Parameter geändert, damit Nutzer dem Scrim Verläufe 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
- Einführung von Chip-Komponenten für Compose for TV-Material. (I86da4)
- Füge dem TV Compose-Material die
ListItem
-Komponente hinzu. (I3f0b3) - Fügen Sie dem TV Compose-Material die
DenseListItem
-Komponente hinzu. (I536bf)
API-Änderungen
- Als öffentlich gekennzeichnete APIs für TV-Material als „Experimentell“ markiert. (I632e7)
TabRowScope
wurde eingeführt, um den Status von der zusammensetzbarenTabRow
mit der zusammensetzbaren „Tab“ zu teilen. Außerdem wurden dieTabColors
-Attribute umbenannt. (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 für Komponenten enthalten jetzt „Keine“, um die Skalierung zu deaktivieren. (I50df5)
- Unterstützung für langes Klicken für die Oberfläche „TV-Material“, Karten und Schaltflächen hinzugefügt. (Id2b89)
CarouselItem
undCarouselScope
wurden entfernt. Die Animation von Vordergrundinhalten auf der Folie kann mitModifier.animateEnterExit
ausAnimatedContentScope
erreicht werden. (Ic038e)- Die Parameter
color
undcontentColor
wurden alscolors
für die TV Material Surface zusammengeführt. (Ie69eb) - Die zusammensetzbare Funktion
RadioButton
wurde in TV Material eingeführt. (I08690) - Die zusammensetzbare Funktion
Switch
wurde in TV Material eingeführt. (I45e29) - Die zusammensetzbare Funktion
Checkbox
wurde in TV Material eingeführt. (I6a45a) - Nicht interaktive Oberfläche in TV-Material eingeführt. (Ic5f85)
- Hinweise intern machen (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
- Material 3-Kartenimplementierungen hinzugefügt, die für Fernseher optimiert sind.
- Material 3-Schaltflächenimplementierungen hinzufügen, die für die TV-Wiedergabe optimiert sind.
API-Änderungen
CarouselSlide
undslideCount
inCarousel
wurden inCarouselItem
unditemCount
umbenannt. (Ie554c)forward
undbackward
ContentTransforms
wurden inStartToEnd
undEndToStart
umbenannt. (Ie554c)
Fehlerkorrekturen
- Die Taste „Zurück“ auf dem Steuerkreuz wird verarbeitet, 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
- Einführung der zusammensetzbaren Funktion „Side Navigation Drawer“ in
tv-material
. Beispiele für die Verwendung dieser zusammensetzbaren Funktion (I12c08) - Einführung der zusammensetzbaren Funktion „Icon“ in TV Material 3 (I72db9)
- Wir führen die zusammensetzbare Funktion „Surface“ für
tv-material
ein, mit Hinweisen wie „Border“, „Glow“ und „Scale“, mit denen Komponenten erstellt werden können, die das fokussierte Element auf dem Fernsehbildschirm deutlich hervorheben. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Aktualisiere
CarouselItem
zuCarouselSlide
, damit derslideCount
-Parametername in der „Carousel“-API (Ic4299) übereinstimmt.
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
- In verzögert geladenen Zeilen, Spalten und Tabellen wird der Drehpunkt bei Bedarf überschrieben, damit das gesamte Element angezeigt wird. (11d7e40)
- Es ist jetzt möglich, die Farben von Tabs in verschiedenen Status anzupassen. (21b2925)
- Das Karussell unterstützt jetzt benutzerdefinierte Animationen für das manuelle Vorwärts- und Rückwärts-Scrollen. (431494a)
API-Änderungen
androidx.tv.material
wurde inandroidx.tv.material3
umbenannt und die Paketstruktur unterandroidx.tv.material3
wurde vereinfacht. (I6ca52)- Der Indikator in der Zeile „Karussell-Indikator“ ist jetzt ein Slot, der vom Entwickler angepasst werden kann. (268af2a)
focusableItem
wurde inimmersiveListItem
umbenannt. Nutzer müssen den Modifikatorfocusable()
oderclickable()
zusammen mitimmersiveListItem
manuell hinzufügen (5dd5078)(b/263061052).timeToDisplayMillis
wurde in der Karussellkomponente inautoScrollDurationMillis
umbenannt. (431494a)CarouselItem
ist jetzt auf die Verwendung inCarousel
beschränkt. (431494a)- Für das Karussell wird jetzt
ContentTransforms
als Animationsdefinition anstelle vonEnterTransition
undExitTransitions
akzeptiert. (431494a) - Die
PinnableContainer
-API wurde eingeführt, die von Lazy Lists über eine Kompositionslokale weitergegeben wird und das Anpinnen des aktuellen Elements ermöglicht. (Ib8881, b/259274257, b/195049010) - Die Property
mainAxisItemSpacing
wurdeTvLazyListLayoutInfo
undTvLazyGridLayoutInfo
hinzugefügt (I37765)
Fehlerkorrekturen
- Aktualisieren Sie die Tab-Zeile, damit sie die Tab-Anzahl 0 oder 1 korrekt verarbeitet. (I44009), (1c01525), (b/264018028)
- Behebt den Absturz bei der Fokus-Suche, wenn
TvLazyColumn
leereTvLazyRow
enthält. (e11b4fe), (b/260299091) - Der Modifikator
clickable
funktioniert jetzt mitImmersiveList
. (5dd5078), (b/263061052) - Die Zurück-Taste wird jetzt verarbeitet und zum Beenden des vorgestellten Karussells verwendet. (84c138c)
- Das Karussell verliert bei mehreren schnellen Tastendrücken nicht den Fokus. (799489f)
- Das Karussell verliert bei langem Drücken der Tasten nicht den Fokus. (b2cf37e)
- Es wurde ein Problem behoben, das zu Abstürzen führte, wenn sich die Anzahl der Karussellfolien ä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 wird von TV-Geräten erwartet, dass Tabs geladen werden, wenn der Tabtitel in der Tabzeile fokussiert ist.- TV-spezifische Indikatoren wie der Unterstreichungs- und der Pillenindikator sind sofort verfügbar. Beispiele für die Verwendung finden Sie unter tv-samples.
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
- Die Scrollleistung beim Scrollen durch eine Sammlung von
TvLazyRows/TvLazyColumns
wurde verbessert, indem der Fokus-Suchbereich verkleinert wurde.(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 Vorschauimplementierungen von Komponenten für TV-Anwendungsfälle, darunter:
- Der Modifikator
scrollableWithPivot
wurde hinzugefügt, damit in Containern, die nicht lazy scrollen, z. B. Row, Column und Grid, der Inhalt so gescrollt wird, dass das fokussierte Element an derselben Position auf dem Fernsehbildschirm bleibt. - Hinzufügen der Composables
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
undTvLazyVerticalGrid
, damit der Scrollcontainer den Inhalt so scrollt, dass das fokussierte Element an derselben Position auf dem Fernseher bleibt. - Es wurde eine zusammensetzbare Funktion für das Featured Carousel für TV hinzugefügt, mit der Nutzer ein automatisch scrollendes Bannerkarussell erstellen können.
- Hinzufügen des Immersive List-Composable für TV, mit dem der Nutzer eine immersive Zeile, Spalte oder ein immersives Raster erstellen kann, bei dem sich der Hintergrund je nach fokussiertem Listenelement ändert.
Bekannte Probleme
- Wenn ein Scrollcontainer den Fokus erhält, wird das erste Element nicht standardmäßig fokussiert.
- Wenn Sie sich auf ein
TextField
konzentrieren, wird nicht immer die Tastatur geöffnet. Außerdem kann es sein, dass der Fokus nicht auf andere Felder verschoben wird. - Das vertikale Scrollen in einem
LazyColumn
mitLazyRows
ist nicht leistungsstark.