tv
Aggiornamento più recente | Release stabile | Candidato per la release | Versione beta | Release alpha |
---|---|---|---|---|
1° maggio 2024 | - | - | 1.0.0-beta01 | - |
Dichiarazione delle dipendenze
Per aggiungere dipendenze su 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 artefatti necessari nel file build.gradle
per
l'app o il modulo:
Groovy
dependencies { implementation "androidx.tv:tv-foundation:1.0.0-alpha10" implementation "androidx.tv:tv-material:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.tv:tv-foundation:1.0.0-alpha10") implementation("androidx.tv:tv-material:1.0.0-beta01") }
Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. 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 elemento.
Versione materiale TV 1.0
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 alle API
ColorScheme
e le sue 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 Cambia ora è stabile (I6cea3)
Checkbox
componenti ora sono stabili (I7eafc)- I componenti della superficie sono ora stabili (I58758, I04aca)
- Rinominato
NonInteractiveSurfaceDefaults
inSurfaceDefaults
eNonInteractiveSurfaceColors
inSurfaceColors
(I0812e) - Surface selezionabile ora utilizza la terminologia "seleziona" anziché "check" perché entrambi hanno significati semantici diversi (I5a206)
NavigationDrawer
eNavigationDrawerScope
sono ora 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
ora sono stabili (I34390) - Rinominato
StandardCardLayout
inStandardCardContainer
eWideCardLayout
inWideCardContainer
(I08883) CardContainerDefaults.ImageCard
rimosso e rinominatoCardDefaults.ContainerGradient
inCardDefaults.ScrimBrush
(I6adfe). Puoi utilizzareCard
al posto diCardContainerDefaults.ImageCard
nei contenitori delle schede.ListItem
eDenseListItem
sono ora stabili (Idebd9)ListItemDefaults.ListItemShape
,ListItemDefaults.FocusedDisabledBorder
eListItemDefaults.SelectedContainerColorOpacity
sono ora privati (I5d533)- I parametri di
ListItem
sono stati riorganizzati e il nomeListItemDefaults.ListItemElevation
è stato rinominatoListItemDefaults.TonalElevation
(Id6841). Il parametroheadlineContent
è stato spostato nella parte superiore del componibile. In precedenza, potevi utilizzare la sintassi lambda finale di Kotlin per trasmettere il codiceheadlineContent
. Ora dovrai utilizzare la sintassi del parametro denominato per fornireheadlineContent
. LocalAbsoluteTonalElevation
ora è interno (Ibfc65)- Il componente
ImmersiveList
è stato rimosso. Guarda questo esempio per scoprire come crearlo autonomamente. (Id48da) - I componenti tv-material che mostrano un valore
MutableInteractionSource
nell'API sono stati aggiornati in modo da ora esporre un valoreMutableInteractionSource
con valore null che per impostazione predefinita è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruireMutableInteractionSource
, che verrà creato all'interno del componente, se necessario. La modifica 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 stai utilizzando ilMutableInteractionSource
passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (I309b4, b/298048146). - Il parametro
TextAlign
del componente Testo TV ora è non null (Ib73b1, b/299490814) - È stato introdotto un valore speciale Non specificato per i campi
TextAlign
,TextDirection
,Hyphens
eLineBreak
diParagraphTextStyle
da sostituire (I4197e, b/299490814)
Cambiamenti del comportamento
- Il valore predefinito del parametro
shape
per il campoSurface
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 si anima più tra gli stati (I436e794f)
Versione 1.0.0
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 raccolta di base per la TV. (2b57fd7)
- Aggiungi il profilo di riferimento alla raccolta di materiali per la TV. (1711ff5)
Modifiche alle API
- Rinominato
NavigationDrawerScope.doesTabRowHaveFocus
inNavigationDrawerScope.hasFocus
. (I8286b) - Rinominato
TabRowScope.isActivated
inTabRowScope.hasFocus
. (Ic4273)
Correzioni di bug
- Correggi la compatibilità di Carousel con elementi adiacenti che utilizzano API di ripristino dell'elemento attivo. (7b2a7a4)
- Disattiva l'indicazione del bagliore per API_LEVEL inferiore a 28 poiché non è supportata dal sistema operativo. (6d3616f)
- Correggi l'arresto anomalo ANR causato dal posizionamento errato degli elementi nei contenitori lenti durante lo scorrimento rapido in direzione inversa. (642d65c)
- È stata rimossa la spaziatura interna dello sfondo nel riquadro a scomparsa di navigazione modale. (69965b2)
- Correggi lo Scrim nel riquadro di navigazione a scomparsa in modo che venga tracciato 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 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 della TV con gli elementi di base di scrittura. (I737c3, b/287011882)
- Sovraccarico di
LazyLayout
aggiunto, accetta un lambda diLazyLayoutItemProvider
, non un oggetto semplice come 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 Compose. (Id7275) - Modifica del parametro
scrimColor: Color
inscrimBrush:Brush
per consentire agli utenti di aggiungere gradienti al riquadro. (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à
- Presenta i componenti del chip di Compose per il materiale televisivo. (I86da4)
- Aggiungi il componente
ListItem
al materiale di Compose TV. (I3f0b3). - Aggiungi
DenseListItem
il componente al materiale di Compose TV. (I536bf)
Modifiche alle API
- API pubbliche tv-material contrassegnate come sperimentali. (I632e7)
- È stato introdotto
TabRowScope
per condividere lo stato diTabRow
componibile con le proprietà Tab componibile e rinominateTabColors
. (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 alle API
- Le indicazioni sulla scala dei componenti ora includono Nessuno per disabilitare la scalabilità. (I50df5).
- Aggiunto il supporto del clic lungo per superficie Material TV, schede e pulsanti. (Id2b89)
CarouselItem
eCarouselScope
sono stati rimossi. Puoi ottenere l'animazione dei contenuti in primo piano nella slide utilizzandoModifier.animateEnterExit
diAnimatedContentScope
. (Ic038e)- Parametri
color
econtentColor
uniti comecolors
per TV Material Surface. (Ie69eb) - Introdotto il componibile
RadioButton
nel materiale TV. (I08690) - Introdotto il componibile
Switch
nel materiale TV. (I45e29). - Introdotto il componibile
Checkbox
nel materiale TV. (I6a45a). - Introdotta una superficie non interattiva nel materiale della 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à
- Aggiungi implementazioni di schede Material 3 ottimizzate per la TV.
- Aggiungi implementazioni dei pulsanti Material 3 ottimizzate per la TV.
Modifiche alle API
CarouselSlide
eslideCount
inCarousel
rinominati inCarouselItem
eitemCount
. (Ie554c)forward
ebackward
ContentTransforms
sono stati rinominatiStartToEnd
eEndToStart
. (Ie554c)
Correzioni di bug
- Maneggia il pulsante posteriore del D-pad quando lo stato attivo è
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 alle API
- Introduzione del riquadro di navigazione laterale componibile in
tv-material
. Per scoprire come utilizzare questo componibile, consulta gli esempi. (I12c08). - Presenta Icona componibile nel materiale TV 3 (I72db9)
- Introduzione di Surface componibile in
tv-material
con indicazioni quali Bordo, Bagliore e Scala, che possono essere utilizzati per creare componenti che mettano chiaramente 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 "Carousel" (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à
- In righe, colonne e griglie lente, il pivot viene sostituito, se necessario, per garantire che venga visualizzato l'intero elemento. (11d7e40)
- Aggiungi la personalizzazione dei colori delle schede in stati diversi. (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 suddivisione della struttura dei pacchetti inandroidx.tv.material3
. (I6ca52). - L'indicatore nella riga dell'indicatore carosello ora è un'area che può essere personalizzata dallo sviluppatore. (268af2a).
- Rinominato
focusableItem
inimmersiveListItem
. Gli utenti dovranno aggiungere manualmente il modificatorefocusable()
oclickable()
insieme aimmersiveListItem
(5dd5078)(b/263061052) - Il nome
timeToDisplayMillis
è stato cambiato inautoScrollDurationMillis
nel componente Carousel. (431494a) - L'utilizzo di
CarouselItem
all'interno diCarousel
è ora limitato. (431494a) - Il carosello ora accetta
ContentTransforms
come definizione dell'animazione anzichéEnterTransition
eExitTransitions
. (431494a) - È stata introdotta l'API
PinnableContainer
propagata da elenchi lenti tramite una composizione locale che consente di fissare l'elemento corrente. (Ib8881, b/259274257, b/195049010). - Proprietà
mainAxisItemSpacing
aggiunta aTvLazyListLayoutInfo
eTvLazyGridLayoutInfo
(I37765)
Correzioni di bug
- Aggiorna la riga di tabulazione per assicurarti che gestisca correttamente il numero di tabulazioni 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 sulla pressione multipla dei tasti. (799489f)
- Il carosello non perde lo stato attivo sulla pressione prolungata dei tasti. (b2cf37e).
- Sono stati risolti gli arresti anomali quando il numero delle slide 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 in alto alle loro 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 a forma di pillola, sono disponibili fin dal primo avvio. Esempi di utilizzi 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
vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.
Correzioni di bug
- Sono state migliorate le prestazioni dello scorrimento durante lo scorrimento di una raccolta di
TvLazyRows/TvLazyColumns
riducendo lo spazio di ricerca dedicato.(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 in anteprima dei componenti per i casi d'uso della TV, tra cui:
- Aggiunta del modificatore
scrollableWithPivot
per consentire ai contenitori a scorrimento non lento, ad esempio Riga, Colonna e Griglia, di far scorrere il contenitore a scorrimento sui contenuti in modo che l'elemento in stato attivo rimanga nella stessa posizione sullo schermo della TV. - Sono stati aggiunti elementi componibili
TvLazyRow
,TvLazyColumn
,TvLazyHorizontalGrid
,TvLazyVerticalGrid
per fare in modo che il contenitore a scorrimento faccia scorrere i contenuti in modo che l'elemento a fuoco rimanga nella stessa posizione sullo schermo della TV. - Aggiunta del 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 attivo dell'elenco.
Problemi noti
- Quando viene impostato lo stato attivo del contenitore a scorrimento, per impostazione predefinita il primo elemento non viene impostato.
- Se imposti lo stato attivo su un
TextField
, non sempre la tastiera si apre o potrebbe impedirne lo spostamento in altri campi. - Lo scorrimento verticale di una
LazyColumn
contenenteLazyRows
ha un rendimento scarso.