要在Android导航架构组件中实现系统的返回按钮退出应用程序,可以按照以下步骤进行操作:
build.gradle 文件中添加以下依赖项以使用导航组件:implementation "androidx.navigation:navigation-fragment-ktx:2.3.0"
implementation "androidx.navigation:navigation-ui-ktx:2.3.0"
NavHostFragment,用于显示导航目的地:
onCreate 方法中设置导航控制器,并将返回按钮的行为设置为退出应用程序:@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController);
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, AppBarConfiguration.Builder().build())
|| super.onSupportNavigateUp();
}
在上述代码中,ExitFragment 是自定义的目的地,action_exitFragment_to_homeFragment 是从 ExitFragment 跳转到 HomeFragment 的操作。popUpTo 属性指定要弹出的目的地,popUpToInclusive 属性指定是否包含指定的目的地。
这样,当用户点击系统的返回按钮时,将退出应用程序并返回到指定的目的地。