Package-level declarations

Types

Link copied to clipboard
class NavAction(navController: NavHostController)

Handles the navigation actions.

Link copied to clipboard

It resolves the argument values for given a navBackStackEntry for the navDestination.

Link copied to clipboard
interface NavArgumentKey

Represents a key for a navigation argument.

Link copied to clipboard
abstract class NavDestination<K : NavArgumentKey>

Represents some Destination in the Navigation graph. It's defined by a destinationId and a list of arguments.

Link copied to clipboard

Represents the navigation route to reach some destination. NavAction.navigate receives a NavRoute object.

Link copied to clipboard

Represents a TopLevel NavDestination.

Functions

Link copied to clipboard
fun NavGraphBuilder.composable(navDestination: NavDestination<*>, arguments: List<NamedNavArgument> = navDestination.arguments, deepLinks: List<NavDeepLink> = navDestination.deepLinks, enterTransition: @JvmSuppressWildcards AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?? = null, exitTransition: @JvmSuppressWildcards AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?? = null, popEnterTransition: @JvmSuppressWildcards AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition?? = enterTransition, popExitTransition: @JvmSuppressWildcards AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition?? = exitTransition, content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit)
Link copied to clipboard
fun NavGraphBuilder.dialog(navDestination: NavDestination<*>, arguments: List<NamedNavArgument> = navDestination.arguments, deepLinks: List<NavDeepLink> = navDestination.deepLinks, dialogProperties: DialogProperties = DialogProperties(), content: @Composable (NavBackStackEntry) -> Unit)

Add the Composable to the NavGraphBuilder that will be hosted within a androidx.compose.ui.window.Dialog. This is suitable only when this dialog represents a separate screen in your app that needs its own lifecycle and saved state, independent of any other destination in your navigation graph. For use cases such as AlertDialog, you should use those APIs directly in the composable destination that wants to show that dialog.

Link copied to clipboard
fun NavHost(navController: NavHostController, startNavDestination: NavDestination<*>, modifier: Modifier = Modifier, contentAlignment: Alignment = Alignment.Center, route: String? = null, enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = { fadeIn(animationSpec = tween(700)) }, exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = { fadeOut(animationSpec = tween(700)) }, popEnterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition = enterTransition, popExitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition = exitTransition, builder: NavGraphBuilder.() -> Unit)

Once this is called, any Composable within the given NavGraphBuilder can be navigated to from the provided navController.

Link copied to clipboard
fun NavGraphBuilder.navigation(navDestination: NavDestination<*>, startNavDestination: NavDestination<*>, arguments: List<NamedNavArgument> = navDestination.arguments, deepLinks: List<NavDeepLink> = navDestination.deepLinks, 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

Link copied to clipboard

Creates a NavAction that is remembered across compositions.