Làm cách nào để tắt nhận dạng cử chỉ cho DrawerLayout? (trượt sang trái sang phải) và chỉ chấp nhận cử chỉ gần (từ phải sang trái) và mở ngăn chứa chỉ bằng nút trang chủ?Tắt trình nghe cử chỉ trên DrawerLayout
Trả lời
này đã làm việc cho tôi:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
Bạn có thể mở rộng ngăn kéo bằng cách nhấn vào nút Trang chủ và có thể sử dụng cử chỉ vuốt từ phải sang trái để loại bỏ nó. Tuy nhiên, vuốt từ trái sang phải không còn được kích hoạt nữa.
Để vô hiệu hóa DrawerLayout công nhận cử chỉ sử dụng:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
Sau đó, để cho phép quyền swipe trái, kiểm tra khu vực này: http://android-journey.blogspot.com/2010/01/android-gestures.html
Đối setDrawerLockMode()
, đây là trong các mã nhưng không phải trên Android developer tài liệu:
/**
* 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;
Và điều này hiện xuất hiện trên tài liệu của dev: http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#LOCK_MODE_LOCKED_CLOSED – greg7gkb
Look như tôi tìm thấy lỗi. Ví dụ, nếu thiết lập:
android:layout_gravity="right"
hoặc
android:layout_gravity="left"
cho nội dung ngăn kéo và sử dụng .setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
tất cả sẽ ổn thôi.
Nhưng trong trường hợp khi android:layout_gravity="left|center_vertical"
hoặc thứ gì đó như nó LOCK_MODE_LOCKED_CLOSED
sẽ không hoạt động.
Bạn nói đúng. Lý do được mô tả rõ ở đây bởi @ A - C https://stackoverflow.com/questions/18413116/why-i-cant-lock-drawerlayout-with-layout-gravity/18413276#18413276 – Tina
Để mở khóa, bạn sử dụng mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_UNLOCKED); –
Điều này không hoạt động trong trường hợp của tôi, tôi luôn nhận được một ngăn kéo trên cử chỉ vuốt ngay cả khi tôi đặt Bố cục ngăn kéo với Giải pháp ở trên. –
Tôi gặp vấn đề tương tự. –