14
votes

I have two navigation drawers on either side in my Activity. I don't need the right navigation drawer to be opened by a swipe gesture.

If I use:

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)

to lock the swipe then both the left and right drawers are locked. But I want the left drawer to detect the swipe gesture. How do I do this?

<android.support.v4.widget.DrawerLayout 
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="@dimen/nav_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="left" />

    <ListView
        android:id="@+id/right_drawer"
        android:layout_width="@dimen/nav_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="right" />

</android.support.v4.widget.DrawerLayout>
1
Achieved it using the same function setDrawerLockMode with an additional parameter mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, findViewById(R.id.right_drawer));DevAndroid

1 Answers

31
votes

Achieved it using the same function setDrawerLockMode with an additional parameter

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, findViewById(R.id.right_drawer));