在导航抽屉底部添加项目

Avr*_*bro 27 android android-layout

我是android studio的新手,我一直在努力学习如何使用导航抽屉布局.我正在使用Nav Drawer的标准模板,并希望在菜单底部添加一个项目,如下所示:

导航抽屉图像

起初我认为抽屉中的项目在LinearLayout中,并且我可以很容易地做我想要的,但xml代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_camera"
        android:icon="@drawable/ic_menu_camera"
        android:title="OP1" />
    <item
        android:id="@+id/nav_gallery"
        android:icon="@drawable/ic_menu_gallery"
        android:title="OP2" />
    <item
        android:id="@+id/nav_slideshow"
        android:icon="@drawable/ic_menu_slideshow"
        android:title="OP3" />
    <item
        android:id="@+id/nav_manage"
        android:icon="@drawable/ic_menu_manage"
        android:title="OP4" />
</group>


<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_logout"
        android:title="Log out" />
</group>
Run Code Online (Sandbox Code Playgroud)

有没有办法让包含注销项的组位于底部?提前感谢您的回答!

小智 77

试试这个

删除此部分

<group android:checkableBehavior="single">
    <item
        android:id="@+id/nav_logout"
        android:title="Log out" />
</group>
Run Code Online (Sandbox Code Playgroud)

然后转到导航视图所在的布局.

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:orientation="vertical"
        android:padding="16dp">

        <TextView
            android:id="@+id/logout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Log out" />
    </LinearLayout>

</android.support.design.widget.NavigationView>
Run Code Online (Sandbox Code Playgroud)

  • 不错,但是如果列表很长,那么它会与我们在底部添加的视图重叠!任何解决方案? (4认同)
  • 在横向上,看起来菜单OP4,OP5被此解决方案隐藏. (2认同)
  • 是的@Keselme,在我的情况下,如果我拿最小的手机屏幕,我的列表超过了4个要滚动的项目,所以我在末尾添加了虚拟列表项(带有enabled = false属性),因此它将占用被覆盖的空间通过最后的注销按钮,用户可以看到所有项目. (2认同)