TV-Gerät

  
Bietet Entwicklern Funktionen zum Schreiben und Material Design, mit denen sie Apps für das Fernsehen schreiben können
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Ausgabe Alpha-Release
10. Juli 2024 - 1.0.0–rc01 - -

Abhängigkeiten deklarieren

Wenn Sie Abhängigkeiten zu „tv-foundation“ und „tv-material“ hinzufügen möchten, 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 Artefakte hinzu, die Sie benötigen:

Groovig

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

Kotlin

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

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

Feedback

Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder Verbesserungsvorschläge für diese Bibliothek haben. Bitte sieh dir die vorhandenen Probleme in dieser Bibliothek an, bevor du eine neue erstellst. Sie können einem vorhandenen Problem Ihre Stimme hinzufügen, indem Sie auf die Sternschaltfläche 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.0

Version 1.0.0-rc01

10. Juli 2024

androidx.tv:tv-material:1.0.0-rc01 wurde 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 wurde veröffentlicht. 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)
  • Glow API ist jetzt stabil (Iea5f1)
  • Symbolkomponente ist jetzt stabil (I62c2d).
  • Die LocalTextStyles API ist jetzt stabil (Iaded8)
  • MaterialTheme API ist jetzt stabil (I2f541)
  • Die Textkomponente ist jetzt stabil (Ib9e31)
  • Die Komponente „RadioButton“ 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 in SurfaceDefaults und NonInteractiveSurfaceColors in SurfaceColors umbenannt (I0812e)
  • Auf der auswählbaren Oberfläche wird jetzt die Terminologie „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 in CardDefaults.ScrimBrush (I6adfe) umbenannt. Du kannst in deinen Kartencontainern Card anstelle von CardContainerDefaults.ImageCard 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 (Id6841) umbenannt. Der Parameter headlineContent wurde an den Anfang der zusammensetzbaren Funktion verschoben. Früher konnten Sie die nachgestellte Lambda-Syntax von Kotlin verwenden, um headlineContent zu übergeben. Jetzt müssen Sie die Syntax benannter Parameter verwenden, um das headlineContent bereitzustellen.
  • LocalAbsoluteTonalElevation ist jetzt intern (Ibfc65)
  • Die Komponente „ImmersiveList“ wurde entfernt. In diesem Beispiel erfahren Sie, wie Sie es selbst erstellen. (Id48da)
  • TV-Material-Komponenten, für die ein MutableInteractionSource in ihrer API offengelegt wird, wurden aktualisiert. Jetzt ist eine MutableInteractionSource verfügbar, für die Nullwerte zulässig sind, die standardmäßig auf null gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn „null“ übergeben wird, bedeutet das, dass das MutableInteractionSource nicht gezogen werden soll. Es wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie den Wert auf null ändern, können einige Komponenten niemals ein MutableInteractionSource zuweisen. Andere Komponenten können eine Instanz nur bei Bedarf langsam erstellen, wodurch die Leistung dieser Komponenten verbessert wird. Wenn Sie die MutableInteractionSource nicht verwenden, die 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 TextAlign-Parameter der TV-Text-Komponente ist jetzt nicht null (Ib73b1, b/299490814).
  • Es wurde ein spezieller Wert ohne Angabe für die Felder TextAlign, TextDirection, Hyphens und LineBreak des ParagraphTextStyle eingeführt, der ersetzt werden soll (I4197e, b/299490814).

Änderungen im Verhalten

  • Der Standardwert des Parameters shape für die nicht interaktive Surface wurde zu RectangleShape (I1b859cb) geändert.
  • Einige Karussellfunktionen wurden für die Beta-Markteinführung eingestellt, da sich die erforderlichen APIs noch in der Testphase befinden (I0e755d4).
  • Beim Ändern von contentColor in Surface wird keine Animation mehr zwischen den Status angezeigt (I436e794f).

Version 1.0.0

Version 1.0.0-alpha11

10. Juli 2024

androidx.tv:tv-foundation:1.0.0-alpha11 wurde veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.

API-Änderungen

  • TV-Lazy-Layouts wurden aus der Bibliothek für TV-Grundlagen eingestellt. In diesem Ticket erfahren Sie, wie Sie weg von den Lazy-Layouts für TV migrieren können. (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 wurden veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.

Neue Funktionen

  • NavigationDrawerItem wurde eingeführt, der in NavigationDrawer und ModalNavigationDrawer verwendet werden soll. (I4b491)
  • Baseline-Profil zur Mediathek der TV-Grundlagen hinzufügen. (2b57fd7)
  • Referenzprofil zur Bibliothek für TV-Material hinzufügen (1711ff5)

API-Änderungen

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

Fehlerkorrekturen

  • Die Kompatibilität des Karussells mit benachbarten Elementen, die die APIs zur Fokuswiederherstellung verwenden, wurde korrigiert. (7b2a7a4)
  • Deaktivieren Sie die Glow-Anzeige für API_LEVEL unter 28, da dies vom Betriebssystem nicht unterstützt wird. (6d3616f)
  • Ein ANR-Absturz wurde behoben, der durch eine falsche Platzierung von Elementen in Lazy-Containern beim schnellen Scrollen in die umgekehrte Richtung verursacht wurde. (642d65c)
  • Hintergrundabstände in der modalen Navigationsleiste wurden entfernt. (69965b2)
  • Das Scrim-Element in der Navigationsleiste wurde so korrigiert, dass es über dem Hintergrund statt dahinter 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 wurden veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.

API-Änderungen

  • ReusableComposition-Schnittstelle zur Verwaltung des Lebenszyklus und der Wiederverwendung von Unterzusammensetzungen hinzugefügt. (I812d1, b/252846775)
  • Synchronisiere die TV-Fundament-Abgrenzung mit der „Compose-Foundation“. (I737c3, b/287011882)
  • Die Überlastung von LazyLayout wurde hinzugefügt und akzeptiert als Lambda LazyLayoutItemProvider statt eines einfachen Objekts wie zuvor. Die vorherige Überlastung wurde verworfen. (I42a5a)
  • Füge TvKeyboardAlignment hinzu, damit der Entwickler die Position der Bildschirmtastatur über AndroidImeOptions konfigurieren kann. (Idb772)
  • Füge rememberCarouselState zu TV Compose Material hinzu, um CarouselState mit Saver zu speichern. (ID7275)
  • Der Parameter scrimColor: Color wird in den Parameter scrimBrush:Brush geändert, damit Nutzer dem Gitter 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 wurden veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Stell die Chipkomponenten für „Compose“ für TV-Material vor. (I86da4)
  • Füge die Komponente „ListItem“ zu „TV Compose-Material“ hinzu. (I3f0b3)
  • Füge die Komponente „DenseListItem“ zu „TV Compose Material“ hinzu. (I536bf)

API-Änderungen

  • APIs für öffentliche TV-Materialien wurden als experimentell gekennzeichnet. (I632e7)
  • TabRowScope wurde eingeführt, um den Status der zusammensetzbaren Funktion TabRow mit der zusammensetzbaren Funktion „Tabs“ zu teilen, und TabColors-Properties wurden 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 wurden veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

API-Änderungen

  • Die Skalierungshinweise von Komponenten enthalten jetzt „Keine“, um die Skalierung zu deaktivieren. (I50df5)
  • Lange Klicks werden jetzt für TV Material Surface, Cards und Schaltflächen unterstützt. (Id2b89)
  • CarouselItem und CarouselScope wurden entfernt. Die Animationen für Inhalte im Vordergrund können auf der Folie mit Modifier.animateEnterExit von AnimatedContentScope erstellt werden. (IC038e)
  • Die Parameter color und contentColor wurden als colors für TV Material Surface zusammengeführt. (Ie69eb)
  • Die zusammensetzbare Funktion „RadioButton“ wurde im Bereich „TV-Material“ eingeführt. (I08690)
  • Die zusammensetzbare Funktion „Switch“ wurde im Bereich „TV-Material“ eingeführt. (I45e29)
  • Die zusammensetzbare Funktion „Checkbox“ wurde im Bereich „TV-Material“ eingeführt. (I6a45a)
  • Einführung von nicht austauschbaren Oberflächen im TV-Material (Ic5f85)
  • Machen Sie Angaben 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 wurden veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Neue Funktionen

  • Füge Material 3-Kartenimplementierungen hinzu, die für TV optimiert sind.
    • Basiskarte (I5b701)
    • ClassicCard, CompactCard und WideClassicCard (I70471)
    • StandardCardLayout und WideCardLayout (I33fae)
  • Fügen Sie für das Fernsehen optimierte Implementierungen der Material 3-Schaltfläche hinzu.
    • Standardschaltflä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

  • Schaltfläche für das hintere Steuerkreuz bedienen, wenn NavigationDrawer im Fokus ist. (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 wurden veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

API-Änderungen

  • Neu zusammensetzbare Navigationsleiste in seitlichem Bereich in tv-material. Weitere Informationen zur Verwendung dieser zusammensetzbaren Funktion finden Sie in den Beispielen. (I12c08)
  • Einführung: zusammensetzbare Symbole in TV-Material 3 (I72db9)
  • Neu in tv-material zusammensetzbare Oberfläche mit Hinweisen wie "Rahmen", "Glow" und "Scale", mit denen Komponenten erstellt werden können, mit denen das fokussierte Element auf dem Fernsehbildschirm deutlich hervorgehoben wird. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376)
  • Aktualisieren Sie CarouselItem auf CarouselSlide, damit sie mit dem slideCount-Parameternamen in der Carousel API (Ic4299) übereinstimmen.

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 wurden veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

Neue Funktionen

  • In verzögerten Zeilen, Spalten und Rastern wird der Pivot bei Bedarf überschrieben, damit das gesamte Element sichtbar wird. (11d7e40)
  • Anpassung von Tabfarben für verschiedene Status hinzufügen. (21b2925)
  • Das Karussell akzeptiert jetzt benutzerdefinierte Animationen für das manuelle Vorwärts- und Rückwärtsscrollen. (431494a)

API-Änderungen

  • androidx.tv.material wird in androidx.tv.material3 umbenannt und die Paketstruktur wird unter androidx.tv.material3 vereinfacht. (I6ca52)
  • Der Indikator in der Zeile "Karussell-Anzeiger" ist jetzt eine Anzeigenfläche, die vom Entwickler angepasst werden kann. (268af2a)
  • focusableItem wurde in immersiveListItem umbenannt. Nutzer müssen den Modifizierer focusable() oder clickable() zusammen mit immersiveListItem manuell hinzufügen (5dd5078)(b/263061052).
  • timeToDisplayMillis wurde in der Karussell-Komponente in autoScrollDurationMillis umbenannt. (431494a)
  • CarouselItem kann jetzt nur in Carousel verwendet werden. (431494a)
  • Karussell akzeptiert jetzt ContentTransforms als Animationsdefinition anstelle von EnterTransition und ExitTransitions. (431494a)
  • Es wurde die PinnableContainer API eingeführt, die von Lazy Listen über eine lokale Komposition übertragen wird, mit der aktuelles Element angepinnt werden kann. (Ib8881, b/259274257, b/195049010)
  • Property mainAxisItemSpacing zu TvLazyListLayoutInfo und TvLazyGridLayoutInfo hinzugefügt (I37765)

Fehlerkorrekturen

  • Aktualisieren Sie die Tab-Zeile, um sicherzustellen, dass die Tab-Anzahl von 0 oder 1 korrekt verarbeitet wird. (I44009), (1c01525), (b/264018028)
  • Absturz bei der Fokussuche bei einem leeren TvLazyRow in TvLazyColumn wurde behoben. (e11b4fe), (b/260299091)
  • Der clickable-Modifikator funktioniert jetzt auch mit ImmersiveList. (5dd5078), (b/263061052)
  • Die Taste „Zurück“ wird jetzt verwendet, um das „Empfohlene Karussell“ zu beenden. (84c138c)
  • Das Karussell verliert den Fokus nicht auf mehrere schnelle Tastenbetätigungen. (799489f)
  • Das Karussell verliert den Fokus nicht auf lange Tastendrücke. (b2cf37e)
  • Abstürze beim Ändern der Anzahl der Folien im Karussell wurden behoben. (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 wurden 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 Tab-Zeile hervorgehoben ist.
  • TV-spezifische Anzeigen wie die Unterstreichungsanzeige und die Pillenanzeige sind standardmäßig enthalten. Beispiele für die Verwendung finden Sie unter TV-Beispiele.

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 wurden veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Verbesserte Scrollleistung beim Scrollen durch eine Sammlung von TvLazyRows/TvLazyColumns durch Verkleinerung 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 wurden veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

Die erste Alphaversion umfasst erste Vorschauimplementierungen von Komponenten für TV-Anwendungsfälle, darunter:

  • Der Modifikator scrollableWithPivot wurde hinzugefügt, damit Container ohne Lazy Scrolling wie Zeile, Spalte und Raster durch den scrollbaren Container scrollen können, sodass das im Fokus befindliche Element an derselben Position auf dem Fernsehbildschirm bleibt.
  • Sie können die zusammensetzbaren Funktionen TvLazyRow, TvLazyColumn, TvLazyHorizontalGrid und TvLazyVerticalGrid hinzufügen, damit der scrollbare Container durch den Inhalt scrollt, sodass das fokussierte Element auf dem Fernsehbildschirm an derselben Position bleibt.
  • Hinzufügen einer zusammensetzbaren Funktion für vorgestellte Karussells für TV-Anzeigen, mit der Nutzer ein Bannerkarussell mit automatischem Scrollen erstellen können
  • Hinzufügen einer immersiven Liste für TV, mit der Nutzer immersive Zeilen/Spalten/Raster erstellen können, mit denen der Hintergrund je nach ausgewähltem Listenelement geändert wird.

Bekannte Probleme

  • Wenn der Scroll-Container stärker fokussiert wird, wird standardmäßig nicht das erste Element fokussiert.
  • Wenn Sie den Fokus auf ein TextField-Objekt fokussieren, wird nicht immer die Tastatur geöffnet oder der Fokus kann nicht auf andere Felder verschoben werden.
  • Das vertikale Scrollen in einem LazyColumn, der LazyRows enthält, hat eine schlechte Leistung.