如何在导航视图中定位菜单项?

8
我的问题与最近发布的Design Support Library中的Navigation View有关。我想把“登录”放在Navigation View的底部,我该怎么做?我的菜单XML目前看起来是这样的:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <group android:checkableBehavior="single">
        <item
            android:id="@+id/navigation_sub_item_1"
            android:icon="@drawable/ic_action_event"
            android:title="@string/home" />
        <item
            android:id="@+id/navigation_sub_item_2"
            android:icon="@drawable/ic_action_person"
            android:title="@string/profile" />
        <item
            android:id="@+id/navigation_sub_item_3"
            android:icon="@drawable/ic_action_labels"
            android:title="@string/tags" />
        <item
            android:id="@+id/navigation_sub_item_4"
            android:icon="@drawable/ic_action_settings"
            android:title="@string/log_in" />
    </group>

</menu>

这是我的布局:

     <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:background="@color/white_1000">

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

        <android.support.v4.widget.DrawerLayout
            android:id="@+id/drawer_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_below="@id/toolbar">

            <FrameLayout
                android:id="@+id/content_frame"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" />

            <android.support.design.widget.NavigationView
                android:id="@+id/main_drawer"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="start"
                app:headerLayout="@layout/drawer_header"
                app:menu="@menu/drawer_menu" />

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

</RelativeLayout>

1
设置导航视图菜单位置[请参见此答案]。 - Mansukh Ahir
2个回答

9
你想让“登录”项目固定在导航视图底部吗?你可以通过在NavigationView中嵌套其他视图/布局来实现。NavigationView扩展了FrameLayout,因此可以将其包装在子视图周围。我在这里发布了有关NavigationView页脚的更多信息。此外,请参阅该帖子中的其他答案以获取更多布局选项。 编辑 请注意:如果使用“固定页脚”方法,则基本上会从菜单中删除页脚项(例如您示例中的“登录”)。这意味着您必须自己实现点击和其他处理程序。

0

我认为导航菜单的工作方式类似于列表视图。因此,项目将被放置在列表中。

如果您想要将一个项目放置在底部,您可以在布局XML中的NavigationView标签内进行自定义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接