2013-06-11 11 views

Antwort

319

Sie verwenden sollten:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

es mit mir arbeiten, die Swipe die Schublade zu öffnen wurde deaktiviert.

Wenn es immer noch nicht funktioniert, sehen Sie sich die Antwort here an.

+1

Sind Sie sicher? Ich versuchte es, aber es war offen und geschlossen, beides. Ich habe auf Android 2.3x mit ActionBarSherlock Framework getestet. – thanhnh

+0

Ich bin sicher, weil ich es in meinem Code verwendet habe. Aber ich habe nicht mit ActionBarSherlock verwendet. Ich habe nur mit ActionBar gearbeitet. –

+0

Es funktioniert auch mit ActionBarSherlock. Ich habe es gerade benutzt. –

61

zum Verriegeln Sie dies tun können:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

und für Unlock:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
+0

Dank für die Klärung der akzeptierten Antwort mit dem LOCK_MODE_UNLOCKED Flag –

+0

Ich denke, das ist besser als die angenommene Antwort, da es auch die gegnerische Methode eingeführt – TheWhiteLlama

7

hinzufügen zu Schwerewert, wenn setDrawerLockMode mit();

tun:

drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END); 

Dieses wie ein Zauber sie return false

+1

mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED); Sperren Sie sowohl die Schublade als auch drawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END); stellen Sie dar, welche Schublade Sie sperren möchten, danke Mann, es funktioniert für mich und spart meine Zeit. –

0

Um klauen zu deaktivieren, außer Kraft setzen onInterceptTouchEvent und onTouchEvent auf DrawerLayout und haben sollte funktionieren.