tv
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.
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()
incancelFocusChange()
(I89959) ändernFocusProperties.enter
undFocusProperties.exit
wurden durchonEnter
undonExit
ersetzt. Dabei wird statt des ParametersFocusDirection
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
inSurfaceDefaults
undNonInteractiveSurfaceColors
inSurfaceColors
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
undNavigationDrawerScope
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
undWideButton
sind jetzt stabil (Ib4de8) - Die Komponenten
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
undWideCardContainer
sind jetzt stabil (I34390) StandardCardLayout
inStandardCardContainer
undWideCardLayout
inWideCardContainer
umbenannt (I08883)CardContainerDefaults.ImageCard
wurde entfernt undCardDefaults.ContainerGradient
inCardDefaults.ScrimBrush
(I6adfe) umbenannt. 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
inListItemDefaults.TonalElevation
umbenannt (Id6841). Der ParameterheadlineContent
wurde an den Anfang des Composeables 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 eine solche Funktion selbst erstellen. (Id48da) - tv-material-Komponenten, die eine
MutableInteractionSource
in ihrer API bereitstellen, wurden aktualisiert. Sie stellen jetzt eine nullableMutableInteractionSource
bereit, die standardmäßig auf „null“ gesetzt ist. Hier gibt es keine semantischen Änderungen: Wenn Sie „null“ übergeben, möchten Sie dieMutableInteractionSource
nicht hochladen. Sie wird bei Bedarf innerhalb der Komponente erstellt. Wenn Sie zu „null“ wechseln, wird für einige Komponenten nie eineMutableInteractionSource
zugewiesen. Bei anderen Komponenten wird eine Instanz nur bei Bedarf erstellt, was die Leistung dieser Komponenten insgesamt verbessert. Wenn Sie dieMutableInteractionSource
, 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
undLineBreak
derParagraphTextStyle
eingeführt, der den Wert „–“ ersetzt (I4197e, b/299490814)
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)
- Wenn
contentColor
inSurface
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 inNavigationDrawer
undModalNavigationDrawer
. (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 inNavigationDrawerScope.hasFocus
umbenannt. (I8286b)TabRowScope.isActivated
wurde inTabRowScope.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 vonLazyLayoutItemProvider
, kein einfaches Objekt wie zuvor. Die vorherige Überlastung wird eingestellt. (I42a5a) - Fügen Sie
TvKeyboardAlignment
hinzu, damit der Entwickler die Position der Bildschirmtastatur über dasAndroidImeOptions
konfigurieren kann. (Idb772) - Füge
rememberCarouselState
hinzu, umCarouselState
mitSaver
in „TV-Material erstellen“ zu speichern. (Id7275) - Der Parameter
scrimColor: Color
wurde inscrimBrush: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 vonTabRow
-Komponenten für Tab-Komponenten freizugeben, und Umbenennung vonTabColors
-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
undCarouselScope
wurden entfernt. Die Animation von Inhalten im Vordergrund auf der Folie kann mitModifier.animateEnterExit
vonAnimatedContentScope
erreicht werden. (Ic038e)- Die Parameter
color
undcontentColor
wurden für die TV-Materialoberfläche zucolors
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.
- Fügen Sie für Fernseher optimierte Material 3-Schaltflächen hinzu.
API-Änderungen
CarouselSlide
undslideCount
inCarousel
wurden inCarouselItem
unditemCount
umbenannt. (Ie554c)forward
,backward
undContentTransforms
wurden inStartToEnd
,EndToStart
undContentTransforms
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
inCarouselSlide
, damit der ParameternameslideCount
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
inandroidx.tv.material3
umbenannt und die Paketstruktur unterandroidx.tv.material3
flachgelegt (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
in der Karussellkomponente inautoScrollDurationMillis
umbenannt (431494a)CarouselItem
ist jetzt auf die Verwendung inCarousel
beschränkt. (431494a)- Für Karussells wird jetzt
ContentTransforms
als Animationsdefinition akzeptiert, anstelle vonEnterTransition
undExitTransitions
. (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 zuTvLazyListLayoutInfo
undTvLazyGridLayoutInfo
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 leereTvLazyRow
enthält. (e11b4fe), (b/260299091) - Der
clickable
-Modifikator funktioniert jetzt mitImmersiveList
. (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
undTvLazyVerticalGrid
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
, dasLazyRows
enthält, ist die Leistung schlecht.