Function

navigation

Construct a nested NavGraph

RevenueCat

RevenueCat

Add subscriptions to your apps in minutes

Ad Get started for free
Common
Deprecated Deprecated in favor of navigation builder that supports AnimatedContent
public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

startDestination the starting destination's route for this NavGraph
route the destination's unique route
arguments list of arguments to associate with destination
deepLinks list of deep links to associate with the destinations
builder the builder used to construct the graph
Common
Deprecated Deprecated in favor of navigation builder that supports sizeTransform

public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        null,
    exitTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        enterTransition,
    popExitTransition: (AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        exitTransition,
    builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

startDestination the starting destination's route for this NavGraph
route the destination's unique route
arguments list of arguments to associate with destination
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph

Common
public fun NavGraphBuilder.navigation(
    startDestination: String,
    route: String,
    arguments: List<NamedNavArgument> = emptyList(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        null,
    exitTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        null,
    popEnterTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (@JvmSuppressWildcards
        AnimatedContentTransitionScope<NavBackStackEntry>.() -> SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

startDestination the starting destination's route for this NavGraph
route the destination's unique route
arguments list of arguments to associate with destination
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
sizeTransform callback to define the size transform for destinations in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph

Common
public inline fun <reified T : Any> NavGraphBuilder.navigation(
    startDestination: KClass<*>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    noinline enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    noinline exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    noinline popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    noinline popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    noinline sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    noinline builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

T the destination's unique route from a KClass
startDestination the starting destination's route from KClass for this NavGraph
typeMap map of destination arguments' kotlin type KType to its respective custom NavType. May be empty if T does not use custom NavTypes.
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
sizeTransform callback to define the size transform for destinations in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph

Common
public fun <T : Any> NavGraphBuilder.navigation(
    startDestination: KClass<*>,
    route: KClass<T>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

route the destination's unique route from a KClass
startDestination the starting destination's route from KClass for this NavGraph
typeMap map of destination arguments' kotlin type KType to its respective custom NavType. May be empty if route does not use custom NavTypes.
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
sizeTransform callback to define the size transform for destinations in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph

Common
public inline fun <reified T : Any> NavGraphBuilder.navigation(
    startDestination: Any,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    noinline enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    noinline exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    noinline popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    noinline popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    noinline sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    noinline builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

T the destination's unique route from a KClass
startDestination the starting destination's route from an Object for this NavGraph
typeMap map of destination arguments' kotlin type KType to its respective custom NavType. May be empty if T does not use custom NavTypes.
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
sizeTransform callback to define the size transform for destinations in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph

Common
public fun <T : Any> NavGraphBuilder.navigation(
    startDestination: Any,
    route: KClass<T>,
    typeMap: Map<KType, @JvmSuppressWildcards NavType<*>> = emptyMap(),
    deepLinks: List<NavDeepLink> = emptyList(),
    enterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        null,
    exitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        null,
    popEnterTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            EnterTransition?)? =
        enterTransition,
    popExitTransition:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            ExitTransition?)? =
        exitTransition,
    sizeTransform:
        (AnimatedContentTransitionScope<NavBackStackEntry>.() -> @JvmSuppressWildcards
            SizeTransform?)? =
        null,
    builder: NavGraphBuilder.() -> Unit,
)

Construct a nested NavGraph

Parameters

route the destination's unique route from a KClass
startDestination the starting destination's route from an Object for this NavGraph
typeMap map of destination arguments' kotlin type KType to its respective custom NavType. May be empty if route does not use custom NavTypes.
deepLinks list of deep links to associate with the destinations
enterTransition callback to define enter transitions for destination in this NavGraph
exitTransition callback to define exit transitions for destination in this NavGraph
popEnterTransition callback to define pop enter transitions for destination in this NavGraph
popExitTransition callback to define pop exit transitions for destination in this NavGraph
sizeTransform callback to define the size transform for destinations in this NavGraph
builder the builder used to construct the graph

Returns

the newly constructed nested NavGraph