DrawerLayout Podwójna szuflada (lewe i prawe szuflady jednocześnie)
Mam aplikację, w której chcę zaimplementować podwójną szufladę - jedną od lewej i drugą od prawej. Lewa szuflada służy do nawigacji aplikacji, prawa szuflada służy do filtrowania wyników.
Układ wygląda następująco:
<?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>
Widać tu wyraźnie „left_drawer” i „right_drawer” oraz ich odpowiednią grawitację - „start” i „end”. Możesz je wyciągnąć.
Problem polega na tym, że kiedy implementuję DrawerToggle - otwiera on tylko lewą szufladę i nie zamyka prawej szuflady, więc jeśli prawa szuflada jest otwarta i naciskam przycisk DrawerToggle - lewa szuflada otwiera TAKŻE i zachodzi na prawą szufladę .
Jest kilka rozwiązań, które próbuję uzyskać:
Stwórz ten sam przycisk DrawerToggle po prawej stronie, z takim samym zachowaniem i animacją jak po lewej stronie.Zrób szufladę po przeciwnej stronie szuflady, którą próbuję otworzyć - automatycznie zamknij (jeśli lewa szuflada jest otwarta i naciskaj przełącznik prawej szuflady i imadła).I nie wiem, jak to zrobić, ponieważ DrawerToggle akceptuje sam parametr DrawerLayout, a nie poszczególne szuflady ...
Korzystam z biblioteki wsparcia.
Czy ktoś ma jakieś pomysły? Z góry dziękuję.