OverlayHost
An OverlayHost can be used overlaysOverlay with content on top of other content. This is useful for one-off request/result flows such as:
Bottom sheets
Modals/dialogs
Tooltips
Full-screen takeover prompts
etc.
The suspend show function is generically typed and can be suspended on to await the result of whatever overlay was launched.
currentOverlayData is read-only and can be used to observe the current overlay data. This is generally intended to be used wherever the OverlayHost is provided via LocalOverlayHost.
In Android, this can be managed via the ContentWithOverlays
composable function.
To avoid accidentally capturing unnecessary state, it's recommended to create extension functions on OverlayHost
that call show with the appropriate overlay and result type.
private suspend fun OverlayHost.confirm(message: String): ConfirmationResult {
return show(ConfirmationOverlay(message))
}
Inheritors
Properties
The current OverlayHostData or null if no overlay is currently showing.
Functions
Shows the given overlay and suspends until the overlay is finished with a Result. The overlay should always signal a result (even if it's just something like Result.Dismissed
) so that the OverlayHost can properly clear its currentOverlayData.