2015-06-03 103 views
7

我的问题是关于最近从Design Support Library发布的Navigation Viewmenu如何在导航视图中定位菜单项?

我想在Navigation View的底部设置Log In,我该怎么做? 我的菜单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

对于组导航视图菜单位置[见此答案] [1] [1]:http://stackoverflow.com/a/31753244/4395114 –

回答

7

你想让你的“登录”项目被固定在导航视图的底部?

您可以通过在NavigationView内嵌套其他视图/布局来实现此目的。 NavigationView扩展了FrameLayout,因此您可以将它包装在子视图中。

我发布了更多关于NavigationView页脚here的信息。另请参阅该帖子中的其他答案以获取更多布局选项。

编辑

FYI:如果您使用“固定页脚”的方式,你基本上(在你的例子如“登录”),从菜单中删除页脚项目。这意味着你必须自己实现点击和其他处理程序。

+0

谢谢1给予好评 –

0

我认为导航菜单就像一个列表视图。所以项目将被放置在一个列表中。

如果你想一个项目被放置在底部,你可以在布局XML的NavigationView标签内定制