带有ActionBarDrawerToggle的Android导航双抽屉

时间:2015-01-06 00:26:22

标签: android navigation-drawer android-toolbar drawertoggle

我实现了双抽屉布局。我还设置了一个ActionBarDrawerToggle。

我的问题是当我点击主页按钮时,左侧抽屉打开并播放动画。我的右抽屉打开时也会显示抽屉打开动画。即使使用mDrawerToggle.syncState();

,这也会导致Home图标出现奇怪的同步问题

我要做的是截取打开左抽屉的主页按钮单击事件,以便我可以测试哪个抽屉打开,然后适当地关闭那个抽屉。有没有办法在主页图标上设置点击监听器? (与Android 5.0一起使用的图标,当使用mActionBar.setHomeButtonEnabled(true);使用mActionBar.setDisplayHomeAsUpEnabled(true);

我已经尝试检查" android.R.id.home"的onOptionsItemSelected item,但是当我点击home打开左侧抽屉时,它永远不会被调用。

1 个答案:

答案 0 :(得分:0)

由于ActionBarDrawerToggle只管理家庭抽奖,因此您没有获得onOptionItemSelected回调的唯一原因就是您在片段内。

带有onOptionItemSelected

android.R.id.home仅在活动中投放。这是因为Action Bar是活动范围的(每个活动最多一个Action Bar)。

改为在活动中覆盖onOptionItemSelected

@Override
public boolean onOptionsItemSelected(MenuItem item) {
  int id = item.getItemId();
  switch (id) {
    case android.R.id.home:
      // Do something.
      return true;
  }
  return super.onOptionsItemSelected(item);
}