导航时,图标不显示在较低级别。抽屉已配置

时间:2014-02-19 21:03:51

标签: android actionbarsherlock navigation-drawer

好的,这是一个笨拙的标题:(

以下是问题的描述。有两个活动:MainActivity& PreferenceActivity。

MainActivity已设置抽屉(每tutorial个)且工作正常(行为,三行图标,所有内容)。

问题是 PreferenceActivity还显示R.drawable.ic_drawer ,这不是预期的。

预期行为是在PreferenceActivity操作栏中包含< 图标。

对PreferenceActivity的唯一更改是:

  • onCreate()我添加了getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  • 我已覆盖onOptionsItemSelected()(处理android.R.id.home点击以跟踪某些分析)。

我尝试了this question的建议。基于此,我在setDrawerIndicatorEnabled(true);中添加了MainActivity.onResume(),并在setDrawerIndicatorEnabled(false);中添加了MainActivity.onPause(),但没有任何影响。

想法可以解决这个问题吗?

可能是setDrawerIndicatorEnabled(false)没有正确地恢复指标,因为ActionBarSherlock将它的属性(在其主题中)定义为“homeAsUpIndicator”而不是“android.R.attr.homeAsUpIndicator”(如上所述) here)?

1 个答案:

答案 0 :(得分:0)

问题的最新编辑(关于ABS)让我思考。

由于我的drower图标没有移动的问题,我已将此添加到我的主题(扩展ABS主题):

<item name="android:homeAsUpIndicator">@drawable/ic_navigation_drawer</item>

因为实际上这解决了上述问题(抽屉图标不动):

@Override
protected void onPostCreate(Bundle savedInstanceState) {
  super.onPostCreate(savedInstanceState);
  mDrawerToggle.syncState();
}

主题中的attrib覆盖是一个遗留问题,并且是&lt; 图标未显示在较低级别上的根本原因,因此删除“android:homeAsUpIndicator”覆盖修复我的问题。