我的应用程序中有两个抽屉导航,分别由左侧和右侧的两个图标启用。现在我的右侧图标是一个菜单项,因此我可以通过 onOptionsItemSelected
切换两个抽屉导航。
我遇到的问题是,当我打开右边的抽屉然后打开左边的抽屉时,它们重叠了。我想知道如何在单击左侧的抽屉导航按钮(应用程序图标旁边的可能主页按钮)时关闭右侧抽屉。该按钮(如菜单项)是否有点击监听器?
提前致谢。
最佳答案
我找到了解决方案。最初,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()
,因为它在抽屉处于任何状态、打开、关闭或介于两者之间时都有效。
希望这对外面的人有帮助。
关于android - 左右 Android 抽屉导航相互重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19432948/