ComposeNavigator


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

Cmn
android

Public functions

open ComposeNavigator.Destination

Construct a new NavDestination associated with this Navigator.

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

Navigate to a destination.

Cmn
android
Unit

Callback to mark a navigation in transition as complete.

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

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

Cmn
android
Unit

Function to prepare the entry for transition.

Cmn
android

Public properties

StateFlow<List<NavBackStackEntry>>

Get the back stack from the state.

Cmn
android

Inherited functions

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

Navigate to a destination.

Cmn
open Unit

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

Cmn
android
open Unit

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

Cmn
android
open Unit

Restore any state previously saved in onSaveState.

Cmn
open SavedState?

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

Cmn
android
open Boolean

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

Cmn
android

Inherited properties

From androidx.navigation.Navigator
Boolean

Whether this Navigator is actively being used by a NavController.

Cmn
android
NavigatorState

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

Cmn
android

Public constructors

ComposeNavigator

ComposeNavigator()

Public functions

createDestination

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

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

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

val backStackStateFlow<List<NavBackStackEntry>>

Get the back stack from the state.