我正在尝试使用自定义的后退导航,而不是使用默认的后退箭头。我要使用取消图标:
通过在我的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)
}
如何用自定义图标替换默认箭头?另外-为什么默认箭头为黑色?这是一个主题问题吗?
答案 0 :(得分:0)
设置方法后,您可以使用addOnDestinationChangedListener
设置自己的图标。
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.xxxx) {
toolbar.setNavigationIcon(R.drawable.xxxx)
} else {
//
}
}
关于向上图标的颜色,请检查此answer。
只需使用colorOnPrimary
属性覆盖colorControlNormal
中的Toolbar
或android:theme
。