ComposeNavigator

@Navigator.Name(value = "composable")
class ComposeNavigator : Navigator


Navigator that navigates through Composables. Every destination using this Navigator must set a valid Composable by setting it directly on an instantiated Destination or calling composable.

Summary

Nested types

NavDestination specific to ComposeNavigator

Public constructors

Public functions

open ComposeNavigator.Destination

Construct a new NavDestination associated with this Navigator.

open Unit
navigate(
    entries: List<NavBackStackEntry>,
    navOptions: NavOptions?,
    navigatorExtras: Navigator.Extras?
)

Navigate to a destination.

Unit

Callback to mark a navigation in transition as complete.

open Unit
popBackStack(popUpTo: NavBackStackEntry, savedState: Boolean)

Attempt to pop this navigator's back stack, performing the appropriate navigation.

Unit

Function to prepare the entry for transition.

Public properties

StateFlow<List<NavBackStackEntry>>

Get the back stack from the state.

Inherited functions

From androidx.navigation.Navigator
open NavDestination?
navigate(
    destination: ComposeNavigator.Destination,
    args: Bundle?,
    navOptions: NavOptions?,
    navigatorExtras: Navigator.Extras?
)

Navigate to a destination.

open Unit

Indicator that this Navigator is actively being used by a NavController.

open Unit

Informational callback indicating that the given backStackEntry has been affected by a NavOptions.shouldLaunchSingleTop operation.

open Unit
onRestoreState(savedState: Bundle)

Restore any state previously saved in onSaveState.

open Bundle?

Called to ask for a Bundle representing the Navigator's state.

open Boolean

Attempt to pop this navigator's back stack, performing the appropriate navigation.

Inherited properties

From androidx.navigation.Navigator
Boolean

Whether this Navigator is actively being used by a NavController.

NavigatorState

The state of the Navigator is the communication conduit between the Navigator and the NavController that has called onAttach.

Public constructors

ComposeNavigator

Added in 2.4.0
ComposeNavigator()

Public functions

createDestination

Added in 2.4.0
open fun createDestination(): ComposeNavigator.Destination

Construct a new NavDestination associated with this Navigator.

Any initialization of the destination should be done in the destination's constructor as it is not guaranteed that every destination will be created through this method.

Returns
ComposeNavigator.Destination

a new NavDestination

open fun navigate(
    entries: List<NavBackStackEntry>,
    navOptions: NavOptions?,
    navigatorExtras: Navigator.Extras?
): Unit

Navigate to a destination.

Requests navigation to a given destination associated with this navigator in the navigation graph. This method generally should not be called directly; NavController will delegate to it when appropriate.

Parameters
entries: List<NavBackStackEntry>

destination(s) to navigate to

navOptions: NavOptions?

additional options for navigation

navigatorExtras: Navigator.Extras?

extras unique to your Navigator.

onTransitionComplete

Added in 2.6.0
fun onTransitionComplete(entry: NavBackStackEntry): Unit

Callback to mark a navigation in transition as complete.

This should be called in conjunction with navigate and popBackStack as those calls merely start a transition to the target destination, and requires manually marking the transition as complete by calling this method.

Failing to call this method could result in entries being prevented from reaching their final Lifecycle.State.

popBackStack

open fun popBackStack(popUpTo: NavBackStackEntry, savedState: Boolean): Unit

Attempt to pop this navigator's back stack, performing the appropriate navigation.

All destinations back to popUpTo should be popped off the back stack.

Parameters
popUpTo: NavBackStackEntry

the entry that should be popped off the NavigatorState.backStack along with all entries above this entry.

savedState: Boolean

whether any Navigator specific state associated with popUpTo should be saved to later be restored by a call to navigate with NavOptions.shouldRestoreState.

prepareForTransition

Added in 2.8.0
fun prepareForTransition(entry: NavBackStackEntry): Unit

Function to prepare the entry for transition.

This should be called when the entry needs to move the Lifecycle.State in preparation for a transition such as when using predictive back.

Public properties

backStack

Added in 2.6.0
val backStackStateFlow<List<NavBackStackEntry>>

Get the back stack from the state.