tv

  
Offre agli sviluppatori funzionalità di Compose e Material Design per scrivere applicazioni per la 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:

Trendy

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

Kotlin

dependencies {
    implementation("androidx.tv:tv-foundation:1.0.0-beta01")
    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.

Crea un nuovo problema

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 in SurfaceDefaults e NonInteractiveSurfaceColors in SurfaceColors (I0812e)
  • Surface selezionabile ora utilizza la terminologia "seleziona" anziché "check" perché entrambi hanno significati semantici diversi (I5a206)
  • NavigationDrawer e NavigationDrawerScope 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 e WideButton sono ora stabili (Ib4de8)
  • I componenti Card, ClassicCard, CompactCard, WideClassicCard, StandardCardContainer e WideCardContainer ora sono stabili (I34390)
  • Rinominato StandardCardLayout in StandardCardContainer e WideCardLayout in WideCardContainer (I08883)
  • CardContainerDefaults.ImageCard rimosso e rinominato CardDefaults.ContainerGradient in CardDefaults.ScrimBrush (I6adfe)
  • ListItem e DenseListItem sono ora stabili (Idebd9)
  • ListItemDefaults.ListItemShape, ListItemDefaults.FocusedDisabledBorder e ListItemDefaults.SelectedContainerColorOpacity sono ora privati (I5d533)
  • I parametri di ListItem sono stati riorganizzati e il nome ListItemDefaults.ListItemElevation è stato rinominato ListItemDefaults.TonalElevation (Id6841)
  • 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 valore MutableInteractionSource con valore null che per impostazione predefinita è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruire MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica 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 stai utilizzando il MutableInteractionSource 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 e LineBreak di ParagraphTextStyle da sostituire (I4197e, b/299490814)

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 in NavigationDrawer e ModalNavigationDrawer. (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 in NavigationDrawerScope.hasFocus. (I8286b)
  • Rinominato TabRowScope.isActivated in TabRowScope.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 di LazyLayoutItemProvider, 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 tramite AndroidImeOptions. (Idb772)
  • Aggiungi rememberCarouselState per ricordare CarouselState con Saver al materiale di Compose. (Id7275)
  • Modifica del parametro scrimColor: Color in scrimBrush: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 DenseListItemil 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 di TabRow componibile con le proprietà Tab componibile e rinominate 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 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 e CarouselScope sono stati rimossi. Puoi ottenere l'animazione dei contenuti in primo piano nella slide utilizzando Modifier.animateEnterExit di AnimatedContentScope. (Ic038e)
  • Parametri color e contentColor uniti come colors 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.
    • Scheda di base (I5b701)
    • ClassicCard, CompactCard e WideClassicCard (I70471)
    • StandardCardLayout e WideCardLayout (I33fae)
  • Aggiungi implementazioni dei pulsanti Material 3 ottimizzate per la TV.

Modifiche alle API

  • CarouselSlide e slideCountin Carousel rinominati in CarouselItem e itemCount. (Ie554c)
  • forward e backward ContentTransforms sono stati rinominati StartToEnd e EndToStart. (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 in CarouselSlide in modo che corrisponda al nome del parametro slideCount 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 in androidx.tv.material3 e suddivisione della struttura dei pacchetti in androidx.tv.material3. (I6ca52).
  • L'indicatore nella riga dell'indicatore carosello ora è un'area che può essere personalizzata dallo sviluppatore. (268af2a).
  • Rinominato focusableItem in immersiveListItem. Gli utenti dovranno aggiungere manualmente il modificatore focusable() o clickable() insieme a immersiveListItem (5dd5078)(b/263061052)
  • Il nome timeToDisplayMillis è stato cambiato in autoScrollDurationMillis nel componente Carousel. (431494a)
  • L'utilizzo di CarouselItem all'interno di Carousel è ora limitato. (431494a)
  • Il carosello ora accetta ContentTransforms come definizione dell'animazione anziché EnterTransition e ExitTransitions. (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 a TvLazyListLayoutInfo e TvLazyGridLayoutInfo (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 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 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 contenente LazyRows ha un rendimento scarso.