DrawerLayout двойной ящик (левый и правый ящики одновременно)

У меня есть приложение, в котором я хочу реализовать двойной ящик - один слева и один справа. Левый ящик предназначен для навигации по приложениям, а правый - для фильтрации результатов.

Итак, макет выглядит так:

<?xml version="1.0" encoding="utf-8"?>
<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">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/light_grey"
        android:orientation="vertical">

        <GridView
            android:id="@+id/gridview"
            style="@style/GridViewStyle"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:horizontalSpacing="7dp"
            android:stretchMode="columnWidth"
            android:verticalSpacing="7dp" />
    </LinearLayout>

    <ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

    <ListView
        android:id="@+id/right_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />
</android.support.v4.widget.DrawerLayout>

Вы можете ясно видеть здесь "left_drawer" и "right_drawer", а также их соответствующую гравитацию - "start" и "end", и это на самом деле работает! Вы можете вытащить их обоих.

Проблема в том, что когда я реализую DrawerToggle - он открывает только левый ящик и не закрывает правый, поэтому, если открывается правый ящик, и я нажимаю кнопку DrawerToggle - левые ящики открываются ТАКЖЕ и перекрывают правый ящик ,

Есть несколько решений, которые я пытаюсь получить:

Сделайте ту же кнопку DrawerToggle на правой стороне, с тем же поведением и анимацией, что и на левой стороне.Сделайте ящик на противоположной стороне ящика, который я пытаюсь открыть - автоматически закройте (если левый ящик открыт, и я нажимаю на переключатель правого ящика и наоборот).

И я не понял, как это сделать, потому что DrawerToggle принимает сам DrawerLayout в качестве параметра, а не отдельные ящики ...

Я использую библиотеку поддержки.

У кого-нибудь есть идеи? Заранее спасибо.

Ответы на вопрос(7)

Ваш ответ на вопрос