禁用用于打开和关闭菜单的 DrawerLayout 滑动手势

时间:2021-02-19 15:58:42

标签: android drawerlayout

抽屉菜单干扰了我的 viewpager 的滑动手势。我查看了以前的帖子并将 drawerLayout 设置为 mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 但是这只在尝试滑动打开菜单时有效,如果菜单打开,它仍然允许滑动手势关闭菜单。

有没有办法彻底禁用整个视图的滑动手势?这样,用户可以打开菜单的唯一方法是点击汉堡菜单图标,或者可以通过点击菜单内的“X”按钮关闭菜单,同时在抽屉菜单打开时滑动不应该影响 viewpager .

2 个答案:

答案 0 :(得分:0)

我想出了一个解决方案。

我在应用程序类中设置了一个布尔值 isDrawerOpen 变量,用于侦听抽屉何时打开或关闭,然后在我的 viewpager 片段中覆盖 onTouch 事件以在 isDrawerOpen == true< /p>

答案 1 :(得分:0)

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) 工作正常,但是当抽屉打开时,您可以在点击按钮时检查抽屉是否打开。

if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
   mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
}