无法更改导航抽屉的抽屉图标

20

我正在尝试实现自上一个Android主题演示以来提供的新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 的标准图标运行。

有任何想法吗?

2个回答

48

我刚刚成功实现了导航抽屉。 我忘记添加以下方法,这些方法也由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
这正是我需要的!谢谢!我找了两个小时才找到解决方案。 - Kyle Falconer
2
我有同样的问题,但只是在旧设备上,比如2.3。我的代码已经像你的一样了,这个问题仍然困扰着我。 - Renan Bandeira
1
所以,当你按照谷歌官方示例时,可能会说:“哦,我还不需要实现这些函数。”是的,请不要这样做。感谢您的回答! - theblang

2
我遇到了同样的问题,答案是如果你正在设置...
getActionBar().setDisplayShowHomeEnabled(false);

然后会显示正常的向上图标。因此,请尝试不使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接