tv

  
Bietet Entwicklern Compose- und Material Design-Funktionen, um Apps für Fernseher zu entwickeln
Letzte Aktualisierung Stabile Version Release-Kandidat Beta-Ausgabe Alphaversion
15. Januar 2025 1.0.0 - - 1.1.0-alpha01

Abhängigkeiten deklarieren

Wenn du Abhängigkeiten von „tv-foundation“ und „tv-material“ hinzufügen möchtest, musst du deinem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der build.gradle-Datei Ihrer App oder Ihres Moduls die Abhängigkeiten für die erforderlichen Artefakte hinzu:

Cool

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha11"
    implementation "androidx.tv:tv-material:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha11")
    implementation("androidx.tv:tv-material:1.0.0")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Bitte melden Sie uns neue Probleme oder Ideen zur Verbesserung dieser Bibliothek. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können einem vorhandenen Problem Ihre Stimme geben, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

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

  • FocusEnterExitScope.cancelFocus() in cancelFocusChange()(I89959) ändern
  • FocusProperties.enter und FocusProperties.exit wurden durch onEnter und onExit ersetzt. Dabei wird statt des Parameters FocusDirection ein Empfängerbereich verwendet. (I6e667)

Fehlerkorrekturen

  • CompositingStrategy.OffScreen wurde von „Oberfläche“ zu „Text“ verschoben, um das Ruckeln des Texts beim Skalieren zu beheben. (I92b15f17)
  • Fehler bei der Fokusverwaltung im Karussell behoben (Ie508b721375)
  • Die Oberfläche (nicht interaktiv) ist im Vergleich zu den interaktiven Oberflächen einfacher implementiert. (I7ea545150)

Tv-Material Version 1.0

Version 1.0.0

21. August 2024

androidx.tv:tv-material:1.0.0 wird veröffentlicht. Version 1.0.0 ist die erste stabile Version 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

  • Das Problem mit der ruckeligen Textanimation in Surface-Kompositionen 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 seine Dienstprogrammfunktionen sind jetzt stabil. (If34fa)
  • LocalContentColor ist jetzt stabil (I60ee2)
  • Typography API ist jetzt stabil (I088d6)
  • Shapes APIs sind jetzt stabil (I0f5f4)
  • Border API ist jetzt stabil (I69281)
  • Die Glow API ist jetzt stabil (Iea5f1)
  • Symbolkomponente ist 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)
  • Die Schalterkomponente ist jetzt stabil (I6cea3).
  • Checkbox-Komponenten sind jetzt stabil (I7eafc)
  • Oberflächenkomponenten sind jetzt stabil (I58758, I04aca)
  • NonInteractiveSurfaceDefaults in SurfaceDefaults und NonInteractiveSurfaceColors in SurfaceColors umbenannt (I0812e)
  • Für „Selectable Surface“ wird jetzt „select“ (auswählen) anstelle von „check“ (prüfen) verwendet, da beide Begriffe eine unterschiedliche Bedeutung haben (I5a206)
  • NavigationDrawer und NavigationDrawerScope sind jetzt stabil (I249c1)
  • Die NavigationDrawerItem-Komponente 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 in StandardCardContainer und WideCardLayout in WideCardContainer umbenannt (I08883)
  • CardContainerDefaults.ImageCard wurde entfernt und CardDefaults.ContainerGradient in CardDefaults.ScrimBrush (I6adfe) umbenannt. 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 in ListItemDefaults.TonalElevation umbenannt (Id6841). Der Parameter headlineContent wurde an den Anfang des Composeables 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 eine solche Funktion selbst erstellen. (Id48da)
  • tv-material-Komponenten, die eine MutableInteractionSource in ihrer API bereitstellen, wurden aktualisiert. Sie stellen jetzt eine nullable MutableInteractionSource bereit, die standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie die MutableInteractionSource nicht hochladen. Sie wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie zu „null“ wechseln, wird für einige Komponenten nie eine MutableInteractionSource zugewiesen. Bei anderen Komponenten wird eine Instanz nur bei Bedarf erstellt, was die Leistung dieser Komponenten insgesamt verbessert. Wenn Sie die MutableInteractionSource, die Sie an diese Komponenten übergeben, nicht verwenden, sollten Sie stattdessen „null“ übergeben. Wir empfehlen Ihnen auch, ähnliche Änderungen an Ihren eigenen Komponenten vorzunehmen. (I309b4, b/298048146)
  • Der Parameter TextAlign der TV-Textkomponente ist jetzt nicht mehr null (Ib73b1, b/299490814)
  • Es wurde ein spezieller Wert „Nicht spezifiziert“ für die Felder TextAlign, TextDirection, Hyphens und LineBreak der ParagraphTextStyle eingeführt, der den Wert „–“ ersetzt (I4197e, b/299490814)

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)
  • Wenn contentColor in Surface geändert wird, wird der Wechsel zwischen den Status nicht mehr animiert (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 bereinigen Weitere Informationen zur Migration von Lazy-Layouts von 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

  • Lazy Layouts für Fernseher wurden aus der tv-foundation-Bibliothek eingestellt. In diesem Ticket erfährst du, wie du von den Lazy-Layouts für Fernseher wegkommst. (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 freigegeben. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • Einführung von NavigationDrawerItem für die Verwendung in NavigationDrawer und ModalNavigationDrawer. (I4b491)
  • Fügen Sie der tv-foundation-Bibliothek ein Baseline-Profil hinzu. (2b57fd7)
  • Fügen Sie der TV-Materialbibliothek ein Baseline-Profil hinzu. (1711ff5)

API-Änderungen

  • NavigationDrawerScope.doesTabRowHaveFocus wurde in NavigationDrawerScope.hasFocus umbenannt. (I8286b)
  • TabRowScope.isActivated wurde in TabRowScope.hasFocus umbenannt. (Ic4273)

Fehlerkorrekturen

  • Kompatibilität des Karussells mit benachbarten Elementen, die APIs zum Wiederherstellen des Fokus verwenden, korrigiert (7b2a7a4)
  • Deaktivieren Sie die Leuchteffektanzeige für API_LEVEL unter 28, da sie vom Betriebssystem nicht unterstützt wird. (6d3616f)
  • Behoben: ANR-Absturz, der durch eine falsche Platzierung von Elementen in Lazy-Containern beim schnellen Scrollen in umgekehrter Richtung verursacht wurde (642d65c)
  • Der Hintergrundabstand in der modalen Navigationsleiste wurde entfernt. (69965b2)
  • Der Scrim in der Navigationsleiste wird jetzt über dem Hintergrundinhalt statt dahinter angezeigt. (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 freigegeben. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • ReusableComposition-Benutzeroberfläche zum Verwalten des Lebenszyklus und zur Wiederverwendung von Unterkompositionen hinzufügen (I812d1, b/252846775)
  • Synchronisieren Sie die Fork „tv-foundation“ mit „compose-foundation“. (I737c3, b/287011882)
  • Überladung von LazyLayout hinzugefügt, akzeptiert ein Lambda von LazyLayoutItemProvider, kein einfaches Objekt wie zuvor. Die vorherige Überlastung wird eingestellt. (I42a5a)
  • Fügen Sie TvKeyboardAlignment hinzu, damit der Entwickler die Position der Bildschirmtastatur über das AndroidImeOptions konfigurieren kann. (Idb772)
  • Füge rememberCarouselState hinzu, um CarouselState mit Saver in „TV-Material erstellen“ zu speichern. (Id7275)
  • Der Parameter scrimColor: Color wurde in scrimBrush:Brush geändert, damit Nutzer dem Scrim Farbverlä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 freigegeben. 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 Komponente ListItem hinzu. (I3f0b3)
  • Füge dem TV Compose-Material die DenseListItem-Komponente hinzu. (I536bf)

API-Änderungen

  • APIs für öffentliches TV-Material als experimentell gekennzeichnet. (I632e7)
  • Einführung von TabRowScope, um den Status von TabRow-Komponenten für Tab-Komponenten freizugeben, und Umbenennung von TabColors-Properties. (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 freigegeben. Version 1.0.0-alpha07 enthält diese Commits.

API-Änderungen

  • Die Skalierungsangaben für Komponenten umfassen jetzt die Option „Kein“, um die Skalierung zu deaktivieren. (I50df5)
  • Unterstützung für langes Klicken auf Material Surface, Karten und Schaltflächen auf Fernsehern hinzugefügt. (Id2b89)
  • CarouselItem und CarouselScope wurden entfernt. Die Animation von Inhalten im Vordergrund auf der Folie kann mit Modifier.animateEnterExit von AnimatedContentScope erreicht werden. (Ic038e)
  • Die Parameter color und contentColor wurden für die TV-Materialoberfläche zu colors zusammengeführt. (Ie69eb)
  • Einführung von RadioButton-Kompositionen in TV-Material (I08690)
  • Einführung von Switch-Kompositionen in TV-Material (I45e29)
  • Einführung von Checkbox-Kompositionen in TV-Material (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 freigegeben. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Fügen Sie für Fernseher optimierte Material 3-Karten hinzu.
    • Basiskarte (I5b701)
    • ClassicCard, CompactCard und WideClassicCard (I70471)
    • StandardCardLayout und WideCardLayout (I33fae)
  • Fügen Sie für Fernseher optimierte Material 3-Schaltflächen hinzu.
    • 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, backward und ContentTransforms wurden in StartToEnd, EndToStart und ContentTransforms umbenannt. (Ie554c)

Fehlerkorrekturen

  • D-Pad-Taste „Zurück“ bedienen, 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 freigegeben. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • Die seitliche Navigationsleiste kann jetzt in tv-material eingebunden werden. Weitere Informationen zur Verwendung dieses Composeables findest du in den Beispielen. (I12c08)
  • Einführung von Symbol-Kompositionen in TV Material 3 (I72db9)
  • Für tv-material gibt es jetzt die Option „Surface composable“ mit Optionen wie „Border“, „Glow“ und „Scale“. Damit lassen sich Komponenten erstellen, die das fokussierte Element auf dem Fernsehbildschirm deutlich hervorheben. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • Ändern Sie CarouselItem in CarouselSlide, damit der Parametername slideCount 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 freigegeben. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • In Lazy-Zeilen, -Spalten und -Rastern wird der Pivot-Punkt bei Bedarf überschrieben, damit das gesamte Element sichtbar ist. (11d7e40)
  • Anpassung der Tabfarben in verschiedenen Status hinzufügen (21b2925)
  • Für Karussells können jetzt benutzerdefinierte Animationen für das manuelle Scrollen vorwärts und rückwärts verwendet werden. (431494a)

API-Änderungen

  • androidx.tv.material in androidx.tv.material3 umbenannt und die Paketstruktur unter androidx.tv.material3 flachgelegt (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 in der Karussellkomponente in autoScrollDurationMillis umbenannt (431494a)
  • CarouselItem ist jetzt auf die Verwendung in Carousel beschränkt. (431494a)
  • Für Karussells wird jetzt ContentTransforms als Animationsdefinition akzeptiert, anstelle von EnterTransition und ExitTransitions. (431494a)
  • Einführung der PinnableContainer API, die über Lazy-Listen über ein lokales Compose-Element weitergegeben wird und das Anpinnen des aktuellen Elements ermöglicht. (Ib8881, b/259274257, b/195049010)
  • mainAxisItemSpacing-Property zu TvLazyListLayoutInfo und TvLazyGridLayoutInfo hinzugefügt (I37765)

Fehlerkorrekturen

  • Aktualisieren Sie die Tab-Zeile, damit die Tab-Anzahl von 0 oder 1 korrekt verarbeitet wird. (I44009), (1c01525), (b/264018028)
  • Behebung eines Absturzes bei der Fokussuche, wenn TvLazyColumn eine leere TvLazyRow enthält. (e11b4fe), (b/260299091)
  • Der clickable-Modifikator funktioniert jetzt mit ImmersiveList. (5dd5078), (b/263061052)
  • Die Rücktaste wird jetzt verarbeitet und zum Beenden des Karussells mit vorgestellten Inhalten verwendet. (84c138c)
  • Der Fokus wird beim Karussell nicht durch mehrere schnelle Tastendrücke verloren. (799489f)
  • Der Fokus wird beim langen Drücken der Tasten nicht auf das Karussell gelegt. (b2cf37e)
  • Es wurden Abstürze behoben, die beim Ändern der Anzahl der Karussellfolien auftraten. (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 freigegeben. 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. Auf Fernsehern werden Tabs in der Regel geladen, wenn der Tabtitel in der Tabzeile den Fokus hat.
  • Fernsehspezifische Indikatoren wie Unterstrich und Tablettensymbol sind bereits integriert. Beispielanwendungen 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 freigegeben. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Die Scrollleistung beim Scrollen durch eine Sammlung von TvLazyRows/TvLazyColumns wurde verbessert, indem der Suchbereich für den Fokus reduziert 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 freigegeben. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

Die erste Alphaversion enthält erste Vorabimplementierungen von Komponenten für Anwendungsfälle auf Fernsehern, darunter:

  • Der Modifikator scrollableWithPivot wurde hinzugefügt, damit Container ohne Lazy-Scrolling wie „Zeile“, „Spalte“ und „Raster“ den Inhalt so scrollen, dass das ausgewählte Element an derselben Position auf dem Fernsehbildschirm bleibt.
  • Mit den Composables TvLazyRow,TvLazyColumn, TvLazyHorizontalGrid und TvLazyVerticalGrid wird der Inhalt im Scrollcontainer so gescrollt, dass sich das ausgewählte Element immer an derselben Position auf dem Fernsehbildschirm befindet.
  • Das Karussell „Empfohlen“ für Fernseher wurde hinzugefügt. Damit können Nutzer ein automatisch scrollendes Bannerkarussell erstellen.
  • Es wurde eine immersive Liste für Fernseher hinzugefügt, mit der Nutzer eine immersive Zeile/Spalte/ein immersives Raster erstellen können, bei dem sich der Hintergrund je nach ausgewähltem Listenelement ändert.

Bekannte Probleme

  • Wenn der Scroller den Fokus erhält, erhält das erste Element standardmäßig nicht den Fokus.
  • Wenn Sie den Fokus auf ein TextField legen, wird die Tastatur nicht immer geöffnet oder der Fokus kann nicht auf andere Felder gewechselt werden.
  • Beim vertikalen Scrollen in einem LazyColumn, das LazyRows enthält, ist die Leistung schlecht.