我在显示 HomeAsUp 时遇到了问题。我认为有一种方法可以将 NavColtroller 与 ActionBar 链接起来。所以我不需要为每个 fragment 手动调整工具栏,主要是在使用包含返回到上一个屏幕时。
最佳答案
我找到了答案
设置工具栏后在 Activity 中添加此命令:
NavigationUI.setupActionBarWithNavController(this, Navigation.findNavController(this, R.id.nav_host_fragment));
实际上这还不够.. 因为 HomeAsUp 将可见但不工作!
为了让它工作有必要覆盖这个方法:
@Override
public boolean onSupportNavigateUp() {
return Navigation.findNavController(this, R.id.nav_host_fragment).navigateUp()
|| super.onSupportNavigateUp();
}
不要忘记在图表中设置适当的属性(popUpTo 和 popUpToInclusive):
<fragment
android:id="@+id/subFragment"
...
>
<action
android:id="@+id/action_subFragment_pop"
app:popUpTo="@id/homeFragment"
app:popUpToInclusive="true" />
</fragment>
关于android - 如何在使用 Android 导航图时显示 HomeAsUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57216342/