Puoi gestire set di dati di grandi dimensioni e contenuti dinamici con le griglie lazy, migliorando le prestazioni dell'app. Con i composabili della griglia lazy, puoi visualizzare gli elementi in un contenuto scorrevole, su più colonne o righe.
Compatibilità delle versioni
Questa implementazione richiede che il valore minSDK del progetto sia impostato sul livello API 21 o superiore.
Dipendenze
Decidi l'orientamento della griglia
I composabili LazyHorizontalGrid
e LazyVerticalGrid
supportano la visualizzazione degli elementi in una griglia. Una griglia verticale lazy mostra i suoi elementi
in un contenitore scorrevole verticalmente, su più colonne, mentre
le griglie orizzontali lazy hanno lo stesso comportamento sull'asse orizzontale.
Creare una griglia scorrevole
Il seguente codice crea una griglia con scorrimento orizzontale con tre colonne:
@Composable fun ScrollingGrid() { val itemsList = (0..15).toList() val itemModifier = Modifier .border(1.dp, Color.Blue) .width(80.dp) .wrapContentSize() LazyHorizontalGrid( rows = GridCells.Fixed(3), horizontalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp) ) { items(itemsList) { Text("Item is $it", itemModifier) } item { Text("Single item", itemModifier) } } }
Punti chiave del codice
- Il composable
LazyHorizontalGrid
determina l'orientamento orizzontale della griglia.- Per creare una griglia verticale, utilizza
LazyVerticalGrid
.
- Per creare una griglia verticale, utilizza
- La proprietà
rows
specifica come organizzare i contenuti della griglia.- Per una griglia verticale, utilizza la proprietà
columns
per specificare l'ordinamento.
- Per una griglia verticale, utilizza la proprietà
items(itemsList)
aggiungeitemsList
aLazyHorizontalGrid
. La funzione lambda visualizza un componibileText
per ogni elemento e imposta il testo sulla descrizione dell'elemento.item()
aggiunge un singolo elemento aLazyHorizontalGrid
, mentre la funzione lambda rappresenta un singolo componibileText
in modo simile aitems()
.GridCells.Fixed
definisce il numero di righe o colonne.Per creare una griglia con il maggior numero possibile di righe, imposta il numero di righe utilizzando
GridCells.Adaptive
.Nel codice seguente, il valore
20.dp
specifica che ogni colonna deve essere di almeno 20 dp e che tutte le colonne devono avere la stessa larghezza. Se lo schermo è largo 88 dp, ci sono 4 colonne da 22 dp ciascuna.
Risultati
LazyHorizontalGrid
.Raccolte che contengono questa guida
Questa guida fa parte di queste raccolte di guide rapide selezionate che coprono obiettivi di sviluppo Android più ampi:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=it)
Mostrare un elenco o una griglia
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=it)
Mostrare componenti interattivi
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=it)