DrawerLayout에 대한 동작 인식을 비활성화하려면 어떻게합니까? (왼쪽에서 오른쪽으로 스 와이프) 닫기 제스처 (오른쪽에서 왼쪽으로) 만 받아 들여 홈 버튼으로 서랍을여십시오.DrawerLayout에서 제스처 수신기 비활성화
답변
이 나를 위해 일한 :
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
그런 다음, 왼쪽으로 스 와이프에서 오른쪽으로 활성화하는,이 자원을 확인 홈 단추를 눌러 서랍을 확장하고 오른쪽에서 왼쪽으로 쓸어 넘기는 제스처를 사용하여 닫을 수 있습니다. 그러나 왼쪽에서 오른쪽으로 스 와이프가 더 이상 트리거되지 않습니다. setDrawerLockMode()
를 들어
DrawerLayout 제스처 인식을 사용하지 않으려면 : http://android-journey.blogspot.com/2010/01/android-gestures.html
,이 코드에서가 아니라 Android developer 문서에 : 나는 버그를 발견
/**
* 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;
그리고 이것은 이제 개발자 문서에 나와 있습니다. http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#LOCK_MODE_LOCKED_CLOSED – greg7gkb
봐처럼. 예를 들어 설정 한 경우 :
android:layout_gravity="right"
또는
android:layout_gravity="left"
서랍 내용과 사용 .setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
모두가 잘 될 것입니다.
그러나 android:layout_gravity="left|center_vertical"
또는 이와 비슷한 값인 LOCK_MODE_LOCKED_CLOSED
이 작동하지 않습니다.
맞습니다. 이유는 @ A - C https://stackoverflow.com/questions/18413116/whyi-i-cant-lock-drawerlayout-with-layout-gravity/18413276#18413276에 잘 설명되어 있습니다. – Tina
잠금 해제를 위해 mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_UNLOCKED); –
위의 해결 방법으로 서랍 레이아웃을 설정하더라도 내 경우에는 작동하지 않습니다. 항상 슬쩍 제스처에 서랍을 가져옵니다. –
동일한 문제가 있습니다. –