Composable Function

NavigationSuiteScaffoldLayout

Layout for a NavigationSuiteScaffold's content.

RevenueCat

RevenueCat

Add subscriptions to your apps in minutes

Ad Get started for free
Common
@Composable
fun NavigationSuiteScaffoldLayout(
    navigationSuite: @Composable () -> Unit,
    navigationSuiteType: NavigationSuiteType,
    state: NavigationSuiteScaffoldState = rememberNavigationSuiteScaffoldState(),
    primaryActionContent: @Composable (() -> Unit) = {},
    primaryActionContentHorizontalAlignment: Alignment.Horizontal =
        NavigationSuiteScaffoldDefaults.primaryActionContentAlignment,
    content: @Composable () -> Unit,
)

Layout for a NavigationSuiteScaffold's content. This function wraps the content and places the navigationSuite, and the primaryActionContent, if any, according to the current NavigationSuiteType.

The usage of this function is recommended when you need some customization that is not viable via the use of NavigationSuiteScaffold. An usage example of using a custom modal wide rail can be found at androidx.compose.material3.demos.NavigationSuiteScaffoldCustomConfigDemo.

Parameters

navigationSuite the navigation component to be displayed, typically NavigationSuite
navigationSuiteType the current NavigationSuiteType. Usually NavigationSuiteScaffoldDefaults.navigationSuiteType
state the NavigationSuiteScaffoldState of this navigation suite scaffold layout
primaryActionContent The optional primary action content of the navigation suite scaffold, if any. Typically a androidx.compose.material3.FloatingActionButton. It'll be displayed inside vertical navigation components as part of their header, and above horizontal navigation components.
primaryActionContentHorizontalAlignment The horizontal alignment of the primary action content, if present, when it's displayed along with a horizontal navigation component.
content the content of your screen

Common
@Composable
fun NavigationSuiteScaffoldLayout(
    navigationSuite: @Composable () -> Unit,
    layoutType: NavigationSuiteType =
        NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo(WindowAdaptiveInfoDefault),
    state: NavigationSuiteScaffoldState = rememberNavigationSuiteScaffoldState(),
    content: @Composable () -> Unit = {},
)

Layout for a NavigationSuiteScaffold's content. This function wraps the content and places the navigationSuite component according to the given layoutType.

Note: It is recommended to use the NavigationSuiteScaffoldLayout function with the navigationSuiteType param instead of this one.

The usage of this function is recommended when you need some customization that is not viable via the use of NavigationSuiteScaffold.

Parameters

navigationSuite the navigation component to be displayed, typically NavigationSuite
layoutType the current NavigationSuiteType. Defaults to NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo
state the NavigationSuiteScaffoldState of this navigation suite scaffold layout
content the content of your screen
Common
Deprecated Deprecated in favor of NavigationSuiteScaffoldLayout with state parameter

@Composable
fun NavigationSuiteScaffoldLayout(
    navigationSuite: @Composable () -> Unit,
    layoutType: NavigationSuiteType =
        NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo(WindowAdaptiveInfoDefault),
    content: @Composable () -> Unit = {},
) =
    NavigationSuiteScaffoldLayout(
        navigationSuite = navigationSuite,
        navigationSuiteType = layoutType,
        state = rememberNavigationSuiteScaffoldState(),
        content = content,
    )

Layout for a NavigationSuiteScaffold's content. This function wraps the content and places the navigationSuite component according to the given layoutType.

The usage of this function is recommended when you need some customization that is not viable via the use of NavigationSuiteScaffold.

Parameters

navigationSuite the navigation component to be displayed, typically NavigationSuite
layoutType the current NavigationSuiteType. Defaults to NavigationSuiteScaffoldDefaults.calculateFromAdaptiveInfo
content the content of your screen