SnackbarHostState

Class

Common
class SnackbarHostState

State of the SnackbarHost, controls the queue and the current Snackbar being shown inside the SnackbarHost.

This state usually lives as a part of a ScaffoldState and provided to the SnackbarHost automatically, but can be decoupled from it and live separately when desired.

Properties

Common
var currentSnackbarData

The current SnackbarData being shown by the SnackbarHost, of null if none.

Functions

suspend fun showSnackbar(
        message: String,
        actionLabel: String? = null,
        duration: SnackbarDuration = SnackbarDuration.Short,
    ): SnackbarResult

Shows or queues to be shown a Snackbar at the bottom of the Scaffold at which this state is attached and suspends until snackbar is disappeared.

SnackbarHostState guarantees to show at most one snackbar at a time. If this function is called while another snackbar is already visible, it will be suspended until this snack bar is shown and subsequently addressed. If the caller is cancelled, the snackbar will be removed from display and/or the queue to be displayed.

All of this allows for granular control over the snackbar queue from within:

To change the Snackbar appearance, change it in 'snackbarHost' on the Scaffold.

Parameters

messagetext to be shown in the Snackbar
actionLabeloptional action label to show as button in the Snackbar
durationduration to control how long snackbar will be shown in SnackbarHost, either SnackbarDuration.Short, SnackbarDuration.Long or SnackbarDuration.Indefinite

Returns

SnackbarResult.ActionPerformed if option action has been clicked or SnackbarResult.Dismissed if snackbar has been dismissed via timeout or by the user