单击工具栏后退按钮将替换为默认图标半秒钟
Toolbar back button replaced for default icon for a half second when clicking on it
我正在尝试像这样替换工具栏上的默认后退按钮图标:
toolbar.navigationIcon = R.drawable.lalala
没问题,而且可以正常工作。但是,当我尝试单击后退按钮时,有半秒钟我可以看到默认图标而不是我的图标。我做错了什么?
我正在使用片段和 JetPack 导航。
由于您使用的是导航组件,因此预期的行为是当您位于 non-root 目的地时显示向上按钮。
您可以在设置方法后使用 addOnDestinationChangedListener
更改它。
类似于:
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}
我正在尝试像这样替换工具栏上的默认后退按钮图标:
toolbar.navigationIcon = R.drawable.lalala
没问题,而且可以正常工作。但是,当我尝试单击后退按钮时,有半秒钟我可以看到默认图标而不是我的图标。我做错了什么?
我正在使用片段和 JetPack 导航。
由于您使用的是导航组件,因此预期的行为是当您位于 non-root 目的地时显示向上按钮。
您可以在设置方法后使用 addOnDestinationChangedListener
更改它。
类似于:
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}