当前位置: 首页 > 知识库问答 >
问题:

禁用抽屉布局上的手势侦听器

牟子真
2023-03-14

如何禁用DrawerLayout的手势识别?(从左向右滑动)并仅接受关闭手势(从右向左)并仅使用home按钮打开抽屉?

共有3个答案

钱星辰
2023-03-14

要禁用DrawerLayout手势识别,请使用:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);

然后,要启用从右向左滑动,请选中此资源:http://android-journey.blogspot.com/2010/01/android-gestures.html

益明朗
2023-03-14

对于setDrawerLockMode(),这在代码中,但不在Android开发者文档中:

/**
 * The drawer is unlocked.
 */
public static final int LOCK_MODE_UNLOCKED = 0;

/**
 * The drawer is locked closed. The user may not open it, though
 * the app may open it programmatically.
 */
public static final int LOCK_MODE_LOCKED_CLOSED = 1;

/**
 * The drawer is locked open. The user may not close it, though the app
 * may close it programmatically.
 */
public static final int LOCK_MODE_LOCKED_OPEN = 2;
洪景铄
2023-03-14

这对我很有效:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

您可以通过点击Home(主页)按钮来展开抽屉,并可以使用从右到左的滑动手势将其关闭。但是,将不再触发从左向右滑动。

 类似资料:
  • 我有一个关于使用导航组件实现抽屉布局的问题。 我使用Android Studio的包含导航抽屉活动创建了抽屉布局。 实际上,如果菜单项的目的是更改导航XML中定义的片段或活动(如屏幕截图上的程序、歌曲、设置等),那么一切都很好 然而,我也想在“注销”菜单项上执行注销操作,而不启动另一个片段或活动: 我设法做到了: 但我的问题是:使用该方法,所有其他用于工作的项(更改片段)不再工作,因为它调用了Na

  • 我做了一个没有actionbar的双抽屉布局,如下所示: 使用不带TitleBar或ActionBar的导航抽屉 请救命!!

  • 我一直在遵循谷歌的导航抽屉指南,我想把它添加到一个带有标签和手势的活动中。 我想禁用打开导航抽屉的手势,有人知道怎么做吗?

  • 我目前正在为一个包含大量模块的大项目创建TestNG测试用例。现有的大多数单元测试实际上都是集成测试,因为它们非常依赖于/opt文件夹中的配置文件以及正在运行的数据库和消息队列。 为了使事情进一步复杂化,测试用例使用配置位于resources/meta-inf/services/org.TestNG.itestnglistener文件中的TestNG侦听器。这个文件中的侦听器触发所有测试用例(正如

  • 有什么方法可以确保抽屉菜单保持在片段内容的顶部吗? 我用虚拟数据创建了一个小测试应用程序。10个片段,带有相应的编号按钮和文本视图。问题在于片段元素似乎比导航抽屉具有更高的优先级。 如屏幕截图所示,一旦我试图打开“0片段”,它就会选择注册点击导航抽屉后面的按钮。按下任何其他内容项都可以,但只要它们下面没有其他可交互的项。我该怎么做才能让导航抽屉正确地位于其后面内容的顶部?

  • 我使用DrawerLayout,最近我想改变抽屉布局中listView的重力。但是在我从将listView的重力更改为后,抽屉布局无法锁定 setDrawerLockMode()工作; ` 有什么线索可以解释为什么我不能在其他引力中使用锁定模式吗? 谢谢