安卓导航双抽屉与动作栏抽屉切换



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

我的

问题是当我单击主页按钮时,我的左抽屉打开并播放动画。打开时,我的右抽屉也显示了抽屉打开动画。这会导致主页图标出现奇怪的同步问题,即使使用 mDrawerToggle.syncState();

我正在尝试做的是拦截打开左侧抽屉的主页按钮单击事件,以便我可以测试哪个抽屉打开,然后适当地关闭该抽屉。有没有办法在主页图标上设置点击侦听器?(用于 Android 5.0 的图标,以及当 mActionBar.setHomeButtonEnabled(true); mActionBar.setDisplayHomeAsUpEnabled(true);

我尝试检查选项项目选择为"安卓。R.id.home"项,但当我单击主页打开左侧抽屉时,它永远不会被调用。

由于ActionBarDrawerToggle只管理主绘制对象,因此您没有获得onOptionItemSelected回调的唯一原因是您位于片段中。

onOptionItemSelected android.R.id.home仅在活动内传递。这是因为操作栏是活动范围的(每个活动最多一个操作栏)。

改为覆盖活动内部的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);
}

相关内容

  • 没有找到相关文章

最新更新