tv
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
15 gennaio 2025 | 1.0.0 | - | - | 1.1.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere dipendenze da tv-foundation e tv-material, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Alla moda
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") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.
Non sono disponibili note di rilascio per questo elemento.
Tv-Material Version 1.1
Versione 1.1.0-alpha01
15 gennaio 2025
androidx.tv:tv-material:1.1.0-alpha01
viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.
Modifiche all'API
- Modifica
FocusEnterExitScope.cancelFocus()
incancelFocusChange()
(I89959) FocusProperties.enter
eFocusProperties.exit
sono stati sostituiti rispettivamente cononEnter
eonExit
utilizzando un ambito del destinatario anziché il parametroFocusDirection
. (I6e667)
Correzioni di bug
CompositingStrategy.OffScreen
è stato spostato da Superficie a Testo per correggere il tremolio del testo durante la scalatura. (I92b15f17)- È stata corretta la gestione non funzionante della messa a fuoco nel carosello (Ie508b721375)
- La superficie (non interattiva) ha un'implementazione semplificata rispetto a quella delle superfici interattive. (I7ea545150)
Tv-Material Version 1.0
Versione 1.0.0
21 agosto 2024
androidx.tv:tv-material:1.0.0
viene rilasciato. 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 rilasciato. La versione 1.0.0-rc02 contiene questi commit.
Correzioni di bug
- È stata corretta l'animazione del testo a scatti nel componente composable della piattaforma Surface. (3163319)
Versione 1.0.0-rc01
10 luglio 2024
androidx.tv:tv-material:1.0.0-rc01
viene rilasciato. 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 rilasciato. La versione 1.0.0-beta01 contiene questi commit.
Modifiche all'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 Switch ora è stabile (I6cea3)
- I componenti
Checkbox
ora sono stabili (I7eafc) - I componenti della piattaforma ora sono stabili (I58758, I04aca)
NonInteractiveSurfaceDefaults
rinominato inSurfaceDefaults
eNonInteractiveSurfaceColors
inSurfaceColors
(I0812e)- La funzionalità Selectable Surface ora utilizza la terminologia "seleziona" anziché "controlla" 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) - I componenti
Card
,ClassicCard
,CompactCard
,WideClassicCard
,StandardCardContainer
eWideCardContainer
sono ora stabili (I34390) StandardCardLayout
rinominato inStandardCardContainer
eWideCardLayout
inWideCardContainer
(I08883)CardContainerDefaults.ImageCard
è stato rimosso eCardDefaults.ContainerGradient
è stato rinominato inCardDefaults.ScrimBrush
(I6adfe). Puoi utilizzareCard
al posto diCardContainerDefaults.ImageCard
nei contenitori delle schede.ListItem
eDenseListItem
ora sono stabili (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
eListItemDefaults.SelectedContainerColorOpacity
sono ora privati (I5d533)- Abbiamo riorganizzato i parametri di
ListItem
e rinominatoListItemDefaults.ListItemElevation
inListItemDefaults.TonalElevation
(Id6841). Il parametroheadlineContent
è stato spostato nella parte superiore del composable. 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 crearlo autonomamente. (Id48da) - I componenti tv-material che espongono un
MutableInteractionSource
nella loro API sono stati aggiornati in modo da esporre unMutableInteractionSource
nullable che per impostazione predefinita è null. Non sono presenti modifiche semantiche: se passi null, significa che non vuoi eseguire l'hoisting diMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica in null consente ad alcuni componenti di non allocare mai unMutableInteractionSource
e ad altri di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizziMutableInteractionSource
che passi a questi componenti, ti consigliamo di passare null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (I309b4, b/298048146) - Il parametro
TextAlign
del componente di testo TV ora non è nullo (Ib73b1, b/299490814) - È stato introdotto un valore Non specificato speciale 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 non sono state incluse nel lancio beta perché le API necessarie sono sperimentali (I0e755d4)
- La modifica di
contentColor
inSurface
non anima più 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 rilasciato. La versione 1.0.0-alpha12 contiene questi commit.
Modifiche all'API
- Pulisci i layout lazy da tv-foundation. Consulta le note di rilascio 1.0.0-alpha11 per eseguire la migrazione dai layout lazy di tv-foundation. (I2fdd3, b/358913893)
Versione 1.0.0-alpha11
10 luglio 2024
androidx.tv:tv-foundation:1.0.0-alpha11
viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.
Modifiche all'API
- I layout lazy della TV sono stati ritirati dalla libreria tv-foundation. Consulta questo ticket per scoprire come eseguire la migrazione dai layout lazy per 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
vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.
Nuove funzionalità
- È stato introdotto
NavigationDrawerItem
da utilizzare inNavigationDrawer
eModalNavigationDrawer
. (I4b491) - Aggiungi il profilo di riferimento alla libreria tv-foundation. (2b57fd7)
- Aggiungi il profilo di riferimento alla raccolta di materiale TV. (1711ff5)
Modifiche all'API
NavigationDrawerScope.doesTabRowHaveFocus
rinominato inNavigationDrawerScope.hasFocus
. (I8286b)TabRowScope.isActivated
rinominato inTabRowScope.hasFocus
. (Ic4273)
Correzioni di bug
- Correggere la compatibilità del carosello con gli elementi adiacenti che utilizzano le API di ripristino dell'attenzione. (7b2a7a4)
- Disattiva l'indicazione dell'effetto bagliore per API_LEVEL inferiore a 28 perché non è supportato dal sistema operativo. (6d3616f)
- Correzione dell'arresto anomalo ANR causato dal posizionamento improprio degli elementi nei contenitori lazy durante lo scorrimento veloce in direzione opposta. (642d65c)
- È stata rimossa la spaziatura dello sfondo nel riquadro di navigazione modale. (69965b2)
- Correggi lo scrim nel riquadro di navigazione a scomparsa in modo che venga visualizzato 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
vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.
Modifiche all'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 il sovraccarico di
LazyLayout
, che ora accetta una funzione lambda diLazyLayoutItemProvider
, non un semplice oggetto come in precedenza. Il sovraccarico precedente è stato ritirato. (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 della TV. (Id7275) - Modifica del parametro
scrimColor: Color
inscrimBrush:Brush
per consentire agli utenti di aggiungere gradienti allo scrim. (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
vengono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.
Nuove funzionalità
- Introduzione dei componenti Chip per il materiale di Compose per TV. (I86da4)
- Aggiungi il componente
ListItem
al materiale di composizione per la TV. (I3f0b3) - Aggiungi il componente
DenseListItem
al materiale di composizione TV. (I536bf)
Modifiche all'API
- Le API di materiale televisivo pubblico sono state contrassegnate come sperimentali. (I632e7)
- È stato introdotto
TabRowScope
per condividere lo stato dal 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
vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.
Modifiche all'API
- Le indicazioni di scala dei componenti ora includono Nessuno per disattivare la scalabilità. (I50df5)
- È stato aggiunto il supporto per i clic lunghi per le schede, le superfici e i pulsanti Material TV. (Id2b89)
CarouselItem
eCarouselScope
sono stati rimossi. L'animazione dei contenuti in primo piano può essere ottenuta nella slide utilizzandoModifier.animateEnterExit
daAnimatedContentScope
. (Ic038e)- Parametri
color
econtentColor
uniti incolors
per la superficie del materiale della TV. (Ie69eb) - È stato introdotto il composable
RadioButton
in Material per TV. (I08690) - È stato introdotto il composable
Switch
in Material per TV. (I45e29) - È stato introdotto il composable
Checkbox
in Material per TV. (I6a45a) - È stata introdotta la superficie non interattiva nel materiale per TV. (Ic5f85)
- Rendi le indicazioni interne. (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
vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.
Nuove funzionalità
- Aggiunta di implementazioni di schede Material 3 ottimizzate per la TV.
- Aggiungi implementazioni di pulsanti Material 3 ottimizzate per la TV.
Modifiche all'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 del 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
vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.
Modifiche all'API
- Ti presentiamo il riquadro di navigazione a scomparsa laterale componibile in
tv-material
. Per scoprire come utilizzare questo composable, consulta i samples. (I12c08) - Introduzione del componente componibile Icon in Material per TV 3 (I72db9)
- Introduzione di elementi composibili della superficie in
tv-material
con indicazioni come Bordo, Luce e Scala, che possono essere utilizzati per creare componenti che mettano in evidenza l'elemento attivo sullo schermo della TV. (I4a6d8), (Iceea1), (Iee4d4), (I79edf), (Icb376) - Aggiorna
CarouselItem
inCarouselSlide
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
vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.
Nuove funzionalità
- Nelle righe, nelle colonne e nelle griglie lazy, il pivot viene sostituito, se necessario, per assicurarsi che l'intero elemento venga visualizzato. (11d7e40)
- Aggiungere la personalizzazione dei colori delle schede in stati diversi. (21b2925)
- Il carosello ora accetta animazioni personalizzate per lo scorrimento manuale avanti e indietro. (431494a)
Modifiche all'API
- Rinomina
androidx.tv.material
inandroidx.tv.material3
e appiattisce la struttura del pacchetto inandroidx.tv.material3
. (I6ca52) - L'indicatore all'interno della riga Indicatore carosello ora è uno slot che può essere personalizzato dallo sviluppatore. (268af2a)
focusableItem
rinominato inimmersiveListItem
. Gli utenti dovranno aggiungere manualmente il modificatorefocusable()
oclickable()
insieme aimmersiveListItem
(5dd5078)(b/263061052)timeToDisplayMillis
è stato rinominato inautoScrollDurationMillis
nel componente carosello. (431494a)- Ora l'uso di
CarouselItem
è limitato agli accountCarousel
. (431494a) - Il carosello ora accetta
ContentTransforms
come definizione di animazione anzichéEnterTransition
eExitTransitions
. (431494a) - È stata introdotta l'API
PinnableContainer
propagata dagli elenchi lazy tramite una composizione locale che consente di bloccare l'elemento corrente. (Ib8881, b/259274257, b/195049010) - È stata aggiunta la proprietà
mainAxisItemSpacing
aTvLazyListLayoutInfo
eTvLazyGridLayoutInfo
(I37765)
Correzioni di bug
- Aggiorna riga-scheda per assicurarti che gestisca correttamente il conteggio-schede pari a 0 o 1. (I44009), (1c01525), (b/264018028)
- Correggere l'arresto anomalo della ricerca con il fuoco 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 evidenza. (84c138c)
- Il carosello non perde il focus con più pressioni rapide dei tasti. (799489f)
- Il carosello non perde il focus con pressioni prolungate dei tasti. (b2cf37e)
- Sono stati risolti i crash quando il numero di diapositive del carosello cambia. (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
vengono 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 superiori alle loro app. In genere, i dispositivi TV si aspettano che le schede vengano caricate quando il titolo della scheda è attivo nella riga della scheda.- Gli indicatori specifici per la TV, come l'indicatore di sottolineatura e l'indicatore a pillola, sono disponibili immediatamente. Puoi trovare esempi di utilizzo 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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Miglioramento delle prestazioni di scorrimento quando si scorre una raccolta di
TvLazyRows/TvLazyColumns
riducendo lo spazio di ricerca in primo piano.(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
vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.
Nuove funzionalità
La prima versione alpha contiene implementazioni di anteprime iniziali dei componenti per i casi d'uso TV, tra cui:
- Aggiunta del modificatore
scrollableWithPivot
per consentire ai contenitori con scorrimento non lazy, come Riga, Colonna e Griglia, di scorrere i contenuti in modo che l'elemento attivo rimanga nella stessa posizione sullo schermo della TV. - Aggiunta dei composabili
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
per fare in modo che il contenitore scorrevole scorra i contenuti in modo che l'elemento in primo piano rimanga nella stessa posizione sullo schermo della TV. - Aggiunta del carosello in primo piano composable per la TV che consente all'utente di creare un carosello di banner con scorrimento automatico.
- Aggiunta di un elemento composable elenco immersivo per la TV che consente all'utente di creare una riga/colonna/griglia immersiva che cambia lo sfondo in base all'elemento dell'elenco in primo piano.
Problemi noti
- Quando il contenitore acquisisce lo stato attivo, per impostazione predefinita il primo elemento non lo acquisisce.
- Non sempre l'attivazione della modalità di immissione su un
TextField
apre la tastiera o può impedire il passaggio dell'attenzione ad altri campi. - Lo scorrimento verticale in un
LazyColumn
contenenteLazyRows
ha un rendimento scadente.