Users need an easy way to get back to your app's main screen. To do this, provide an Up
button on the app bar
for all activities except the main one. When the user selects the Up button, the app navigates to
the parent activity.
This page shows you how to add an Up button to an app bar using the Jetpack Navigation component.
For a more detailed explanation, see
Update UI components with NavigationUI.
Configure your app bar
Configure your app bar using an
AppBarConfiguration.
From the AppBarConfiguration, you can inform the app bar of your top-level
destinations. If the navigation drawer is configured, the drawer menu icon
displays on the app
bar on top-level destinations. If the navigation drawer isn't configured, the navigation button is
hidden on top-level destinations.
In both cases, the Up button displays on all other destinations. Pressing the Up button calls
navigateUp().
The following example shows how to configure an app bar using
AppBarConfiguration:
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-10-31 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[],[],null,["# Add an Up action\n\nTry the Compose way \nJetpack Compose is the recommended UI toolkit for Android. Learn how to add components in Compose. \n[Navigate from top app bar →](/develop/ui/compose/components/app-bars-navigate) \n\nUsers need an easy way to get back to your app's main screen. To do this, provide an *Up*\nbutton on the app bar\nfor all activities except the main one. When the user selects the Up button, the app navigates to\nthe parent activity.\n\nThis page shows you how to add an Up button to an app bar using the Jetpack Navigation component.\nFor a more detailed explanation, see\n[Update UI components with NavigationUI](/guide/navigation/navigation-ui).\n| **Note:** We recommend using the Jetpack Navigation component to handle your app navigation. This component handles navigating up from the current screen in your app when the user taps the Up button. To learn more, see the documentation for the [Jetpack Navigation component](/guide/navigation).\n\nConfigure your app bar\n----------------------\n\nConfigure your app bar using an\n[AppBarConfiguration](/reference/androidx/navigation/ui/AppBarConfiguration).\nFrom the `AppBarConfiguration`, you can inform the app bar of your top-level\ndestinations. If the navigation drawer is configured, the drawer menu icon\ndisplays on the app\nbar on top-level destinations. If the navigation drawer isn't configured, the navigation button is\nhidden on top-level destinations.\n\nIn both cases, the Up button displays on all other destinations. Pressing the Up button calls\n[navigateUp()](/reference/androidx/navigation/NavController#navigateUp()).\n\nThe following example shows how to configure an app bar using\n`AppBarConfiguration`: \n\n### Kotlin\n\n```kotlin\n override fun onCreate(savedInstanceState: Bundle?) {\n ...\n val navController = findNavController(R.id.nav_host_fragment_activity_main)\n \n val appBarConfiguration = AppBarConfiguration(\n setOf(\n R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications\n )\n )\n binding.myToolbar.setupWithNavController(navController, appBarConfiguration)\n }\n \n```\n\n### Java\n\n```java\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n ...\n NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);\n\n AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(\n R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)\n .build();\n NavigationUI.setupWithNavController(binding.myToolbar, navController, appBarConfiguration);\n }\n \n```"]]