使用 Android Jetpack Navigation 时如何禁用导航图标

How to disable Navigation Icon when using Android Jetpack Navigation

当您使用导航架构注册工具栏时,它会创建一个箭头,允许您在您所在的片段上弹出。

在一些基本级别的片段上,我不想使用汉堡包菜单图标或箭头,而是使用自定义视图对象。

如何禁用视图中的后退按钮?

我试过手动禁用,但很难找到如何使用 Navigation arch 来管理它。

val supportActionBar = activity?.actionBar
    if (supportActionBar != null) {
        supportActionBar.setDisplayShowHomeEnabled(false)
        supportActionBar.setDisplayHomeAsUpEnabled(false)
        supportActionBar.setHomeButtonEnabled(false)
        supportActionBar.setHomeAsUpIndicator(null)
}

好吧,一个小时后,我希望我的痛苦和疏忽真的能帮助别人。在 Navigation Architecture 强制您将可绘制对象加载到导航图标中之后,我想出的唯一解决方案是取消它。

toolbar.navigationIcon = null

我用这个解决了这个问题:

val actionBar = (activity as AppCompatActivity).supportActionBar
actionBar?.setDisplayHomeAsUpEnabled(false)

无论如何,您还应该记住,您需要更改导航图以设置正确的 popUpTo 目的地或以某种方式禁用系统后退按钮。