Intestazioni fisse e liste per sezioni
Raggruppi gli elementi con intestazioni bloccate.
Intestazioni fisse e liste per sezioni è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Le liste spesso hanno sezioni
Le liste reali raggruppano i dati, ad esempio i contatti per lettera o le email per data. Ogni gruppo merita un'intestazione chiara sopra le proprie righe.
Un'intestazione è semplicemente un item
L'intestazione più semplice è un singolo blocco item che contiene un Text stilizzato. Lo inserisca prima degli items del gruppo e scorrerà insieme a essi.
item { Text("A", style = MaterialTheme.typography.titleMedium) }Costruire le sezioni in un ciclo
Iteri sui dati raggruppati e, per ogni gruppo, aggiunga il relativo item di intestazione e poi i relativi items. In questo modo costruisce una lista di sezioni ordinata.
groups.forEach { (letter, names) ->
item { Text(letter) }
items(names) { Text(it) }
}Il problema: le intestazioni scompaiono scorrendo
Una semplice intestazione scorre via dalla parte superiore insieme alle sue righe. A metà sezione, non è più chiaro quale gruppo si stia visualizzando.
Ecco le intestazioni sticky
Una stickyHeader si fissa in alto mentre la sua sezione scorre sotto di essa. L'etichetta del gruppo corrente rimane sempre visibile. 📌
stickyHeader { Text("A") }Utilizzarla come item
Chiami stickyHeader esattamente nel punto in cui inserirebbe un item di intestazione, subito prima del blocco items della sezione. Compose gestisce il fissaggio.
groups.forEach { (letter, names) ->
stickyHeader { Text(letter) }
items(names) { Text(it) }
}Una sola intestazione alla volta
Quando una nuova sezione raggiunge la parte superiore, la sua intestazione spinge quella precedente verso l'alto e fuori dallo schermo. Rimane fissata solo l'intestazione del gruppo corrente.
Le intestazioni hanno bisogno di uno sfondo
Assegni uno sfondo uniforme all'intestazione sticky. Senza di esso, le righe sottostanti diventano visibili e il testo fissato risulta difficile da leggere.
stickyHeader {
Text(letter, Modifier.background(Color.White).fillMaxWidth())
}Raggruppare prima i dati
Prepari una struttura raggruppata prima della composizione, spesso con groupBy. Dati ordinati rendono il ciclo delle sezioni breve e leggibile.
val byLetter = names.groupBy { it.first() }Le sticky header vivono in LazyColumn
Il builder stickyHeader fa parte dello scope di LazyColumn. Funziona solo all'interno di una lazy list, non di una Column normale.
Liste curate e facili da consultare
Insieme, le intestazioni delle sezioni e il fissaggio sticky trasformano una lunga lista piatta in una schermata facile da consultare e professionale, che gli utenti possono esplorare rapidamente.
Verifica rapida
Che cosa fa un'intestazione sticky?
Riepilogo: intestazioni che restano fisse
Costruisca le sezioni associando un'intestazione agli items, poi passi a stickyHeader affinché l'etichetta del gruppo rimanga fissa durante lo scorrimento. Aggiunga uno sfondo! 🎉
Impara Kotlin con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Intestazioni fisse e liste per sezioni» è gratuita?
Sì — il testo completo di «Intestazioni fisse e liste per sezioni» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Cosa imparerò in «Intestazioni fisse e liste per sezioni»?
Raggruppi gli elementi con intestazioni bloccate. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Jetpack Compose Academy?
Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Intestazioni fisse e liste per sezioni»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?
Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- LazyColumn e Column scorrevole a confronto
- items e itemsIndexed
- Chiavi per liste stabili e veloci
- Intestazioni fisse e liste per sezioni