我已经实现了双抽屉布局。我还设置了一个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);
}