Un Floating Action Button (FAB) è un pulsante di enfasi elevata che consente all'utente di eseguire un'azione principale in un'applicazione. Promuove un'unica azione mirata che è il percorso più comune che un utente potrebbe intraprendere e che in genere si trova ancorato in basso a destra dello schermo.
Prendi in considerazione questi tre casi d'uso in cui potresti utilizzare un FAB:
- Crea nuovo elemento: in un'app per prendere appunti, un FAB può essere utilizzato per creare rapidamente una nuova nota.
- Aggiungi nuovo contatto: in un'app di chat, un FAB potrebbe aprire un'interfaccia che consente all'utente di aggiungere qualcuno a una conversazione.
- Centra posizione: in un'interfaccia della mappa, un FAB potrebbe centrare la mappa sulla posizione attuale dell'utente.
In Material Design esistono quattro tipi di FAB:
- FAB: un Floating Action Button di dimensioni normali.
- FAB piccolo: un Floating Action Button più piccolo.
- FAB grande: un Floating Action Button più grande.
- FAB esteso: un pulsante di azione sovrapposto che contiene più di una semplice icona.
Piattaforma API
Sebbene esistano diversi composable che puoi utilizzare per creare pulsanti di azione fluttuanti coerenti con Material Design, i loro parametri non differiscono molto. Tra i parametri chiave da tenere a mente ci sono:
onClick: la funzione chiamata quando l'utente preme il pulsante.containerColor: il colore del pulsante.contentColor: il colore dell'icona.
Pulsante di azione mobile
Per creare un pulsante di azione mobile generale, utilizza il componibile
FloatingActionButton di base. Il seguente esempio mostra un'implementazione
di base di un FAB:
@Composable fun Example(onClick: () -> Unit) { FloatingActionButton( onClick = { onClick() }, ) { Icon(Icons.Filled.Add, "Floating action button.") } }
Ecco come appare la barra:
Pulsante piccolo
Per creare un pulsante di azione rapida piccolo, utilizza il
componibile SmallFloatingActionButton. L'esempio seguente mostra
come farlo, con l'aggiunta di colori personalizzati.
@Composable fun SmallExample(onClick: () -> Unit) { SmallFloatingActionButton( onClick = { onClick() }, containerColor = MaterialTheme.colorScheme.secondaryContainer, contentColor = MaterialTheme.colorScheme.secondary ) { Icon(Icons.Filled.Add, "Small floating action button.") } }
Ecco come appare la barra:
Pulsante grande
Per creare un pulsante di azione rapida grande, utilizza il
componibile LargeFloatingActionButton. Questo elemento componibile non
è molto diverso dagli altri esempi, a parte il fatto che
genera un pulsante più grande.
Di seguito è riportata un'implementazione semplice di un FAB grande.
@Composable fun LargeExample(onClick: () -> Unit) { LargeFloatingActionButton( onClick = { onClick() }, shape = CircleShape, ) { Icon(Icons.Filled.Add, "Large floating action button") } }
Ecco come appare la barra:
Pulsante esteso
Puoi creare pulsanti di azione mobile più complessi con il
composable ExtendedFloatingActionButton. La differenza principale tra questo
e FloatingActionButton è che ha parametri icon e text
dedicati. Consentono di creare un pulsante con contenuti più complessi che si adattano
in modo appropriato ai contenuti.
Il seguente snippet mostra come implementare
ExtendedFloatingActionButton, con valori di esempio passati per icon e
text.
@Composable fun ExtendedExample(onClick: () -> Unit) { ExtendedFloatingActionButton( onClick = { onClick() }, icon = { Icon(Icons.Filled.Edit, "Extended floating action button.") }, text = { Text(text = "Extended FAB") }, ) }
Ecco come appare la barra: