使用 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 目的地或以某种方式禁用系统后退按钮。
当您使用导航架构注册工具栏时,它会创建一个箭头,允许您在您所在的片段上弹出。
在一些基本级别的片段上,我不想使用汉堡包菜单图标或箭头,而是使用自定义视图对象。
如何禁用视图中的后退按钮?
我试过手动禁用,但很难找到如何使用 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 目的地或以某种方式禁用系统后退按钮。