我有一些选项卡,当导航抽屉开始打开时,我想要隐藏它们。我现在的代码是在导航抽屉完成打开后才隐藏选项卡,但这不是我想要的。
mDrawerToggle = new ActionBarDrawerToggle(
this,
mDrawerLayout,
R.drawable.ic_drawer,
R.string.drawer_open,
R.string.drawer_close
) {
@Override
public void onDrawerClosed(View view) {
invalidateOptionsMenu();
setActionBarMode(ActionBar.NAVIGATION_MODE_TABS);
}
@Override
public void onDrawerOpened(View drawerView) {
invalidateOptionsMenu();
setActionBarMode(ActionBar.NAVIGATION_MODE_STANDARD);
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
这是我尝试过的方法:
- 给
mDrawerLayout
设置一个onClickListener
,但onClick
从未被调用 - 给
mDrawerLayout
设置一个onTouchListener
,但onTouch
从未被调用 - 研究了
ActionBarDrawerToggle
和DrawerLayout
类,并没有找到类似于onDrawerStartedOpening
的东西。
setNavigationMode
之前调用invalidateOptionsMenu();
。其他所有都正常工作。谢谢! - OleksiyonDrawerSlide
时,会收到许多已弃用的代码通知和“无法解析isDrawerOpen()”错误。是否有更新的答案? - MicrosetDrawerListener
已被弃用。改为使用addDrawerListener
。https://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html - Mahendran Sakkarai