2013-06-10 40 views

Trả lời

125

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.

+16

Để mở khóa, bạn sử dụng mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_UNLOCKED); –

+6

Đ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. –

+0

Tôi gặp vấn đề tương tự. –

18

Đố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; 
+0

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

1

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.

+1

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

Các vấn đề liên quan