tv

  
Offre agli sviluppatori funzionalità di Compose e Material Design per scrivere applicazioni per la TV
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
10 luglio 2024 - 1.0.0-rc01 - -

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:

Trendy

dependencies {
    implementation "androidx.tv:tv-foundation:1.0.0-alpha11"
    implementation "androidx.tv:tv-material:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-alpha11")
    implementation("androidx.tv:tv-material:1.0.0-rc01")
}

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se scopri nuovi problemi o hai idee per migliorare questa raccolta. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a stella.

Crea un nuovo numero

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Nessuna nota di rilascio per questo elemento.

Versione materiale TV 1.0

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 in SurfaceDefaults e NonInteractiveSurfaceColors in SurfaceColors (I0812e)
  • Selezionabile ora utilizza la terminologia "select" invece di "check" perché entrambe hanno un significato semantico diverso (I5a206)
  • NavigationDrawer e NavigationDrawerScope 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 e WideButton sono ora stabili (Ib4de8)
  • I componenti Card, ClassicCard, CompactCard, WideClassicCard, StandardCardContainer e WideCardContainer ora sono stabili (I34390)
  • StandardCardLayout è stato rinominato in StandardCardContainer e WideCardLayout in WideCardContainer (I08883)
  • È stato rimosso CardContainerDefaults.ImageCard e rinominato CardDefaults.ContainerGradient in CardDefaults.ScrimBrush (I6adfe). Puoi utilizzare Card al posto di CardContainerDefaults.ImageCard nei contenitori delle tue schede.
  • ListItem e DenseListItem ora sono stabili (Idebd9)
  • ListItemDefaults.ListItemShape, ListItemDefaults.FocusedDisabledBorder e ListItemDefaults.SelectedContainerColorOpacity ora sono privati (I5d533)
  • Sono stati riordinati i parametri del ListItem e rinominato ListItemDefaults.ListItemElevation in ListItemDefaults.TonalElevation (Id6841). Il parametro headlineContent è stato spostato nella parte superiore del componibile. In precedenza, potevi utilizzare la sintassi lambda finale di Kotlin per passare headlineContent. 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 valore MutableInteractionSource nullo per impostazione predefinita. Non ci sono modifiche semantiche: passare un valore nullo significa che non vuoi issare MutableInteractionSource e, se necessario, verrà creato all'interno del componente. Il passaggio a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non utilizzi il valore MutableInteractionSource 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 e LineBreak della classe ParagraphTextStyle da sostituire (I4197e, b/299490814)

Variazioni del comportamento

  • Il valore predefinito del parametro shape per la campagna Surface non interattiva è stato modificato in RectangleShape (I1b859cb)
  • Alcune funzionalità carosello sono state eliminate per il lancio della versione beta perché le API necessarie sono sperimentali (I0e755d4)
  • La modifica di contentColor in Surface 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 in NavigationDrawer e ModalNavigationDrawer. (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 in NavigationDrawerScope.hasFocus. (I8286b)
  • TabRowScope.isActivated rinominato in TabRowScope.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 delle basi TV con gli elementi di base per la scrittura. (I737c3, b/287011882)
  • Aggiunto un sovraccarico di LazyLayout, accetta una funzione lambda di LazyLayoutItemProvider, 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 tramite AndroidImeOptions. (Idb772)
  • Aggiungi rememberCarouselState per ricordare CarouselState con Saver al materiale di composizione TV. (ID7275)
  • Il parametro scrimColor: Color viene impostato su scrimBrush: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 DenseListItemal 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 da TabRow 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 e CarouselScope sono stati rimossi. Puoi creare l'animazione dei contenuti in primo piano nella slide utilizzando Modifier.animateEnterExit di AnimatedContentScope. (Ic038e)
  • Sono stati uniti i parametri color e contentColor come colors per Material Surface per TV. (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.
    • Scheda base (I5b701)
    • ClassicCard, CompactCard e WideClassicCard (I70471)
    • StandardCardLayout e WideCardLayout (I33fae)
  • Aggiungi implementazioni del pulsante Material 3 ottimizzate per la TV.

Modifiche alle API

  • CarouselSlide e slideCount in Carousel sono stati rinominati in CarouselItem e itemCount. (Ie554c).
  • forward e backward ContentTransforms sono stati rinominati in StartToEnd e EndToStart. (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 al 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 a CarouselSlide in modo che corrisponda al nome del parametro slideCount nell'API "Carousel" (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 in androidx.tv.material3 e suddivisione della struttura del pacchetto in androidx.tv.material3. (I6ca52).
  • L'indicatore nella riga Indicatore carosello è ora un'area che può essere personalizzata dallo sviluppatore. (268af2a)
  • focusableItem rinominato in immersiveListItem. Gli utenti dovranno aggiungere manualmente il modificatore focusable() o clickable() oltre al modificatore immersiveListItem (5dd5078)(b/263061052)
  • timeToDisplayMillis rinominato in autoScrollDurationMillis nel componente Carousel. (431494a)
  • L'uso di CarouselItem all'interno di Carousel è ora limitato. (431494a)
  • Ora il carosello accetta ContentTransforms come definizione dell'animazione anziché EnterTransition e ExitTransitions. (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 a TvLazyListLayoutInfo e TvLazyGridLayoutInfo (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 contiene TvLazyRow vuoto. (e11b4fe), (b/260299091)
  • Il modificatore clickable ora funziona con ImmersiveList. (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 e TvLazyVerticalGrid 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 contenente LazyRows ha un rendimento scarso.