2013-06-10 7 views

答えて

125

これは私の仕事::

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN); 

はその後、左スワイプの権利を有効にすると、このリソースをチェックホームボタンをタップすることで引き出しを拡張したり、右から左のスワイプジェスチャーを使用してそれを解除することができます。ただし、左から右のスワイプはもはや起動されません。 setDrawerLockMode()については

+16

ロックを解除するには、mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)を使用します。 –

+6

私の場合は動作しません。上記のソリューションでドロワーレイアウトを設定しても、スワイプジェスチャーでは常に引き出しを取得します。 –

+0

私は同じ問題を抱えています。 –

18

は、このコードではなく、 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; 
+0

これはdevのドキュメントに表示されます:http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html#LOCK_MODE_LOCKED_CLOSED – greg7gkb

1

ように見えます。設定した場合、たとえば、次のように引き出しコンテンツの

android:layout_gravity="right" 

または

android:layout_gravity="left" 

.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)すべてを使用するには、罰金になります。

しかし、android:layout_gravity="left|center_vertical"またはそのようなものがLOCK_MODE_LOCKED_CLOSEDの場合は動作しません。

+1

あなたは正しいです。その理由は、@ A - C https://stackoverflow.com/questions/18413116/whyi-i-cant-lock-drawerlayout-with-layout-gravity/18413276#18413276でよく説明されています。 – Tina

関連する問題