tv

  
Bietet Entwicklern Compose- und Material Design-Funktionen zum Schreiben von Anwendungen für Fernseher
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.

Neues Problem erstellen

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() zu cancelFocusChange()(I89959).
  • FocusProperties.enter und FocusProperties.exit wurden durch onEnter und onExit ersetzt. Dabei wird ein Empfängerbereich anstelle des Parameters FocusDirection 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 in SurfaceDefaults und NonInteractiveSurfaceColors in SurfaceColors 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 und NavigationDrawerScope 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 und WideButton sind jetzt stabil (Ib4de8).
  • Die Komponenten Card, ClassicCard, CompactCard, WideClassicCard, StandardCardContainer und WideCardContainer sind jetzt stabil (I34390).
  • StandardCardLayout wurde in StandardCardContainer und WideCardLayout in WideCardContainer umbenannt (I08883)
  • CardContainerDefaults.ImageCard wurde entfernt und CardDefaults.ContainerGradient wurde in CardDefaults.ScrimBrush umbenannt (I6adfe). Sie können Card anstelle von CardContainerDefaults.ImageCard in Ihren Kartencontainern verwenden.
  • ListItem und DenseListItem sind jetzt stabil (Idebd9)
  • ListItemDefaults.ListItemShape, ListItemDefaults.FocusedDisabledBorder und ListItemDefaults.SelectedContainerColorOpacity sind jetzt privat (I5d533)
  • Die Parameter von ListItem wurden neu angeordnet und ListItemDefaults.ListItemElevation wurde in ListItemDefaults.TonalElevation umbenannt (Id6841). Der Parameter headlineContent wurde an den Anfang des Composables verschoben. Bisher konnten Sie die Trailing-Lambda-Syntax von Kotlin verwenden, um headlineContent zu übergeben. Jetzt müssen Sie die Syntax für benannte Parameter verwenden, um headlineContent 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 nullable MutableInteractionSource verfügbar, das standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie das MutableInteractionSource 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 ein MutableInteractionSource 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 die MutableInteractionSource, 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 und LineBreak von ParagraphTextStyle 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 interaktive Surface wurde in RectangleShape geändert (I1b859cb)
  • Einige Karussellfunktionen wurden für die Betaversion entfernt, da die erforderlichen APIs experimentell sind (I0e755d4).
  • Das Ändern von contentColor in Surface 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 in NavigationDrawer und ModalNavigationDrawer 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 in NavigationDrawerScope.hasFocus umbenannt. (I8286b)
  • TabRowScope.isActivated wurde in TabRowScope.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 von LazyLayoutItemProvider 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 über AndroidImeOptions konfigurieren kann. (Idb772)
  • Fügen Sie rememberCarouselState hinzu, um CarouselState mit Saver in das TV Compose Material aufzunehmen. (Id7275)
  • Der scrimColor: Color-Parameter wurde in den scrimBrush: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 zusammensetzbaren TabRow mit der zusammensetzbaren „Tab“ zu teilen. Außerdem wurden die TabColors-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 und CarouselScope wurden entfernt. Die Animation von Vordergrundinhalten auf der Folie kann mit Modifier.animateEnterExit aus AnimatedContentScope erreicht werden. (Ic038e)
  • Die Parameter color und contentColor wurden als colors 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.
    • Basiskarte (I5b701)
    • ClassicCard, CompactCard und WideClassicCard (I70471)
    • StandardCardLayout und WideCardLayout (I33fae)
  • Material 3-Schaltflächenimplementierungen hinzufügen, die für die TV-Wiedergabe optimiert sind.
    • Einfache Schaltfläche (I69c11)
    • IconButton und OutlinedIconButton (Ib504c)
    • WideButton (I4cecf)

API-Änderungen

  • CarouselSlide und slideCount in Carousel wurden in CarouselItem und itemCount umbenannt. (Ie554c)
  • forward und backward ContentTransforms wurden in StartToEnd und EndToStart 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 zu CarouselSlide, damit der slideCount-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 in androidx.tv.material3 umbenannt und die Paketstruktur unter androidx.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 in immersiveListItem umbenannt. Nutzer müssen den Modifikator focusable() oder clickable() zusammen mit immersiveListItem manuell hinzufügen (5dd5078)(b/263061052).
  • timeToDisplayMillis wurde in der Karussellkomponente in autoScrollDurationMillis umbenannt. (431494a)
  • CarouselItem ist jetzt auf die Verwendung in Carousel beschränkt. (431494a)
  • Für das Karussell wird jetzt ContentTransforms als Animationsdefinition anstelle von EnterTransition und ExitTransitions 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 wurde TvLazyListLayoutInfo und TvLazyGridLayoutInfo 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 leere TvLazyRow enthält. (e11b4fe), (b/260299091)
  • Der Modifikator clickable funktioniert jetzt mit ImmersiveList. (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 und TvLazyVerticalGrid, 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 mit LazyRows ist nicht leistungsstark.