我有一个应用程序,我想在其中实现一个双抽屉-一个在左边,另一个在右边。左抽屉用于应用程序导航,右抽屉用于结果过滤。
因此,布局如下所示:
<?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本身作为参数,而不是单个抽屉...
我正在使用支持库。
有人有想法么?先感谢您。
慕标琳琳
相关分类