ActionBarDrawerToggle.syncState不显示汉堡图标?

时间:2015-05-17 08:43:26

标签: android

更新:我从谷歌的github(https://github.com/google/material-design-icons/blob/master/navigation/drawable-xxhdpi/ic_menu_white_48dp.png)找到了汉堡图标,但是将可绘制资源传递给ActionBarDrawerToggle并调用syncState并没有显示汉堡图标与其他帖子的建议相反(Appcompatv7 - v21 Navigation drawer not showing hamburger icon

老问题:我正在为我的Android应用程序制作导航栏,我意识到汉堡包图标丢失了。我按照了这个问题(Appcompatv7 - v21 Navigation drawer not showing hamburger icon)并意识到我必须调用mDrawerToggle.syncState(); ...现在要创建一个ActionBarDrawerToggle类我需要以下内容:

  • 活动 - 托管抽屉的活动
  • drawerLayout - 链接到给定活动的ActionBar的DrawerLayout
  • drawerImageRes - 用作抽屉指示符的可绘制资源
  • openDrawerContentDescRes - 用于描述"打开抽屉的字符串资源" - 无障碍行动
  • closeDrawerContentDescRes - 用于描述"关闭抽屉的字符串资源"无障碍行动

我传递了this作为活动(我从我的主要活动中调用了这个),drawerLayout作为我的实际抽屉布局,文档并没有真正解释最后两个参数的作用所以我只是创建了一些占位符字符串资源并将它们传递进去。但是我确实知道drawerImageRes需要显示汉堡图标,我只是不知道从哪里获取它...

谁能告诉我哪里可以获得汉堡包图标?

修改 我发现来自https://developer.android.com/training/implementing-navigation/nav-drawer.html的Android示例使用了R.drawable.ic_drawer,但我不知道它来自哪里...... android开发者网站也说:

  

下载操作栏图标包中提供了标准导航抽屉图标。

但我下载了包装,棒棒糖汉堡包不在那里......

1 个答案:

答案 0 :(得分:2)

如果您将支持库更新为v22和

mDrawerToggle = new ActionBarDrawerToggle(
            getActivity(),                    /* host Activity */
            mDrawerLayout,                    /* DrawerLayout object */
            R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
            R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
    )

做类似的事情,汉堡包图标会显示出来。我遇到了类似的问题,但现在由于一个非常有帮助的人而解决了这个问题。