我的应用程序中有两个导航抽屉,分别由左侧和右侧的两个图标启用。现在我的右侧图标是一个菜单项,因此我可以通过onOptionsItemSelected
切换两个导航抽屉。
我遇到的问题是,当我打开右抽屉然后打开左抽屉时,它们重叠。当我点击左侧的导航抽屉按钮(应用程序图标旁边的可能主页按钮)时,我想知道如何关闭右抽屉。该按钮是否有点击监听器,如菜单项?
提前致谢。
答案 0 :(得分:3)
我找到了解决方案。最初,the ActionBarDrawerToggle
按钮(主页按钮)也是一个菜单项。因此,当我们打电话时:
mDrawerLayoout.onOptionsItemSelected()
我们可以将代码放在那里。
以下是完整的代码:
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if (myDrawerToggle.onOptionsItemSelected(item)) {
if (myDrawerLayout.isDrawerVisible(navDrawerRight) != false) {
myDrawerLayout.closeDrawer(navDrawerRight);
}
return true;
}
注意我放了myDrawerLayout.isDrawerVisible(View drawer)
。这是因为isDrawerOpened
仅在抽屉完全打开或关闭时起作用。当抽屉处于任何状态,打开,关闭或介于两者之间时,最好使用isDrawerVisible()
。
希望这可以帮助那些人。