不显示自定义导航图标 // Jetpack Navigation
Custom navigation icon not displayed // Jetpack Navigation
我正在尝试使用自定义后退导航而不是使用默认后退箭头。我想使用取消图标:
通过在我的 XML 文件中使用 app:navigationIcon="@drawable/ic_cancel_white_24dp"
。
但是,当我 运行 应用程序时,图标永远不会显示。相反,它以黑色显示默认的后退箭头:
我正在使用 NAV 控制器和 AppBarConfiguration 来设置工具栏(因为我拥有的每个片段的工具栏样式都不同):
private fun setUpActionBar() {
val navController = findNavController()
val appBarConfiguration = AppBarConfiguration(navController.graph)
binding.toolbar.setupWithNavController(navController, appBarConfiguration)
binding.toolbar.inflateMenu(R.menu.menu)
}
如何用自定义图标替换默认箭头?另外-为什么默认箭头是黑色的?这是主题问题吗?
您可以使用addOnDestinationChangedListener
在您的设置方法后设置您自己的图标。
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}
关于向上图标的颜色检查这个。
只需使用 android:theme
属性覆盖 Toolbar
中的 colorOnPrimary
或 colorControlNormal
。
我正在尝试使用自定义后退导航而不是使用默认后退箭头。我想使用取消图标:
通过在我的 XML 文件中使用 app:navigationIcon="@drawable/ic_cancel_white_24dp"
。
但是,当我 运行 应用程序时,图标永远不会显示。相反,它以黑色显示默认的后退箭头:
我正在使用 NAV 控制器和 AppBarConfiguration 来设置工具栏(因为我拥有的每个片段的工具栏样式都不同):
private fun setUpActionBar() {
val navController = findNavController()
val appBarConfiguration = AppBarConfiguration(navController.graph)
binding.toolbar.setupWithNavController(navController, appBarConfiguration)
binding.toolbar.inflateMenu(R.menu.menu)
}
如何用自定义图标替换默认箭头?另外-为什么默认箭头是黑色的?这是主题问题吗?
您可以使用addOnDestinationChangedListener
在您的设置方法后设置您自己的图标。
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}
关于向上图标的颜色检查这个
只需使用 android:theme
属性覆盖 Toolbar
中的 colorOnPrimary
或 colorControlNormal
。