导航栏上方的导航抽屉

时间:2016-07-14 07:20:36

标签: android android-layout navigation-drawer navigationbar

我在我的Android应用程序上实现了一个导航抽屉,工作正常。但我现在的问题是,我的导航抽屉里的菜单变得很长,底部菜单在我的导航栏下面。如何将导航抽屉放在导航栏的顶部? Lollipop和Marshmallow都有相同的行为。

请在下面找到剪辑。

enter image description here

activity_main.xml中

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

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/container_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:elevation="8dp"
        android:orientation="vertical">

        <include
            android:id="@+id/toolbar"
            layout="@layout/toolbar" />
    </LinearLayout>

    <FrameLayout
        android:id="@+id/container_body"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <include layout="@layout/fragment_song_list_main" />
    </FrameLayout>
</RelativeLayout>

<android.support.design.widget.NavigationView
    android:id="@+id/fragment_navigation_drawer"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/nav_header_main"
    app:menu="@menu/activity_main_drawer" />
 </android.support.v4.widget.DrawerLayout>

1 个答案:

答案 0 :(得分:0)

将NavigationView放在DrawerLayout之外,并将它们放在LinearLayout中,方向为=&#34; vertical&#34;

<LinearLayout... orientation="vertical">

    <android.support.v4.widget.DrawerLayout ...>

    </android.support.v4.widget.DrawerLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/fragment_navigation_drawer"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</LinearLayout>