android - 左右 Android 抽屉导航相互重叠

标签 android onclicklistener togglebutton navigation-drawer android-homebutton

我的应用程序中有两个抽屉导航,分别由左侧和右侧的两个图标启用。现在我的右侧图标是一个菜单项,因此我可以通过 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/

相关文章:

Android:为除一个 View 之外的所有 View 启用临时触摸/单击

android - 为什么切换按钮周围有奇怪的填充/边距?

java - Google 示例通用音乐播放器构建错误

android - 如何在Android中获取通过蓝牙、WiFi传输的文件的详细信息

java - Android 模拟 GPS 卫星(不仅仅是位置)

android - fragment 中 ListView 的 setOnItemClickListener

android - 如何显示 TTS 首选项 Activity 设置屏幕,我需要调用哪个 Intent

java - 单击监听器不起作用

java - 更改抽屉导航的汉堡图标侧

java - 多次打开/关闭时切换按钮崩溃