2013-06-11 9 views

Odpowiedz

319

Należy użyć:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

pracować ze mną, machnięcia, aby otworzyć szufladę została wyłączona.

Jeśli nadal nie będzie działać, sprawdź odpowiedź podaną here.

+1

Czy jesteś pewien? Próbowałem, ale to było otwarte i zamknięte. Testowałem na systemie Android 2.3x z framework ActionBarSherlock. – thanhnh

+0

Jestem pewien, że użyłem go w moim kodzie. Ale nie korzystałem z ActionBarSherlock. Używałem tylko z ActionBar. –

+0

Działa również z ActionBarSherlock. Właśnie go użyłem. –

61

do blokowania można to zrobić:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

i odblokować:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
+0

Dziękuję za wyjaśnienie zaakceptowanej odpowiedzi flagą LOCK_MODE_UNLOCKED –

+0

Myślę, że jest to lepsze niż zaakceptowana odpowiedź, ponieważ wprowadza ona również metodę przeciwną – TheWhiteLlama

7

Dodaj wartość grawitacji zbyt podczas korzystania setDrawerLockMode();

Wykonaj:

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

to powinno działać jak czar

+1

mDrawerLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED); zablokuj zarówno szufladę, jak i szufladęLayout.setDrawerLockMode (DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END); reprezentują, którą Szufladę chcesz zablokować dzięki człowiekowi, która działa dla mnie i oszczędza mój czas. –

0

Aby wyłączyć przeciąganie, zastępują onInterceptTouchEvent i onTouchEvent na DrawerLayout i ich return false.

Powiązane problemy