2014-10-14 2 views
1

У меня есть двойной навигационный ящик, один слева и один справа. Я хочу показать правый навигационный ящик только для некоторых фрагментов. поэтому я хочу отключить его от других. Это мой макетОтключение навигационного ящика в макете двунаправленного ящика

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<!-- Framelayout to display Fragments --> 
<FrameLayout 
    android:id="@+id/frame_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

</FrameLayout> 

<!-- Listview to display slider menu --> 
<ListView 
    android:id="@+id/list_slidermenu" 
    android:layout_width="120dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@color/orange" 
    android:dividerHeight="1dp"  
    android:listSelector="@drawable/list_selector" 
    android:background="@color/orange"/> 

<!-- Listview for messages --> 
    <ListView 
    android:id="@+id/message_slidermenu" 
    android:layout_width="200dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="end" 
    android:background="#1C1C1C" 
    android:choiceMode="singleChoice" 
    android:divider="#1C1C1C" 
    android:dividerHeight="1dp" 
    android:listSelector="@drawable/list_selector" 
    /> 

Я видел

mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

зафиксирует ящик. Но как я могу специально заблокировать только один ящик для навигации?

ответ

0

Перегрузка метода setDrawerLockMode (int lockMode, int edgeGravity) позволяет указать, какой ящик заблокировать при его гравитации. Перегрузка setDrawerLockMode (int lockMode, View drawerView) позволяет сделать то же самое, указав вид ящика.