2013-05-29 101 views
20

我试图实施自上次Android主题发布以来提供的新NavigationDrawer无法更改NavigationDrawer的抽屉图标

我将所有东西都启动并运行,当按下左上角的图标时,导航抽屉会打开和关闭。

但是现在我仍然有箭头图标,尽管我用Android中的ic_drawer替换了它。为什么?

这里是我的代码,我指定的图标:

mDrawerToggle = new ActionBarDrawerToggle(
      this,     
      mDrawerLayout,   
      R.drawable.ic_drawer, //<-- This is the icon provided by Google itself 
      R.string.drawer_open, 
      R.string.drawer_close 
      ) 

但应用仍与setDisplayHomeAsUpEnabled标准图标运行。

任何想法?

回答

48

我刚拿到了Navigation Drawer的工作。我忘了添加下面的方法也由developer.android.com实例提供:

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 
    // Sync the toggle state after onRestoreInstanceState has occurred. 
    mDrawerToggle.syncState(); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    mDrawerToggle.onConfigurationChanged(newConfig); 
} 
+1

这就是它!谢谢!我正在寻找2小时的解决方案。 –

+2

我有同样的问题,但只适用于较旧的设备,如2.3。我的代码已经和你的代码一样,并且问题一直让我感到不安。 –

+1

那么当你遵循一个官方的Google示例并且说“哦,我不需要实现那些功能”。是的,不要这样做。感谢这个答案! – theblang

2

我有同样的问题,答案是如果要设置

getActionBar().setDisplayShowHomeEnabled(false); 

则显示正常了图标。所以请尽量不使用它