添加“向上”操作

用户需要一种简单的方法返回您的应用的主屏幕。为此,请在应用栏中提供一个向上按钮 ,用于除主活动之外的所有活动。当用户选择向上按钮时,应用将导航到父活动。

本页面介绍如何使用 Jetpack 导航组件将向上按钮添加到应用栏。有关更详细的说明,请参阅使用 NavigationUI 更新 UI 组件.

配置您的应用栏

使用 AppBarConfiguration 配置您的应用栏。从 AppBarConfiguration,您可以告知应用栏您的顶级目的地。如果导航抽屉已配置,抽屉菜单图标 会显示在顶级目的地的应用栏上。如果导航抽屉未配置,导航按钮将隐藏在顶级目的地。

在这两种情况下,向上按钮都会显示在所有其他目的地。按向上按钮会调用 navigateUp()

以下示例展示了如何使用 AppBarConfiguration 配置应用栏

Kotlin

  override fun onCreate(savedInstanceState: Bundle?) {
    ...
    val navController = findNavController(R.id.nav_host_fragment_activity_main)
    
    val appBarConfiguration = AppBarConfiguration(
        setOf(
            R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications
        )
    )
    binding.myToolbar.setupWithNavController(navController, appBarConfiguration)
  }
  

Java

  @Override
  protected void onCreate(Bundle savedInstanceState) {
      ...
      NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main);

      AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
              R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications)
              .build();
      NavigationUI.setupWithNavController(binding.myToolbar, navController, appBarConfiguration);
  }