# androidx.navigation

*** ** * ** ***

## Annotations

|---|---|
| `https://developer.android.com/reference/androidx/navigation/ExperimentalBrowserHistoryApi` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkDsl` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkSaveStateControl` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDestination.ClassType` | This optional annotation allows tooling to offer auto-complete for the `android:name` attribute. |
| `https://developer.android.com/reference/androidx/navigation/NavDestinationDsl` |   |
| `https://developer.android.com/reference/androidx/navigation/NavOptionsDsl` |   |
| `https://developer.android.com/reference/androidx/navigation/Navigator.Name` | This annotation should be added to each Navigator subclass in Android to denote the default name used to register the Navigator with a `https://developer.android.com/reference/androidx/navigation/NavigatorProvider`. |

## Interfaces

|---|---|
| `https://developer.android.com/reference/androidx/navigation/FloatingWindow` | A marker interface for `https://developer.android.com/reference/androidx/navigation/NavDestination` subclasses that float above the view of other destinations (i.e. [androidx.navigation.fragment.DialogFragmentNavigator.Destination](https://developer.android.com/reference/androidx/navigation/fragment/DialogFragmentNavigator.Destination)). |
| `https://developer.android.com/reference/androidx/navigation/NavArgs` | An interface marking generated Args classes. |
| `https://developer.android.com/reference/androidx/navigation/NavController.OnDestinationChangedListener` | OnDestinationChangedListener receives a callback when the `https://developer.android.com/reference/androidx/navigation/NavController#currentDestination()` or its arguments change. |
| `https://developer.android.com/reference/androidx/navigation/NavDirections` | An interface that describes a navigation operation: action's id and arguments |
| `https://developer.android.com/reference/androidx/navigation/NavHost` | A host is a single context or container for navigation via a `https://developer.android.com/reference/androidx/navigation/NavController`. |
| `https://developer.android.com/reference/androidx/navigation/Navigator.Extras` | Interface indicating that this class should be passed to its respective `https://developer.android.com/reference/androidx/navigation/Navigator` to enable Navigator specific behavior. |
| `https://developer.android.com/reference/androidx/navigation/SupportingPane` | A marker interface for `https://developer.android.com/reference/androidx/navigation/NavDestination` subclasses that sit alongside the view of other destinations. |

## Classes

|---|---|
| `https://developer.android.com/reference/androidx/navigation/ActionOnlyNavDirections` | An implementation of `https://developer.android.com/reference/androidx/navigation/NavDirections` without any arguments. |
| `https://developer.android.com/reference/androidx/navigation/ActivityKt` |   |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavArgsLazyKt` |   |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigator` | ActivityNavigator implements cross-activity navigation. |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination` | NavDestination for activity navigation |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras` | Extras that can be passed to ActivityNavigator to customize what `https://developer.android.com/reference/androidx/core/app/ActivityOptionsCompat` and flags are passed through to the call to `https://developer.android.com/reference/androidx/core/content/ContextCompat#startActivity(android.content.Context,android.content.Intent,android.os.Bundle)`. |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras.Builder` | Builder for constructing new `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Extras` instances. |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigatorDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/ActivityNavigator.Destination` |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigatorDestinationBuilderKt` |   |
| `https://developer.android.com/reference/androidx/navigation/ActivityNavigatorExtrasKt` |   |
| `https://developer.android.com/reference/androidx/navigation/AnimBuilder` | DSL for setting custom Animation or Animator resources on a `https://developer.android.com/reference/androidx/navigation/NavOptionsBuilder` |
| `https://developer.android.com/reference/androidx/navigation/BrowserHistoryKt` |   |
| `https://developer.android.com/reference/androidx/navigation/CollectionNavType` | A `https://developer.android.com/reference/androidx/navigation/NavType` for `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-collection/index.html` such as arrays, lists, maps. |
| `https://developer.android.com/reference/androidx/navigation/NamedNavArgument` | Construct a named `https://developer.android.com/reference/androidx/navigation/NavArgument` by using the `https://developer.android.com/reference/androidx/navigation/package-summary#navArgument(kotlin.String,kotlin.Function1)` method. |
| `https://developer.android.com/reference/androidx/navigation/NamedNavArgumentKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavAction` | Navigation actions provide a level of indirection between your navigation code and the underlying destinations. |
| `https://developer.android.com/reference/androidx/navigation/NavActionBuilder` | DSL for building a `https://developer.android.com/reference/androidx/navigation/NavAction`. |
| `https://developer.android.com/reference/androidx/navigation/NavArgsLazy` | An implementation of `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-lazy/index.html` used by `https://developer.android.com/reference/androidx/navigation/package-summary#(android.app.Activity).navArgs()` and `https://developer.android.com/reference/androidx/navigation/fragment/package-summary#(androidx.fragment.app.Fragment).navArgs()`. |
| `https://developer.android.com/reference/androidx/navigation/NavArgument` | NavArgument denotes an argument that is supported by a `https://developer.android.com/reference/androidx/navigation/NavDestination`. |
| `https://developer.android.com/reference/androidx/navigation/NavArgument.Builder` | A builder for constructing `https://developer.android.com/reference/androidx/navigation/NavArgument` instances. |
| `https://developer.android.com/reference/androidx/navigation/NavArgumentBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavArgument` |
| `https://developer.android.com/reference/androidx/navigation/NavBackStackEntry` | Representation of an entry in the back stack of a `https://developer.android.com/reference/androidx/navigation/NavController`. |
| `https://developer.android.com/reference/androidx/navigation/NavBackStackEntryKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavController` | NavController manages app navigation within a `https://developer.android.com/reference/androidx/navigation/NavHost`. |
| `https://developer.android.com/reference/androidx/navigation/NavControllerKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLink` | NavDeepLink encapsulates the parsing and matching of a navigation deep link. |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLink.Builder` | A builder for constructing `https://developer.android.com/reference/androidx/navigation/NavDeepLink` instances. |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkBuilder` | Class used to construct deep links to a particular destination in a `https://developer.android.com/reference/androidx/navigation/NavGraph`. |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavDeepLink` |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkDslBuilderKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkRequest` | A request for a deep link in a `https://developer.android.com/reference/androidx/navigation/NavDestination`. |
| `https://developer.android.com/reference/androidx/navigation/NavDeepLinkRequest.Builder` | A builder for constructing `https://developer.android.com/reference/androidx/navigation/NavDeepLinkRequest` instances. |
| `https://developer.android.com/reference/androidx/navigation/NavDestination` | NavDestination represents one node within an overall navigation graph. |
| `https://developer.android.com/reference/androidx/navigation/NavDestinationBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavDestination` |
| `https://developer.android.com/reference/androidx/navigation/NavGraph` | NavGraph is a collection of `https://developer.android.com/reference/androidx/navigation/NavDestination` nodes fetchable by ID. |
| `https://developer.android.com/reference/androidx/navigation/NavGraphBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavGraph` |
| `https://developer.android.com/reference/androidx/navigation/NavGraphBuilderKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavGraphKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavGraphNavigator` | A Navigator built specifically for `https://developer.android.com/reference/androidx/navigation/NavGraph` elements. |
| `https://developer.android.com/reference/androidx/navigation/NavGraphViewModelLazyKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavHostController` | Subclass of `https://developer.android.com/reference/androidx/navigation/NavController` that offers additional APIs for use by a `https://developer.android.com/reference/androidx/navigation/NavHost` to connect the NavController to external dependencies. |
| `https://developer.android.com/reference/androidx/navigation/NavHostKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavInflater` | Class which translates a navigation XML file into a `https://developer.android.com/reference/androidx/navigation/NavGraph` |
| `https://developer.android.com/reference/androidx/navigation/NavOptions` | NavOptions stores special options for navigate actions |
| `https://developer.android.com/reference/androidx/navigation/NavOptions.Builder` | Builder for constructing new instances of NavOptions. |
| `https://developer.android.com/reference/androidx/navigation/NavOptionsBuilder` | DSL for constructing a new `https://developer.android.com/reference/androidx/navigation/NavOptions` |
| `https://developer.android.com/reference/androidx/navigation/NavOptionsBuilderKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavType` | NavType denotes the type that can be used in a `https://developer.android.com/reference/androidx/navigation/NavArgument`. |
| `https://developer.android.com/reference/androidx/navigation/NavType.EnumType` | EnumType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s holding enum values. |
| `https://developer.android.com/reference/androidx/navigation/NavType.ParcelableArrayType` | ParcelableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s which hold arrays of Parcelables. |
| `https://developer.android.com/reference/androidx/navigation/NavType.ParcelableType` | ParcelableType is used for passing Parcelables in `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |
| `https://developer.android.com/reference/androidx/navigation/NavType.SerializableArrayType` | SerializableArrayType is used for `https://developer.android.com/reference/androidx/navigation/NavArgument`s that hold arrays of Serializables. |
| `https://developer.android.com/reference/androidx/navigation/NavType.SerializableType` | SerializableType is used for Serializable `https://developer.android.com/reference/androidx/navigation/NavArgument`s. |
| `https://developer.android.com/reference/androidx/navigation/NavUri` | see [android.net.Uri](https://developer.android.com/reference/android/net/Uri) |
| `https://developer.android.com/reference/androidx/navigation/NavUriKt` |   |
| `https://developer.android.com/reference/androidx/navigation/Navigator` | Navigator defines a mechanism for navigating within an app. |
| `https://developer.android.com/reference/androidx/navigation/NavigatorProvider` | A NavigationProvider stores a set of `https://developer.android.com/reference/androidx/navigation/Navigator`s that are valid ways to navigate to a destination. |
| `https://developer.android.com/reference/androidx/navigation/NavigatorProviderKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavigatorState` | The NavigatorState encapsulates the state shared between the `https://developer.android.com/reference/androidx/navigation/Navigator` and the `https://developer.android.com/reference/androidx/navigation/NavController`. |
| `https://developer.android.com/reference/androidx/navigation/PopUpToBuilder` | DSL for customizing `https://developer.android.com/reference/androidx/navigation/NavOptionsBuilder#popUpTo(kotlin.String,kotlin.Function1)` operations. |
| `https://developer.android.com/reference/androidx/navigation/SavedStateHandleKt` |   |
| `https://developer.android.com/reference/androidx/navigation/ViewKt` |   |
| `https://developer.android.com/reference/androidx/navigation/NavDestination.Companion` |   |
| `https://developer.android.com/reference/androidx/navigation/Navigation` | Entry point for navigation operations. |