Код: Выделить всё
binding.toolbar.setNavigationIconTint(ContextCompat.getColor(this, R.color.white))
Но как только навигационный компонент открывает любой из фрагмента с помощью кнопки «Стрелка» (если он может вернуться к предыдущему фрагменту), то цвет стрелки кнопкой спины отличается (он черный)
Даже следующий код не помогает изменить цвет значка стрелки из кнопки назад:
Код: Выделить всё
override fun onDestinationChanged(
controller: NavController,
destination: NavDestination,
arguments: Bundle?
) {
binding.toolbar.setNavigationIconTint(ContextCompat.getColor(this, R.color.white))
}
Почему я не могу изменить его при использовании фрагментов с навигационной комиссией и почему он устанавливается на какой -то задний цвет (по умолчанию один или что)? Это может быть стрелка назад или может быть значок меню (гамбургер), если текущий фрагмент является одним из фрагментов, установленных для AppbarConfiguration (фрагменты)
Когда я устанавливаю это в качестве этого в OndestinationChanced , затем он будет изменен, но здесь я вручную устанавливаю ICON и цвет, и я должен добавлять логик, если я должен установить все, что я должен установить все, что я должен установить Arrow, или у мужчин, и у меня есть все, что я должен установить Arrow, или у мужчин. Это код шаблона, потому что NavigationCompopnent может обрабатывать его сам:
binding.toolbar.setNavigationIcon(R.drawable.ic_arrow) // or menu (need to add logic which icon should be used)
binding.toolbar.setNavigationIconTint(ContextCompat.getColor(this, R.color.white))
< /code>
Все, что я хочу, - это просто изменить цвет навигационной значки, но не сам значок. Вот почему я хочу динамически изменить цвет значков
Подробнее здесь: https://stackoverflow.com/questions/733 ... vigation-c