DrawerLayout双抽屉锁右抽屉

时间:2013-12-30 00:04:27

标签: android navigation-drawer drawerlayout

我正在使用DoubleDrawer布局。左起一个抽屉,右一个抽屉。 在左侧抽屉里我有一些导航的东西。在右边的抽屉里,我有一些细节信息。

当从右边缘向左边滑动时,我不想锁定正确的抽屉,以免用户打开抽屉。

以下是我的XML中的精简版:

<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" >

<!-- Main Content -->

<FrameLayout
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/main_bkgnd"
    android:choiceMode="singleChoice"
    android:divider="@color/transparent"
    android:dividerHeight="@dimen/zero"
    android:paddingLeft="@dimen/main.padding"
    android:paddingRight="@dimen/main.padding" >

    <!-- Some other elements -->

</FrameLayout>

<!-- Menü -->

<FrameLayout
    android:id="@+id/menu_drawer"
    android:layout_width="@dimen/menu.width"
    android:layout_height="fill_parent"
    android:layout_gravity="start"
    android:background="@color/drawer_bkgnd"
    android:choiceMode="singleChoice"
    android:divider="@color/list_divider"
    android:dividerHeight="@dimen/zero"
    android:paddingLeft="@dimen/menu.padding"
    android:paddingRight="@dimen/menu.padding" >

    <!-- Some other elements -->

</FrameLayout>

<!-- Detailansicht -->

<ScrollView
    android:id="@+id/detail_drawer"
    android:layout_width="@dimen/detail.width"
        android:layout_height="fill_parent"
        android:layout_gravity="end"
        android:background="@color/drawer_bkgnd"
        android:paddingLeft="@dimen/detail.padding"
        android:paddingRight="@dimen/detail.padding" >

    <RelativeLayout    
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <!-- Some other elements -->

    </RelativeLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:2)

将抽屉模式设为LOCK_MODE_LOCKED_CLOSED 抽屉锁定关闭。用户可能无法打开它,但应用程序可以通过编程方式打开它。

public void setDrawerLockMode (int lockMode, int edgeGravity)