Отключить прослушиватель жестов на DrawerLayout



Как я могу отключить распознавание жестов для DrawerLayout? (проведите пальцем слева направо) и только принять жест закрытия (справа налево) и открыть ящик только с помощью кнопки home?

344   6  

6 ответов:

это сработало для меня:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

вы можете развернуть ящик, нажав кнопку Home, и можете использовать жест справа налево, чтобы закрыть его. Однако свайп слева направо больше не срабатывает.

на setDrawerLockMode(), это в коде, но не на Android разработчик docs:

/**
 * 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;

чтобы отключить распознавание жестов DrawerLayout используйте:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);

затем, чтобы включить прокрутку справа налево, проверьте этот ресурс: http://android-journey.blogspot.com/2010/01/android-gestures.html

похоже я нашел баг. Например, если установлено:

android:layout_gravity="right"

или

android:layout_gravity="left"

для содержимого ящика и использовать .setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) все будет хорошо.

но в случае, когда android:layout_gravity="left|center_vertical" или что-то вроде этого LOCK_MODE_LOCKED_CLOSED не будет работать.

это сработало для меня:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);

вы можете расширить ящик, нажав на значок гамбургера или кнопку, с которой вы должны вызвать. Однако свайп слева направо больше не срабатывает.

на LOCK_MODE_LOCKED_CLOSED в настоящее время полностью предотвращает отображение меню навигации, даже через меню гамбургера (что может быть нежелательным). Для меня работало следующее:https://stackoverflow.com/a/52160351/377320

Comments

    Ничего не найдено.