tv
Aggiornamento più recente | Release stabile | Candidato per l'uscita | Versione beta | Release alpha |
---|---|---|---|---|
7 agosto 2024 | - | 1.0.0-rc02 | - | - |
Dichiarazione delle dipendenze
Per aggiungere dipendenze su tv-foundation e tv-material, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle
per
l'app o il modulo:
Trendy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha11" implementation "androidx.tv:tv-material:1.0.0-rc02" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha11") implementation("androidx.tv:tv-material:1.0.0-rc02") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.
Consulta la documentazione di Issue Tracker per ulteriori informazioni.
Nessuna nota di rilascio per questo elemento.
Versione materiale TV 1.0
Versione 1.0.0-rc02
7 agosto 2024
Viene rilasciato androidx.tv:tv-material:1.0.0-rc02
. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- È stata corretta l'animazione del testo tremolante nel componibile di Surface. (3163319)
Versione 1.0.0-rc01
10 luglio 2024
Viene rilasciato androidx.tv:tv-material:1.0.0-rc01
. La versione 1.0.0-rc01 contiene questi commit.
Versione 1.0.0-beta01
1° maggio 2024
Viene rilasciato androidx.tv:tv-material:1.0.0-beta01
. La versione 1.0.0-beta01 contiene questi commit.
Modifiche alle API
ColorScheme
e le sue funzioni di utilità ora sono 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 Switch è ora stabile (I6cea3)
- I componenti di
Checkbox
sono ora stabili (I7eafc) - I componenti di Surface ora sono stabili (I58758, I04aca)
NonInteractiveSurfaceDefaults
è stato rinominato inSurfaceDefaults
eNonInteractiveSurfaceColors
inSurfaceColors
(I0812e)- Selezionabile ora utilizza la terminologia "select" anziché "check" perché entrambe hanno un significato semantico diverso (I5a206)
NavigationDrawer
eNavigationDrawerScope
ora sono stabili (I249c1)- Il componente
NavigationDrawerItem
è ora stabile (Id6986) - I componenti Tab e
TabRow
sono ora stabili (I92d92) - I componenti
Button
,OutlinedButton
,IconButton
,OutlinedIconButton
eWideButton
sono ora stabili (Ib4de8) Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
e I componentiWideCardContainer
sono ora stabili (I34390)StandardCardLayout
è stato rinominato inStandardCardContainer
eWideCardLayout
inWideCardContainer
(I08883)- È stato rimosso
CardContainerDefaults.ImageCard
e rinominatoCardDefaults.ContainerGradient
inCardDefaults.ScrimBrush
(I6adfe). Puoi utilizzareCard
al posto diCardContainerDefaults.ImageCard
nei contenitori delle tue schede. ListItem
eDenseListItem
ora sono stabili (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
e OraListItemDefaults.SelectedContainerColorOpacity
sono privati (I5d533)- Sono stati riordinati i parametri e le impostazioni di
ListItem
ha rinominatoListItemDefaults.ListItemElevation
inListItemDefaults.TonalElevation
(Id6841). Il parametroheadlineContent
è stato spostato nella parte superiore del componibile. In precedenza, potevi utilizzare la sintassi lambda finale di Kotlin per passareheadlineContent
. A questo punto, devi utilizzare la sintassi dei parametri denominati per fornire l'headlineContent
. LocalAbsoluteTonalElevation
è ora interno (Ibfc65)- Il componente
ImmersiveList
è stato rimosso. Guarda questo esempio per scoprire come crearlo in autonomia. (ID48da) - I componenti tv-material che mostrano un
MutableInteractionSource
nella relativa API sono stati aggiornati per esporre un valoreMutableInteractionSource
nullo per impostazione predefinita. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issareMutableInteractionSource
e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valoreMutableInteractionSource
che passi a questi componenti, ti consigliamo di trasmettere un valore nullo. È inoltre consigliabile apportare modifiche simili nei tuoi componenti. (I309b4, b/298048146) - Il parametro
TextAlign
del componente TV Text ora è diverso da null (Ib73b1, b/299490814) - Introdotto un valore speciale non specificato per i campi
TextAlign
,TextDirection
,Hyphens
eLineBreak
della classeParagraphTextStyle
da sostituire (I4197e, b/299490814)
Variazioni del comportamento
- Il valore predefinito del parametro
shape
per la campagnaSurface
non interattiva è stato modificato inRectangleShape
(I1b859cb) - Alcune funzionalità carosello sono state eliminate per il lancio della versione beta perché le API necessarie sono sperimentali (I0e755d4)
- La modifica di
contentColor
inSurface
non comporta più l'animazione tra gli stati (I436e794f)
Versione 1.0.0
Versione 1.0.0-alpha11
10 luglio 2024
Viene rilasciato androidx.tv:tv-foundation:1.0.0-alpha11
. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche alle API
- La funzionalità Lazy Layout per TV è stata ritirata dalla libreria di base per la TV. Consulta questo ticket per scoprire come abbandonare i layout lenti per la TV. (I0855f, b/332674072)
PlatformImeOptions
è ora una classe concreta anziché un'interfaccia. (If40a4).
Versione 1.0.0-alpha10
4 ottobre 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha10
e androidx.tv:tv-material:1.0.0-alpha10
. 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 di base TV. (2b57fd7)
- Aggiungi il profilo di riferimento alla raccolta TV-materiale. (1711ff5)
Modifiche alle API
NavigationDrawerScope.doesTabRowHaveFocus
rinominato inNavigationDrawerScope.hasFocus
. (I8286b)TabRowScope.isActivated
rinominato inTabRowScope.hasFocus
. (Ic4273)
Correzioni di bug
- Correggi la compatibilità del carosello con elementi adiacenti che utilizzano API per il ripristino dello stato attivo. (7b2a7a4).
- Disattiva l'indicazione del bagliore per API_LEVEL inferiore a 28 poiché non è supportata dal sistema operativo. (6d3616f)
- È stato corretto l'arresto anomalo dell'errore ANR causato dal posizionamento errato degli elementi nei contenitori lenti durante lo scorrimento rapido in senso inverso. (642d65c)
- Rimossa la spaziatura interna dello sfondo nel riquadro di navigazione modale. (69965b2)
- Correggi lo schermo nel riquadro di navigazione a scomparsa in modo che venga tracciato sopra i contenuti dello sfondo anziché dietro. (d4bbefb)
Versione 1.0.0-alpha09
6 settembre 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha09
e androidx.tv:tv-material:1.0.0-alpha09
. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche alle API
- Aggiungi l'interfaccia
ReusableComposition
per la gestione del ciclo di vita e il riutilizzo delle sottocomposizioni. (I812d1, b/252846775) - Sincronizza il fork di base TV con gli elementi di base per la scrittura. (I737c3, b/287011882)
- Aggiunto un sovraccarico di
LazyLayout
, accetta una funzione lambda diLazyLayoutItemProvider
, non un oggetto semplice come era prima. L'overload precedente è deprecato. (I42a5a) - Aggiungi
TvKeyboardAlignment
per consentire allo sviluppatore di configurare la posizione della tastiera sullo schermo tramiteAndroidImeOptions
. (Idb772) - Aggiungi
rememberCarouselState
per ricordareCarouselState
conSaver
al materiale di composizione TV. (ID7275) - Il parametro
scrimColor: Color
viene impostato suscrimBrush:Brush
per consentire agli utenti di aggiungere sfumature alla tela. (I254d4)
Versione 1.0.0-alpha08
26 luglio 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha08
e androidx.tv:tv-material:1.0.0-alpha08
. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Illustra i componenti chip per Compose per il materiale TV. (I86da4)
- Aggiungi il componente
ListItem
al materiale di composizione TV. (I3f0b3) - Aggiungi un componente
DenseListItem
al materiale di composizione TV. (I536bf)
Modifiche alle API
- Le API pubbliche relative ai materiali per la TV sono state contrassegnate come sperimentali. (I632e7)
TabRowScope
è stato introdotto per condividere lo stato daTabRow
componibile con Tab componibile e ha rinominato le proprietàTabColors
. (Ief587)
Versione 1.0.0-alpha07
7 giugno 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha07
e androidx.tv:tv-material:1.0.0-alpha07
. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche alle API
- Le indicazioni della scala dei componenti ora includono Nessuno per disabilitare la scalabilità. (I50df5)
- È stato aggiunto il supporto dei clic lunghi per Material Surface, schede e pulsanti per la TV. (ID2b89)
CarouselItem
eCarouselScope
sono stati rimossi. Puoi creare l'animazione dei contenuti in primo piano nella slide utilizzandoModifier.animateEnterExit
diAnimatedContentScope
. (Ic038e)- Sono stati uniti i parametri
color
econtentColor
comecolors
per TV Material Surface. (Ie69eb) - È stato introdotto il componibile
RadioButton
nel materiale TV. (I08690) - È stato introdotto il componibile
Switch
nel materiale TV. (I45e29). - È stato introdotto il componibile
Checkbox
nel materiale TV. (I6a45a) - È stata introdotta una superficie non interattiva nel materiale TV. (Ic5f85).
- Inserisci le indicazioni all'interno. (Ibff82)
Versione 1.0.0-alpha06
19 aprile 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha06
e androidx.tv:tv-material:1.0.0-alpha06
. 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
sono stati rinominati inStartToEnd
eEndToStart
. (Ie554c).
Correzioni di bug
- Gestisci il pulsante indietro del D-pad quando lo stato attivo è
NavigationDrawer
. (D654f4)
Versione 1.0.0-alpha05
22 marzo 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha05
e androidx.tv:tv-material:1.0.0-alpha05
. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche alle API
- Introduzione del riquadro di navigazione laterale componibile in
tv-material
. Per scoprire come utilizzare questo componibile, consulta gli esempi. (I12c08) - Presenta l'icona componibile in TV Material 3 (I72db9)
- Introduzione di Surface componibile in
tv-material
con indicazioni come Bordo, Incandescenza e Scala, che possono essere utilizzate per creare componenti che mettano chiaramente in evidenza l'elemento attivo sullo schermo della TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Aggiorna
CarouselItem
aCarouselSlide
affinché corrisponda al nome del parametroslideCount
in "Carosello" API (Ic4299)
Versione 1.0.0-alpha04
8 febbraio 2023
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha04
e androidx.tv:tv-material:1.0.0-alpha04
. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- In righe, colonne e griglie lazy, viene eseguito l'override del pivot, 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 avanti e indietro. (431494a)
Modifiche alle API
- Ridenominazione di
androidx.tv.material
inandroidx.tv.material3
e suddivisione della struttura del pacchetto inandroidx.tv.material3
. (I6ca52). - L'indicatore nella riga dell'indicatore del carosello è ora un'area che può essere personalizzata dallo sviluppatore. (268af2a)
focusableItem
rinominato inimmersiveListItem
. Gli utenti dovranno aggiungere manualmente il modificatorefocusable()
oclickable()
oltre al modificatoreimmersiveListItem
(5dd5078)(b/263061052)timeToDisplayMillis
rinominato inautoScrollDurationMillis
nel componente Carousel. (431494a)- Ora l'uso di
CarouselItem
è limitato a quello diCarousel
. (431494a) - Ora il carosello accetta
ContentTransforms
come definizione dell'animazione anzichéEnterTransition
eExitTransitions
. (431494a) - È stata introdotta l'API
PinnableContainer
propagata da elenchi lazy tramite una composizione locale che consente di bloccare l'elemento corrente. (Ib8881, b/259274257, b/195049010) - Proprietà
mainAxisItemSpacing
aggiunta aTvLazyListLayoutInfo
eTvLazyGridLayoutInfo
(I37765)
Correzioni di bug
- Aggiorna tab-row per assicurarti che gestisca correttamente il conteggio delle schede pari a 0 o 1. (I44009), (1c01525), (b/264018028)
- Correggi l'arresto anomalo della ricerca attiva quando
TvLazyColumn
contieneTvLazyRow
vuoto. (e11b4fe), (b/260299091) - Il modificatore
clickable
ora funziona conImmersiveList
. (5dd5078), (b/263061052) - Il tasto Indietro viene ora gestito e utilizzato per uscire dal carosello in primo piano. (84c138c)
- Il carosello non perde lo stato attivo quando viene premuto più velocemente un tasto. (799489f)
- Il carosello non perde lo stato attivo alla pressione prolungata dei tasti. (b2cf37e)
- Risolto l'arresto anomalo quando il numero di slide del carosello cambia. (B261247)
Versione 1.0.0-alpha03
7 dicembre 2022
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha03
e androidx.tv:tv-material:1.0.0-alpha03
. 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 nella parte superiore delle proprie app. In genere, i dispositivi TV si aspettano che le schede vengano caricate quando il titolo della scheda è attivo nella riga di schede.- Gli indicatori specifici per la TV, come l'indicatore di sottolineatura e l'indicatore della pillola, sono già pronti. Esempi di utilizzo sono disponibili in tv-samples
Versione 1.0.0-alpha02
9 novembre 2022
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha02
e androidx.tv:tv-material:1.0.0-alpha02
. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- È stata migliorata l'esecuzione dello scorrimento durante lo scorrimento di una raccolta di
TvLazyRows/TvLazyColumns
grazie alla riduzione dello spazio di ricerca attivo.(I723a3)
Versione 1.0.0-alpha01
5 ottobre 2022
Vengono rilasciate le versioni androidx.tv:tv-foundation:1.0.0-alpha01
e androidx.tv:tv-material:1.0.0-alpha01
. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
La prima versione alpha contiene le implementazioni in anteprima dei componenti per i casi d'uso della TV, tra cui:
- Aggiunta del modificatore
scrollableWithPivot
per consentire ai contenitori di scorrimento non lento, come riga, colonna e griglia, che il contenitore di scorrimento scorra i contenuti in modo che l'elemento attivo rimanga nella stessa posizione sullo schermo della TV. - Aggiungi gli elementi componibili
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
eTvLazyVerticalGrid
per fare in modo che il contenitore a scorrimento scorra i contenuti in modo che l'elemento attivo rimanga nella stessa posizione sullo schermo della TV. - Aggiunta di un carosello in primo piano componibile per la TV che consente all'utente di creare un carosello di banner a scorrimento automatico.
- Aggiunta di un elenco immersivo componibile per la TV che consente all'utente di creare una riga/colonna/griglia immersiva che cambia lo sfondo in base all'elemento dell'elenco attivo.
Problemi noti
- Quando il contenitore a scorrimento diventa attivo, il primo elemento non viene attivato per impostazione predefinita.
- L'impostazione dello stato attivo su un
TextField
non apre sempre la tastiera o può impedire lo spostamento dello stato attivo su altri campi. - Lo scorrimento verticale in un elemento
LazyColumn
contenenteLazyRows
ha un rendimento scarso.