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.enterundFocusProperties.exitwurden durchonEnterundonExitersetzt. Dabei wird ein Empfängerbereich anstelle des ParametersFocusDirectionverwendet. (I6e667)
Fehlerkorrekturen
CompositingStrategy.OffScreenwurde 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
NavigationDrawerItemwurde 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
ColorSchemeund die zugehörigen Dienstprogrammfunktionen sind jetzt stabil. (If34fa)LocalContentColorist jetzt stabil (I60ee2)- Die
TypographyAPI 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
LocalTextStylesAPI ist jetzt stabil (Iaded8). - Die
MaterialThemeAPI 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)
NonInteractiveSurfaceDefaultswurde inSurfaceDefaultsundNonInteractiveSurfaceColorsinSurfaceColorsumbenannt (I0812e)- Bei auswählbaren Oberflächen wird jetzt der Begriff „auswählen“ anstelle von „prüfen“ verwendet, da beide unterschiedliche semantische Bedeutungen haben (I5a206).
NavigationDrawerundNavigationDrawerScopesind jetzt stabil (I249c1)- Die Komponente
NavigationDrawerItemist jetzt stabil (Id6986). - Tab- und
TabRow-Komponenten sind jetzt stabil (I92d92) - Die Komponenten
Button,OutlinedButton,IconButton,OutlinedIconButtonundWideButtonsind jetzt stabil (Ib4de8). - Die Komponenten
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContainerundWideCardContainersind jetzt stabil (I34390). StandardCardLayoutwurde inStandardCardContainerundWideCardLayoutinWideCardContainerumbenannt (I08883)CardContainerDefaults.ImageCardwurde entfernt undCardDefaults.ContainerGradientwurde inCardDefaults.ScrimBrushumbenannt (I6adfe). Sie könnenCardanstelle vonCardContainerDefaults.ImageCardin Ihren Kartencontainern verwenden.ListItemundDenseListItemsind jetzt stabil (Idebd9)ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBorderundListItemDefaults.SelectedContainerColorOpacitysind jetzt privat (I5d533)- Die Parameter von
ListItemwurden neu angeordnet undListItemDefaults.ListItemElevationwurde inListItemDefaults.TonalElevationumbenannt (Id6841). Der ParameterheadlineContentwurde an den Anfang des Composables verschoben. Bisher konnten Sie die Trailing-Lambda-Syntax von Kotlin verwenden, umheadlineContentzu übergeben. Jetzt müssen Sie die Syntax für benannte Parameter verwenden, umheadlineContentanzugeben. LocalAbsoluteTonalElevationist jetzt intern (Ibfc65)- Die Komponente
ImmersiveListwurde entfernt. In diesem Beispiel erfahren Sie, wie Sie das selbst erstellen können. (Id48da) - tv-material-Komponenten, die in ihrer API ein
MutableInteractionSourceverfügbar machen, wurden aktualisiert und machen jetzt ein nullableMutableInteractionSourceverfügbar, das standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie dasMutableInteractionSourcenicht 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 einMutableInteractionSourcezugewiesen 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
TextAlignder Komponente „TV Text“ ist jetzt nicht mehr null (Ib73b1, b/299490814) - Für die Felder
TextAlign,TextDirection,HyphensundLineBreakvonParagraphTextStylewurde ein spezieller Wert „Nicht angegeben“ eingeführt, um (I4197e, b/299490814) zu ersetzen.
Geändertes Verhalten
- Der Standardwert des Parameters
shapefür nicht interaktiveSurfacewurde inRectangleShapegeändert (I1b859cb) - Einige Karussellfunktionen wurden für die Betaversion entfernt, da die erforderlichen APIs experimentell sind (I0e755d4).
- Das Ändern von
contentColorinSurfacefü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)
PlatformImeOptionsist 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
NavigationDrawerItemwurde eingeführt und kann inNavigationDrawerundModalNavigationDrawerverwendet 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.doesTabRowHaveFocuswurde inNavigationDrawerScope.hasFocusumbenannt. (I8286b)TabRowScope.isActivatedwurde inTabRowScope.hasFocusumbenannt. (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
LazyLayouthinzugefügt. Es wird jetzt eine Lambda-Funktion vonLazyLayoutItemProviderakzeptiert, nicht mehr ein einfaches Objekt wie zuvor. Die vorherige Überlastung ist veraltet. (I42a5a) - Fügen Sie
TvKeyboardAlignmenthinzu, damit der Entwickler die Position der Bildschirmtastatur überAndroidImeOptionskonfigurieren kann. (Idb772) - Fügen Sie
rememberCarouselStatehinzu, umCarouselStatemitSaverin 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)
TabRowScopewurde eingeführt, um den Status von der zusammensetzbarenTabRowmit 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)
CarouselItemundCarouselScopewurden entfernt. Die Animation von Vordergrundinhalten auf der Folie kann mitModifier.animateEnterExitausAnimatedContentScopeerreicht werden. (Ic038e)- Die Parameter
colorundcontentColorwurden alscolorsfür die TV Material Surface zusammengeführt. (Ie69eb) - Die zusammensetzbare Funktion
RadioButtonwurde in TV Material eingeführt. (I08690) - Die zusammensetzbare Funktion
Switchwurde in TV Material eingeführt. (I45e29) - Die zusammensetzbare Funktion
Checkboxwurde 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
CarouselSlideundslideCountinCarouselwurden inCarouselItemunditemCountumbenannt. (Ie554c)forwardundbackwardContentTransformswurden inStartToEndundEndToStartumbenannt. (Ie554c)
Fehlerkorrekturen
- Die Taste „Zurück“ auf dem Steuerkreuz wird verarbeitet, wenn der Fokus auf
NavigationDrawerliegt. (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-materialein, 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
CarouselItemzuCarouselSlide, 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.materialwurde inandroidx.tv.material3umbenannt und die Paketstruktur unterandroidx.tv.material3wurde vereinfacht. (I6ca52)- Der Indikator in der Zeile „Karussell-Indikator“ ist jetzt ein Slot, der vom Entwickler angepasst werden kann. (268af2a)
focusableItemwurde inimmersiveListItemumbenannt. Nutzer müssen den Modifikatorfocusable()oderclickable()zusammen mitimmersiveListItemmanuell hinzufügen (5dd5078)(b/263061052).timeToDisplayMilliswurde in der Karussellkomponente inautoScrollDurationMillisumbenannt. (431494a)CarouselItemist jetzt auf die Verwendung inCarouselbeschränkt. (431494a)- Für das Karussell wird jetzt
ContentTransformsals Animationsdefinition anstelle vonEnterTransitionundExitTransitionsakzeptiert. (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
mainAxisItemSpacingwurdeTvLazyListLayoutInfoundTvLazyGridLayoutInfohinzugefü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
TvLazyColumnleereTvLazyRowenthält. (e11b4fe), (b/260299091) - Der Modifikator
clickablefunktioniert 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
TabRowist 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/TvLazyColumnswurde 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
scrollableWithPivotwurde 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,TvLazyHorizontalGridundTvLazyVerticalGrid, 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
TextFieldkonzentrieren, 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
LazyColumnmitLazyRowsist nicht leistungsstark.