Scaffold

fun Scaffold(modifier: Modifier = Modifier, topBar: @Composable () -> Unit = {}, action: @Composable () -> Unit = {}, backgroundColor: Color = OrbitTheme.colors.surface.main, contentColor: Color = contentColorFor(backgroundColor), actionLayout: @Composable () -> Unit = { ScaffoldAction( backgroundColor = backgroundColor, content = action, ) }, toastHostState: ToastHostState = rememberToastHostState(), toastHost: @Composable (ToastHostState) -> Unit = { ToastHost(it) }, contentWindowInsets: WindowInsets = WindowInsets.ime, content: @Composable (contentPadding: PaddingValues) -> Unit)

Scaffold helps layouting basic screen widgets, such as TopAppBar, action and the content.

The action slot takes a primary action for the screen, usually a button. This slot is wrapped with actionLayout to provide additional insets and another visual padding and background fade.

Utilize contentPadding passed to content lambda to handle IME, navigation or status bar paddings. If you define your own actionLayout, do not forget to handle IME and navigation bar insets in it.

The contentWindowInsets allows disabling handling IME insets and keeping the Scaffold unaffected.