NavigationBar con più schede
Passi da una sezione principale all'altra dalla barra inferiore.
NavigationBar con più schede è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 1 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.
Conoscere NavigationBar
Material 3 offre NavigationBar, una barra ancorata in basso che consente di passare tra le sezioni principali dell’app. 📱
Quando usarla
Scelga una NavigationBar quando l’app ha da tre a cinque destinazioni di pari importanza, come Home, Search e Profile.
Vive nello Scaffold
Di solito inserisce la barra nello slot bottomBar di uno Scaffold, così rimane fissa mentre il contenuto dello schermo scorre sopra di essa.
Scaffold(
bottomBar = { NavigationBar { /* items */ } }
) { padding -> Content(padding) }Ogni scheda è un elemento
All’interno della barra aggiunga un NavigationBarItem per ogni destinazione. Ogni elemento è una scheda selezionabile con la propria icona e la propria etichetta.
NavigationBar {
NavigationBarItem(/* ... */)
NavigationBarItem(/* ... */)
}Il flag selected
Ogni elemento richiede un booleano selected. Esattamente un elemento alla volta dovrebbe essere true, così la barra indica dove si trova l’utente.
NavigationBarItem(
selected = current == "home",
onClick = { go("home") }
)Gestire il tocco
La lambda onClick viene eseguita quando si preme la scheda. È qui che si indica alla navigazione di passare a quella sezione.
Darle un'icona
Lo slot icon accetta un Composable, di solito un Icon del set Material, così ogni scheda è subito riconoscibile.
icon = { Icon(Icons.Default.Home, contentDescription = "Home") }Aggiungere un'etichetta
Lo slot label mostra un testo breve sotto l'icona. Limitarlo a una parola chiara, così entra nello spazio e si legge rapidamente.
label = { Text("Home") }Un modello per le schede
È utile mantenere le schede in un semplice elenco di data class, così la barra può scorrerle invece di definire ogni elemento manualmente.
data class Tab(val route: String, val icon: ImageVector, val label: String)Creare la barra con un ciclo
Con un elenco di schede è possibile usare forEach e produrre un NavigationBarItem per ogni elemento, mantenendo la barra ordinata e facile da estendere.
tabs.forEach { tab ->
NavigationBarItem(/* uses tab fields */)
}Abbinarla al contenuto
La barra cambia solo la sezione attiva. È comunque necessario abbinarla a un NavHost o a un blocco when che sostituisca effettivamente il contenuto della schermata.
Controllo rapido
Ha aggiunto tre schede alla NavigationBar. Facciamo un rapido controllo delle basi.
Riepilogo
Ha conosciuto NavigationBar: la inserisca nello Scaffold e aggiunga un NavigationBarItem per ogni sezione, con icona, etichetta, flag selected e onClick. Ottimo lavoro! 🎉
Domande Frequenti
La lezione «NavigationBar con più schede» è gratuita?
Sì — il testo completo di «NavigationBar con più schede» è 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 «NavigationBar con più schede»?
Passi da una sezione principale all'altra dalla barra inferiore. 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 1 di 4.
Quanto tempo richiede la lezione «NavigationBar con più schede»?
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
- NavigationBar con più schede
- Evidenziare la route selezionata
- Preservare lo stato delle schede al cambio
- TabRow e pagine scorrevoli