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.entereFocusProperties.exitsono stati sostituiti rispettivamente daonEntereonExitutilizzando un ambito del destinatario anziché il parametroFocusDirection. (I6e667)
Correzioni di bug
- È stato spostato
CompositingStrategy.OffScreenda 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
NavigationDrawerItemin 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
ColorSchemee 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
Checkboxsono ora stabili (I7eafc) - I componenti di Surface sono ora stabili (I58758, I04aca)
NonInteractiveSurfaceDefaultsrinominato inSurfaceDefaultseNonInteractiveSurfaceColorsinSurfaceColors(I0812e)- Ora la superficie selezionabile utilizza il termine "seleziona" anziché "controlla" perché hanno entrambi significati semantici diversi (I5a206).
NavigationDrawereNavigationDrawerScopeora sono stabili (I249c1)- Il componente
NavigationDrawerItemè ora stabile (Id6986) - I componenti Scheda e
TabRowsono ora stabili (I92d92) - I componenti
Button,OutlinedButton,IconButton,OutlinedIconButtoneWideButtonsono ora stabili (Ib4de8) - I componenti
Card,ClassicCard,CompactCard,WideClassicCard,StandardCardContainereWideCardContainersono ora stabili (I34390) StandardCardLayoutrinominato inStandardCardContainereWideCardLayoutrinominato inWideCardContainer(I08883)CardContainerDefaults.ImageCardè stato rimosso eCardDefaults.ContainerGradientè stato rinominato inCardDefaults.ScrimBrush(I6adfe). Puoi utilizzareCardal posto diCardContainerDefaults.ImageCardnei contenitori delle carte.ListItemeDenseListItemora sono stabili (Idebd9)ListItemDefaults.ListItemShape,ListItemDefaults.FocusedDisabledBordereListItemDefaults.SelectedContainerColorOpacitysono ora privati (I5d533)- Sono stati riorganizzati i parametri di
ListItemeListItemDefaults.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
MutableInteractionSourcenella loro API sono stati aggiornati in modo da esporre unMutableInteractionSourceche accetta valori Null e il cui valore predefinito è Null. Non sono state apportate modifiche semantiche: il passaggio di null significa che non vuoi sollevareMutableInteractionSourcee 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 utilizziMutableInteractionSourceche trasmetti a questi componenti, ti consigliamo di trasmettere null. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti. (I309b4, b/298048146) - Il parametro
TextAligndel componente TV Text ora non è nullo (Ib73b1, b/299490814) - È stato introdotto un valore speciale Non specificato per i campi
TextAlign,TextDirection,HyphenseLineBreakdiParagraphTextStyleda sostituire (I4197e, b/299490814)
Modifiche al comportamento
- Il valore predefinito del parametro
shapeperSurfacenon 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
contentColorinSurfacenon 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)
PlatformImeOptionsora è 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
NavigationDrawerItemda utilizzare inNavigationDrawereModalNavigationDrawer. (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.doesTabRowHaveFocusrinominato inNavigationDrawerScope.hasFocus. (I8286b)TabRowScope.isActivatedrinominato 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
ReusableCompositionper 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
TvKeyboardAlignmentper consentire allo sviluppatore di configurare la posizione della tastiera sullo schermo tramiteAndroidImeOptions. (Idb772) - Aggiungi
rememberCarouselStateper ricordareCarouselStateconSavera TV Compose Material. (Id7275) - Modifica del parametro
scrimColor: ColorinscrimBrush:Brushper 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
ListItemal materiale di composizione TV. (I3f0b3) - Aggiungi il componente
DenseListItemal materiale di composizione TV. (I536bf)
Modifiche alle API
- Le API per i materiali TV pubblici sono state contrassegnate come sperimentali. (I632e7)
- È stato introdotto
TabRowScopeper condividere lo stato del composableTabRowcon 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)
CarouselItemeCarouselScopesono stati rimossi. L'animazione dei contenuti in primo piano può essere ottenuta nella slide utilizzandoModifier.animateEnterExitdaAnimatedContentScope. (Ic038e)- Uniti i parametri
colorecontentColorcomecolorsper la superficie TV Material. (Ie69eb) - È stato introdotto il composable
RadioButtonin TV Material. (I08690) - È stato introdotto il composable
Switchin TV Material. (I45e29) - È stato introdotto il composable
Checkboxin 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
CarouselSlideeslideCountinCarouselsono stati rinominati inCarouselItemeitemCount. (Ie554c)forwardebackwardContentTransformsrinominati inStartToEndeEndToStart. (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-materialcon 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
CarouselItemaCarouselSlidein modo che corrisponda al nome del parametroslideCountnell'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.materialinandroidx.tv.material3e 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)
focusableItemrinominato inimmersiveListItem. Gli utenti dovranno aggiungere manualmente il modificatorefocusable()oclickable()insieme aimmersiveListItem(5dd5078)(b/263061052)- È stato rinominato
timeToDisplayMillisinautoScrollDurationMillisnel componente Carosello. (431494a) - Ora l'utilizzo di
CarouselItemè limitato aCarousel. (431494a) - Il carosello ora accetta
ContentTransformscome definizione dell'animazione anzichéEnterTransitioneExitTransitions. (431494a) - È stata introdotta l'API
PinnableContainerpropagata da elenchi pigri tramite un composizione locale che consente di bloccare l'elemento corrente. (Ib8881, b/259274257, b/195049010) - Aggiunta della proprietà
mainAxisItemSpacingaTvLazyListLayoutInfoeTvLazyGridLayoutInfo(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
TvLazyColumncontieneTvLazyRowvuoto. (e11b4fe), (b/260299091) - Il modificatore
clickableora 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/TvLazyColumnsriducendo 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
scrollableWithPivotper 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,TvLazyVerticalGridper 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
LazyColumncontenenteLazyRowsha un rendimento scarso.