添加向上操作

用户需要一种能够轻松返回应用主屏幕的方式。为此,请在应用栏上为除主 activity 之外的所有 activity 提供一个向上按钮 。当用户选择向上按钮时,应用会转到父 activity。

本页介绍了如何使用 Jetpack Navigation 组件向应用栏添加向上按钮。如需了解更详细的说明,请参阅使用 NavigationUI 更新界面组件

配置应用栏

使用 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);
  }