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