SnackbarHostState
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
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
message | text to be shown in the Snackbar |
actionLabel | optional action label to show as button in the Snackbar |
duration | duration 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 |