android - 使用带有喷气背包导航组件的抽屉导航时如何更改工具栏图标(汉堡图标)

标签 android navigation-drawer android-jetpack hamburger-menu android-jetpack-navigation

我正在使用喷气背包导航组件来构建一个抽屉导航,我想更改工具栏的汉堡图标,我尝试了很多像下面这样的解决方案,但它们不起作用

app:navigationIcon="@drawable/menu"
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.menu);
这是我的代码
 override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    setSupportActionBar(toolbar)
    navController=findNavController(R.id.nav_host_fragment)
    appBarConfiguration=AppBarConfiguration(setOf(R.id.nav_acceuil,R.id.nav_notifications,R.id.nav_gerer,R.id.nav_deconnexion),drawer_layout)
    setupActionBarWithNavController(navController,appBarConfiguration)
    nav_view.setupWithNavController(navController);
}

最佳答案

您可以使用 addOnDestinationChangedListener :

    navController.addOnDestinationChangedListener { controller, destination, arguments ->
        if (destination.id == R.id.nav_xxxx){
            supportActionBar?.setHomeAsUpIndicator(R.drawable.xxxx)
        }
    }

关于android - 使用带有喷气背包导航组件的抽屉导航时如何更改工具栏图标(汉堡图标),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63217399/

相关文章:

java - 未显示可扩展 ListView Activity 。我该如何修复。?

android - GCC 6 移位溢出错误,

android - 什么是 ScrimInsetsFrameLayout?

android - Paging 3 - 如何处理自 beta01 以来出现的旧 APPEND RemoteMediator 请求?

java - 在android中读取远程文本文件

java - 离开 parent 时Android View 消失

android - 什么是安卓X?

android - 组合 WorkContinuation 没有按预期工作

android - 使用 Fragment Manager 和 DrawerLayout 管理多个层次结构

android - 即使覆盖 onBackPressed(),抽屉导航也会关闭