私は二重の引き出しを実装したいアプリケーションを持っています.1つは左から、もう1つは右からです。左のドロワーはアプリのナビゲーション用、右のドロワーは結果のフィルタリング用です。
したがって、レイアウトは次のようになります。
<?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」、およびそれぞれの重力 - 「開始」と「終了」がはっきりとわかります。これは実際に機能します。どちらも引き出せます。
問題は、DrawerToggle を実装すると、左の引き出しのみが開き、右の引き出しは閉じないため、右の引き出しを開いて DrawerToggle ボタンを押すと、左の引き出しも開き、右の引き出しと重なる.
私が取得しようとしている解決策がいくつかあります:
- 左側と同じ動作とアニメーションで、右側に同じ DrawerToggle ボタンを作成します。
- 開こうとしている引き出しの反対側に引き出しを作成します-自動的に閉じます(左の引き出しが開いていて、右の引き出しのトグルを押した場合、またはその逆の場合)。
DrawerToggle は、個々の引き出しではなく、DrawerLayout 自体をパラメーターとして受け入れるため、その方法はわかりません...
サポート ライブラリを使用しています。
誰にもアイデアはありますか?前もって感謝します。