tv
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Alpha Release |
---|---|---|---|---|
16 luglio 2025 | 1.0.1 | - | - | 1.1.0-alpha01 |
Dichiarazione di dipendenze
Per aggiungere dipendenze da tv-foundation e tv-material, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti che ti servono nel file build.gradle
per
la tua app o il tuo modulo:
Alla moda
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") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Non sono disponibili note di rilascio per questo artefatto.
Tv-Material Version 1.1
Versione 1.1.0-alpha01
15 gennaio 2025
androidx.tv:tv-material:1.1.0-alpha01
viene ritirata. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche alle API
- Modifica
FocusEnterExitScope.cancelFocus()
incancelFocusChange()
(I89959) FocusProperties.enter
eFocusProperties.exit
sono stati sostituiti rispettivamente daonEnter
eonExit
utilizzando un ambito del destinatario anziché il parametroFocusDirection
. (I6e667)
Correzioni di bug
- È stato spostato
CompositingStrategy.OffScreen
da Superficie a Testo per correggere il testo tremolante durante il ridimensionamento. (I92b15f17) - È stata corretta la gestione della messa a fuoco non funzionante nel carosello (Ie508b721375).
- La superficie (non interattiva) ha un'implementazione semplificata rispetto a quelle interattive. (I7ea545150)
Tv-Material Version 1.0
Versione 1.0.1
16 luglio 2025
androidx.tv:tv-material:1.0.1
viene ritirata. La versione 1.0.1 contiene questi commit.
Correzioni di bug
- È stata aggiornata l'altezza di
NavigationDrawerItem
in modo che corrisponda alle specifiche. (cf9a3ce) - La configurazione della strategia di composizione è stata spostata da Surface composable a Text composable. È stato corretto il bug a causa del quale Exoplayer non veniva visualizzato nei composable Surface nelle versioni precedenti dell'API Android. (9858ffb)
Versione 1.0.0
21 agosto 2024
androidx.tv:tv-material:1.0.0
viene ritirata. La versione 1.0.0 è la prima release stabile di androidx.tv:tv-material
.
Versione 1.0.0-rc02
7 agosto 2024
androidx.tv:tv-material:1.0.0-rc02
viene ritirata. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- È stata corretta l'animazione del testo tremolante in Surface composable. (3163319)
Versione 1.0.0-rc01
10 luglio 2024
androidx.tv:tv-material:1.0.0-rc01
viene ritirata. La versione 1.0.0-rc01 contiene questi commit.
Versione 1.0.0-beta01
1° maggio 2024
androidx.tv:tv-material:1.0.0-beta01
viene ritirata. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
ColorScheme
e le relative funzioni di utilità sono ora stabili. (If34fa)LocalContentColor
è ora stabile (I60ee2)- L'API
Typography
è ora stabile (I088d6) - Le API Shapes sono ora stabili (I0f5f4)
- L'API Border è ora stabile (I69281)
- L'API Glow è ora stabile (Iea5f1)
- Il componente Icona è ora stabile (I62c2d)
- L'API
LocalTextStyles
è ora stabile (Iaded8) - L'API
MaterialTheme
è ora stabile (I2f541) - Il componente di testo è ora stabile (Ib9e31)
- Il componente
RadioButton
è ora stabile (Ia03c8) - Il componente Interruttore è ora stabile (I6cea3)
- I componenti
Checkbox
sono ora stabili (I7eafc) - I componenti di Surface sono ora stabili (I58758, I04aca)
NonInteractiveSurfaceDefaults
rinominato inSurfaceDefaults
eNonInteractiveSurfaceColors
inSurfaceColors
(I0812e)- Ora la superficie selezionabile utilizza il termine "seleziona" anziché "controlla" perché hanno entrambi significati semantici diversi (I5a206).
NavigationDrawer
eNavigationDrawerScope
ora sono stabili (I249c1)- Il componente
NavigationDrawerItem
è ora stabile (Id6986) - I componenti Scheda e
TabRow
sono ora stabili (I92d92) - I componenti
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
eWideButton
sono ora stabili (Ib4de8) - I componenti
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
eWideCardContainer
sono ora stabili (I34390) StandardCardLayout
rinominato inStandardCardContainer
eWideCardLayout
rinominato inWideCardContainer
(I08883)CardContainerDefaults.ImageCard
è stato rimosso eCardDefaults.ContainerGradient
è stato rinominato inCardDefaults.ScrimBrush
(I6adfe). Puoi utilizzareCard
al posto diCardContainerDefaults.ImageCard
nei contenitori delle carte.ListItem
eDenseListItem
ora sono stabili (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
eListItemDefaults.SelectedContainerColorOpacity
sono ora privati (I5d533)- Sono stati riorganizzati i parametri di
ListItem
eListItemDefaults.ListItemElevation
è stato rinominato inListItemDefaults.TonalElevation
(Id6841). Il parametroheadlineContent
è stato spostato nella parte superiore del componente componibile. In precedenza, potevi utilizzare la sintassi lambda finale di Kotlin per passareheadlineContent
. Ora dovrai utilizzare la sintassi dei parametri denominati per fornireheadlineContent
. LocalAbsoluteTonalElevation
è ora interno (Ibfc65)- Il componente
ImmersiveList
è stato rimosso. Dai un'occhiata a questo esempio per scoprire come realizzarlo. (Id48da) - I componenti tv-material che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
che accetta valori Null e il cui valore predefinito è Null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevareMutableInteractionSource
e verrà creato all'interno del componente, se necessario. Se viene impostato su null, alcuni componenti non allocano mai unMutableInteractionSource
, mentre altri creano un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I309b4, b/298048146) - Il parametro
TextAlign
del componente TV Text ora non è nullo (Ib73b1, b/299490814) - È stato introdotto un valore speciale Non specificato per i campi
TextAlign
,TextDirection
,Hyphens
eLineBreak
diParagraphTextStyle
da sostituire (I4197e, b/299490814)
Modifiche al comportamento
- Il valore predefinito del parametro
shape
perSurface
non interattivo è stato modificato inRectangleShape
(I1b859cb) - Alcune funzionalità del carosello sono state eliminate per il lancio della versione beta perché le API necessarie sono sperimentali (I0e755d4)
- La modifica di
contentColor
inSurface
non viene più animata tra gli stati (I436e794f)
Versione 1.0.0
Versione 1.0.0-alpha12
15 gennaio 2025
androidx.tv:tv-foundation:1.0.0-alpha12
viene ritirata. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche alle API
- Pulizia dei layout pigri da tv-foundation. Consulta le note di rilascio della versione 1.0.0-alpha11 per eseguire la migrazione dai layout pigri di tv-foundation. (I2fdd3, b/358913893)
Versione 1.0.0-alpha11
10 luglio 2024
androidx.tv:tv-foundation:1.0.0-alpha11
viene ritirata. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- I layout pigri TV sono stati ritirati dalla libreria tv-foundation. Consulta questo ticket per scoprire come eseguire la migrazione dai layout pigri della TV. (I0855f, b/332674072)
PlatformImeOptions
ora è una classe concreta anziché un'interfaccia. (If40a4)
Versione 1.0.0-alpha10
4 ottobre 2023
androidx.tv:tv-foundation:1.0.0-alpha10
e androidx.tv:tv-material:1.0.0-alpha10
sono stati rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- È stato introdotto
NavigationDrawerItem
da utilizzare inNavigationDrawer
eModalNavigationDrawer
. (I4b491) - Aggiungi il profilo di base alla libreria tv-foundation. (2b57fd7)
- Aggiungi il profilo di base alla libreria tv-material. (1711ff5)
Modifiche alle API
NavigationDrawerScope.doesTabRowHaveFocus
rinominato inNavigationDrawerScope.hasFocus
. (I8286b)TabRowScope.isActivated
rinominato inTabRowScope.hasFocus
. (Ic4273)
Correzioni di bug
- Correggi la compatibilità di Carousel con gli elementi adiacenti che utilizzano le API di ripristino dello stato attivo. (7b2a7a4)
- Disattiva l'indicatore di bagliore per API_LEVEL inferiore a 28, in quanto non è supportato dal sistema operativo. (6d3616f)
- Correzione dell'arresto anomalo ANR causato dal posizionamento errato degli elementi nei contenitori lazy durante lo scorrimento rapido in direzione inversa. (642d65c)
- Rimozione del padding dello sfondo nel riquadro di navigazione modale. (69965b2)
- Correggi la sfumatura nel riquadro di navigazione a scomparsa in modo che venga disegnata sopra i contenuti di sfondo anziché dietro. (d4bbefb)
Versione 1.0.0-alpha09
6 settembre 2023
androidx.tv:tv-foundation:1.0.0-alpha09
e androidx.tv:tv-material:1.0.0-alpha09
sono stati rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
- Aggiungi l'interfaccia
ReusableComposition
per gestire il ciclo di vita e il riutilizzo delle sottocomposizioni. (I812d1, b/252846775) - Sincronizza il fork tv-foundation con compose-foundation. (I737c3, b/287011882)
- È stato aggiunto l'overload di
LazyLayout
, che accetta una lambda diLazyLayoutItemProvider
, non un oggetto semplice come in precedenza. Il precedente sovraccarico è stato ritirato. (I42a5a) - Aggiungi
TvKeyboardAlignment
per consentire allo sviluppatore di configurare la posizione della tastiera sullo schermo tramiteAndroidImeOptions
. (Idb772) - Aggiungi
rememberCarouselState
per ricordareCarouselState
conSaver
a TV Compose Material. (Id7275) - Modifica del parametro
scrimColor: Color
inscrimBrush:Brush
per consentire agli utenti di aggiungere sfumature alla protezione. (I254d4)
Versione 1.0.0-alpha08
26 luglio 2023
androidx.tv:tv-foundation:1.0.0-alpha08
e androidx.tv:tv-material:1.0.0-alpha08
sono stati rilasciati. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Introduci i componenti Chip per i contenuti di Compose per TV. (I86da4)
- Aggiungi il componente
ListItem
al materiale di composizione TV. (I3f0b3) - Aggiungi il componente
DenseListItem
al materiale di composizione TV. (I536bf)
Modifiche alle API
- Le API per i materiali TV pubblici sono state contrassegnate come sperimentali. (I632e7)
- È stato introdotto
TabRowScope
per condividere lo stato del composableTabRow
con il composable Tab e sono state rinominate le proprietàTabColors
. (Ief587)
Versione 1.0.0-alpha07
7 giugno 2023
androidx.tv:tv-foundation:1.0.0-alpha07
e androidx.tv:tv-material:1.0.0-alpha07
sono stati rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- Le indicazioni di scala dei componenti ora includono Nessuno per disattivare il ridimensionamento. (I50df5)
- Aggiunto il supporto del clic prolungato per la superficie Material TV, le schede e i pulsanti. (Id2b89)
CarouselItem
eCarouselScope
sono stati rimossi. L'animazione dei contenuti in primo piano può essere ottenuta nella slide utilizzandoModifier.animateEnterExit
daAnimatedContentScope
. (Ic038e)- Uniti i parametri
color
econtentColor
comecolors
per la superficie TV Material. (Ie69eb) - È stato introdotto il composable
RadioButton
in TV Material. (I08690) - È stato introdotto il composable
Switch
in TV Material. (I45e29) - È stato introdotto il composable
Checkbox
in TV Material. (I6a45a) - È stata introdotta una superficie non interattiva in Materiale TV. (Ic5f85)
- Rendi interne le indicazioni. (Ibff82)
Versione 1.0.0-alpha06
19 aprile 2023
androidx.tv:tv-foundation:1.0.0-alpha06
e androidx.tv:tv-material:1.0.0-alpha06
sono stati rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Aggiungi implementazioni di schede Material 3 ottimizzate per la TV.
- Aggiungi implementazioni del pulsante Material 3 ottimizzate per la TV.
Modifiche alle API
CarouselSlide
eslideCount
inCarousel
sono stati rinominati inCarouselItem
eitemCount
. (Ie554c)forward
ebackward
ContentTransforms
rinominati inStartToEnd
eEndToStart
. (Ie554c)
Correzioni di bug
- Gestisci il pulsante D-pad Indietro quando lo stato attivo è impostato su
NavigationDrawer
. (d654f4)
Versione 1.0.0-alpha05
22 marzo 2023
androidx.tv:tv-foundation:1.0.0-alpha05
e androidx.tv:tv-material:1.0.0-alpha05
sono stati rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Ti presentiamo il componente componibile del riquadro di navigazione laterale in
tv-material
. Per scoprire come utilizzare questo elemento componibile, consulta gli esempi. (I12c08) - Introduzione del composable Icon in TV Material 3 (I72db9)
- Introduzione di Surface composable a
tv-material
con indicazioni come Bordo, Bagliore e Scala, che possono essere utilizzate per creare componenti che evidenziano chiaramente l'elemento selezionato sullo schermo della TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Aggiorna
CarouselItem
aCarouselSlide
in modo che corrisponda al nome del parametroslideCount
nell'API "Carosello" (Ic4299)
Versione 1.0.0-alpha04
8 febbraio 2023
androidx.tv:tv-foundation:1.0.0-alpha04
e androidx.tv:tv-material:1.0.0-alpha04
sono stati rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Nelle righe, nelle colonne e nelle griglie pigre, il pivot viene sostituito, se necessario, per garantire che l'intero elemento venga visualizzato. (11d7e40)
- Aggiungi la personalizzazione dei colori delle schede in diversi stati. (21b2925)
- Il carosello ora accetta animazioni personalizzate per lo scorrimento manuale in avanti e indietro. (431494a)
Modifiche alle API
- Ridenominazione di
androidx.tv.material
inandroidx.tv.material3
e appiattimento della struttura del pacchetto inandroidx.tv.material3
. (I6ca52) - L'indicatore all'interno della riga Indicatore carosello ora è uno spazio che può essere personalizzato dallo sviluppatore. (268af2a)
focusableItem
rinominato inimmersiveListItem
. Gli utenti dovranno aggiungere manualmente il modificatorefocusable()
oclickable()
insieme aimmersiveListItem
(5dd5078)(b/263061052)- È stato rinominato
timeToDisplayMillis
inautoScrollDurationMillis
nel componente Carosello. (431494a) - Ora l'utilizzo di
CarouselItem
è limitato aCarousel
. (431494a) - Il carosello ora accetta
ContentTransforms
come definizione dell'animazione anzichéEnterTransition
eExitTransitions
. (431494a) - È stata introdotta l'API
PinnableContainer
propagata da elenchi pigri tramite un composizione locale che consente di bloccare l'elemento corrente. (Ib8881, b/259274257, b/195049010) - Aggiunta della proprietà
mainAxisItemSpacing
aTvLazyListLayoutInfo
eTvLazyGridLayoutInfo
(I37765)
Correzioni di bug
- Aggiorna la riga delle schede per assicurarti che gestisca correttamente il conteggio delle schede pari a 0 o 1. (I44009), (1c01525), (b/264018028)
- Correzione dell'arresto anomalo della ricerca con messa a fuoco quando
TvLazyColumn
contieneTvLazyRow
vuoto. (e11b4fe), (b/260299091) - Il modificatore
clickable
ora funziona conImmersiveList
. (5dd5078), (b/263061052) - Il tasto Indietro ora viene gestito e utilizzato per uscire dal carosello in primo piano. (84c138c)
- Il carosello non perde la messa a fuoco in caso di pressione rapida di più tasti. (799489f)
- Il carosello non perde la messa a fuoco durante le pressioni prolungate dei tasti. (b2cf37e)
- Risolti arresti anomali quando cambia il conteggio delle slide del carosello. (b261247)
Versione 1.0.0-alpha03
7 dicembre 2022
androidx.tv:tv-foundation:1.0.0-alpha03
e androidx.tv:tv-material:1.0.0-alpha03
sono stati rilasciati. La versione 1.0.0-alpha03 contiene questi commit.
Nuove funzionalità
TabRow
è ora disponibile come API sperimentale che consente agli utenti di aggiungere barre di navigazione in alto alle proprie app. In genere, i dispositivi TV si aspettano che le schede vengano caricate quando il titolo della scheda è selezionato nella riga delle schede.- Gli indicatori specifici per la TV, come l'indicatore di sottolineatura e l'indicatore a pillola, sono disponibili immediatamente. Esempi di utilizzo sono disponibili in tv-samples
Versione 1.0.0-alpha02
9 novembre 2022
androidx.tv:tv-foundation:1.0.0-alpha02
e androidx.tv:tv-material:1.0.0-alpha02
sono stati rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Miglioramento delle prestazioni di scorrimento durante lo scorrimento di una raccolta di
TvLazyRows/TvLazyColumns
riducendo lo spazio di ricerca della messa a fuoco.(I723a3)
Versione 1.0.0-alpha01
5 ottobre 2022
androidx.tv:tv-foundation:1.0.0-alpha01
e androidx.tv:tv-material:1.0.0-alpha01
sono stati rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
La prima versione alpha contiene implementazioni di anteprima dei componenti per i casi d'uso della TV, tra cui:
- Aggiunta del modificatore
scrollableWithPivot
per consentire ai contenitori di scorrimento non pigro, come Riga, Colonna e Griglia, di scorrere i contenuti in modo che l'elemento selezionato rimanga nella stessa posizione sullo schermo della TV. - Aggiunta dei composable
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
per fare in modo che il contenitore di scorrimento scorra i contenuti in modo che l'elemento in primo piano rimanga nella stessa posizione sullo schermo della TV. - Aggiunta del componente componibile Carosello in primo piano per la TV che consente all'utente di creare un carosello di banner a scorrimento automatico.
- Aggiunta del componente componibile Elenco immersivo per la TV che consente all'utente di creare una riga, una colonna o una griglia immersiva che cambia lo sfondo in base all'elemento di elenco in primo piano.
Problemi noti
- Quando il contenitore di scorrimento acquisisce lo stato attivo, il primo elemento non lo acquisisce per impostazione predefinita.
- Se ti concentri su un
TextField
, la tastiera non si apre sempre o la messa a fuoco non si sposta su altri campi. - Lo scorrimento verticale in un
LazyColumn
contenenteLazyRows
ha un rendimento scarso.