同一活动上的两个导航抽屉

时间:2015-04-28 13:42:32

标签: android navigation-drawer

是否可以在同一活动中配置两个导航抽屉,一个来自左边,另一个来自右边?

4 个答案:

答案 0 :(得分:10)

您可以使用抽屉布局

array.uniq{|s| s.word}

还要检查文档https://developer.android.com/training/implementing-navigation/nav-drawer.html

确保您使用的是工具栏而不是操作栏

答案 1 :(得分:3)

是的,你可以在抽屉布局中添加两个ListView,一个列表视图应该有gravity start而其他列表end

答案 2 :(得分:2)

可以使用两个导航器

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
tools:context="PackageName.ActivityName">

<ScrollView
    android:id="@+id/scrol_lay"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!-- your layout -->

</ScrollView>
<!-- First navigation drawer -->
<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view_main"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    app:menu="@menu/navigation_main_menu"
    app:headerLayout="@layout/navigation_header"/>


<!-- Second navigation drawer -->
<android.support.design.widget.NavigationView
    android:id="@+id/navigation_view_second"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="end"
    app:menu="@menu/navigation_menu"
    app:headerLayout="@layout/navigation_header"/>
</android.support.v4.widget.DrawerLayout>

答案 3 :(得分:0)

为获得最大程度的自定义, 在您的xml中,您可以将FrameLayout用作容器

   <android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true">

    <FrameLayout
        android:id="@+id/contDrawer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</android.support.design.widget.NavigationView>

现在,您可以在“活动”中将其替换为任何片段

getSupportFragmentManager().beginTransaction().replace(R.id.contDrawer, SideBarCustomerFragment.newInstance()).commit();

现在有两个用户,您可以创建2个不同的片段,可以检查我的样板代码以供参考

https://github.com/hamzaahmedkhan/AndroidStructure/blob/master/app/src/main/java/com/android/structure/activities/HomeActivity.java

https://github.com/hamzaahmedkhan/AndroidStructure/blob/master/app/src/main/java/com/android/structure/activities/BaseActivity.java