我有一个应用程序,我想在其中实现一个双抽屉 - 一个来自左边,一个来自右边.左抽屉用于app导航,右抽屉用于结果过滤.
所以,布局是这样的:
<?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>
Run Code Online (Sandbox Code Playgroud)
你可以在这里清楚地看到"left_drawer"和"right_drawer",以及它们各自的重力 - "开始"和"结束"这实际上是有效的!你可以将它们全部拉出来.
问题是,当我实现DrawerToggle时 - 它只打开左抽屉,而不是关闭右抽屉,所以如果打开右抽屉我按下DrawerToggle按钮 - 左抽屉也打开,并重叠右抽屉.
我想要获得以下几种解决方案:
我还没有想到如何做到这一点,因为DrawerToggle接受DrawerLayout本身作为参数,而不是单个抽屉......
我正在使用支持库.
有人有主意吗?先感谢您.