JetpackNavigationSuiteScaffold
fun JetpackNavigationSuiteScaffold(navigationSuiteItems: JetpackNavigationSuiteScope.() -> Unit, modifier: Modifier = Modifier, windowAdaptiveInfo: WindowAdaptiveInfo = currentWindowAdaptiveInfo(), content: @Composable () -> Unit)
Jetpack navigation suite scaffold with item and content slots. Wraps Material 3 NavigationSuiteScaffold.
This component automatically adapts the navigation UI based on window size:
Compact screens: Bottom navigation bar
Medium screens: Navigation rail
Expanded screens: Navigation drawer
Usage example:
JetpackNavigationSuiteScaffold(
navigationSuiteItems = {
destinations.forEach { destination ->
val selected = destination == currentDestination
item(
selected = selected,
onClick = { onNavigateToDestination(destination) },
icon = { Icon(destination.unselectedIcon, contentDescription = null) },
selectedIcon = { Icon(destination.selectedIcon, contentDescription = null) },
label = { Text(stringResource(destination.labelRes)) },
)
}
},
) {
// App content here
NavHost(navController = navController, startDestination = startDestination) {
// ... navigation graph
}
}Content copied to clipboard
See also:
JetpackNavigationBar for bottom navigation only
JetpackNavigationRail for rail navigation only
Comprehensive examples in the Components Guide documentation
Parameters
modifier
Modifier to be applied to the navigation suite scaffold.
navigationSuiteItems
A slot to display multiple items via JetpackNavigationSuiteScope.
windowAdaptiveInfo
The window adaptive info.
content
The app content inside the scaffold.