Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Un pulsante di azione sovrapposto (FAB) è un pulsante con 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 pulsante di azione mobile di dimensioni normali.
FAB piccolo: un pulsante di azione mobile più piccolo.
FAB grande: un pulsante di azione mobile più grande.
FAB esteso: un pulsante di azione sovrapposto che contiene più di una semplice icona.
Figura 1. I quattro tipi di Floating Action Button.
Superficie 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 composable
FloatingActionButton di base. Il seguente esempio mostra un'implementazione
di base di un FAB:
Per creare un piccolo pulsante di azione fluttuante, utilizza il
componente componibile SmallFloatingActionButton. L'esempio seguente mostra
come farlo, con l'aggiunta di colori personalizzati.
Per creare un FAB di grandi dimensioni, utilizza il
composable 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.
Puoi creare pulsanti di azione rapida più complessi con il
composabile 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.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-23 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-23 UTC."],[],[],null,["# Floating action button\n\nA Floating Action Button (FAB) is a high-emphasis button that lets the user\nperform a primary action in an application. It promotes a single, focused action\nthat is the most common pathway a user might take and is typically found\nanchored to the bottom right of the screen.\n\nConsider these three use cases where you might use a FAB:\n\n- **Create new item**: In a note-taking app, a FAB might be used to quickly create a new note.\n- **Add new contact**: In a chat app, a FAB could open an interface that lets the user add someone to a conversation.\n- **Center location**: In a map interface, a FAB could center the map on the user's current location.\n\nIn Material Design, there are four types of FAB:\n\n- **FAB**: A floating action button of ordinary size.\n- **Small FAB**: A smaller floating action button.\n- **Large FAB**: A larger floating action button.\n- **Extended FAB**: A floating action button that contains more than just an icon.\n\n**Figure 1.** The four floating action button types.\n\nAPI surface\n-----------\n\nAlthough there are several composables you can use to create floating action\nbuttons consistent with Material Design, their parameters don't differ greatly.\nAmong the key parameters you should keep in mind are the following:\n\n- `onClick`: The function called when the user presses the button.\n- `containerColor`: The color of the button.\n- `contentColor`: The color of the icon.\n\nFloating action button\n----------------------\n\nTo create a general floating action button, use the basic\n[`FloatingActionButton`](/reference/kotlin/androidx/compose/material3/package-summary#FloatingActionButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.material3.FloatingActionButtonElevation,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function0)) composable. The following example demonstrates a\nbasic implementation of a FAB:\n\n\n```kotlin\n@Composable\nfun Example(onClick: () -\u003e Unit) {\n FloatingActionButton(\n onClick = { onClick() },\n ) {\n Icon(Icons.Filled.Add, \"Floating action button.\")\n }\n}https://github.com/android/snippets/blob/dd30aee903e8c247786c064faab1a9ca8d10b46e/compose/snippets/src/main/java/com/example/compose/snippets/components/FloatingActionButton.kt#L61-L68\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows:\n**Figure 2.** A floating action button.\n\nSmall button\n------------\n\nTo create a small floating action button, use the\n[`SmallFloatingActionButton`](/reference/kotlin/androidx/compose/material3/package-summary#SmallFloatingActionButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.material3.FloatingActionButtonElevation,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function0)) composable. The following example demonstrates\nhow to do so, with the addition of custom colors.\n\n\n```kotlin\n@Composable\nfun SmallExample(onClick: () -\u003e Unit) {\n SmallFloatingActionButton(\n onClick = { onClick() },\n containerColor = MaterialTheme.colorScheme.secondaryContainer,\n contentColor = MaterialTheme.colorScheme.secondary\n ) {\n Icon(Icons.Filled.Add, \"Small floating action button.\")\n }\n}https://github.com/android/snippets/blob/dd30aee903e8c247786c064faab1a9ca8d10b46e/compose/snippets/src/main/java/com/example/compose/snippets/components/FloatingActionButton.kt#L83-L92\n```\n\n\u003cbr /\u003e\n\n| **Note:** Because the various FAB composables share many parameters, you can use the approach in this example to customize colors with other composables.\n\nThis implementation appears as follows:\n**Figure 3.** A small floating action button.\n\nLarge button\n------------\n\nTo create a large floating action button, use the\n[`LargeFloatingActionButton`](/reference/kotlin/androidx/compose/material3/package-summary#LargeFloatingActionButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.material3.FloatingActionButtonElevation,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function0)) composable. This composable is not\nsignificantly different from the other examples aside from the fact that it\nresults in a bigger button.\n\nThe following is a straightforward implementation of a large FAB.\n| **Note:** This example passes `CircleShape` as the value for the `shape` parameter, resulting in a round button, rather than a square with rounded borders. You can pass any instance of `Shape`, or set the value of `MaterialTheme.shape.large` to adjust it across your app.\n\n\n```kotlin\n@Composable\nfun LargeExample(onClick: () -\u003e Unit) {\n LargeFloatingActionButton(\n onClick = { onClick() },\n shape = CircleShape,\n ) {\n Icon(Icons.Filled.Add, \"Large floating action button\")\n }\n}https://github.com/android/snippets/blob/dd30aee903e8c247786c064faab1a9ca8d10b46e/compose/snippets/src/main/java/com/example/compose/snippets/components/FloatingActionButton.kt#L96-L104\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows:\n**Figure 4.** A large floating action button.\n\nExtended button\n---------------\n\nYou can create more complex floating action buttons with the\n[`ExtendedFloatingActionButton`](/reference/kotlin/androidx/compose/material3/package-summary#ExtendedFloatingActionButton(kotlin.Function0,kotlin.Function0,kotlin.Function0,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.material3.FloatingActionButtonElevation,androidx.compose.foundation.interaction.MutableInteractionSource)) composable. The key difference between it\nand [`FloatingActionButton`](/reference/kotlin/androidx/compose/material3/package-summary#FloatingActionButton(kotlin.Function0,androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Shape,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,androidx.compose.material3.FloatingActionButtonElevation,androidx.compose.foundation.interaction.MutableInteractionSource,kotlin.Function0)) is that it has dedicated `icon` and `text`\nparameters. They let you create a button with more complex content that scales\nto fit its content appropriately.\n\nThe following snippet demonstrates how to implement\n`ExtendedFloatingActionButton`, with example values passed for `icon` and\n`text`.\n\n\n```kotlin\n@Composable\nfun ExtendedExample(onClick: () -\u003e Unit) {\n ExtendedFloatingActionButton(\n onClick = { onClick() },\n icon = { Icon(Icons.Filled.Edit, \"Extended floating action button.\") },\n text = { Text(text = \"Extended FAB\") },\n )\n}https://github.com/android/snippets/blob/dd30aee903e8c247786c064faab1a9ca8d10b46e/compose/snippets/src/main/java/com/example/compose/snippets/components/FloatingActionButton.kt#L72-L79\n```\n\n\u003cbr /\u003e\n\nThis implementation appears as follows:\n**Figure 5.** A floating action button with both text and an icon.\n\nAdditional resources\n--------------------\n\n- [Common buttons](/develop/ui/compose/components/button)\n- [Material UI docs](https://m3.material.io/components/floating-action-button/overview)"]]