使用NavigationView 进行导航栏的设计

Posted 和平world

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用NavigationView 进行导航栏的设计相关的知识,希望对你有一定的参考价值。

Navigation View

抽屉导航是app识别度与内部导航的关键,保持这里设计上的一致性对app的可用性至关重要,尤其是对于第一次使用的用户。 NavigationView 通过提供抽屉导航所需的框架让实现更简单,同时它还能够直接通过菜单资源文件直接生成导航元素。



把NavigationView作为DrawerLayout的内容视图来使用,比如下面的布局:




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

<!-- your content layout -->

<android.support.design.widget.NavigationView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/drawer_header"
app:menu="@menu/drawer"/>
</android.support.v4.widget.DrawerLayout>

你会注意到NavigationView的两个属性:app:headerLayout  - 控制头部的布局, app:menu - 导航菜单的资源文件(也可以在运行时配置)。NavigationView处理好了和状态栏的关系,可以确保NavigationView 

在API21+设备上正确的和状态栏交互。最简单的抽屉菜单就是几个可点击的菜单集合:


1 2 3 4 5 6 7 8 9 10 11 <group android:checkableBehavior="single">     <item         android:id="@+id/navigation_item_1"         android:checked="true"         android:icon="@drawable/ic_android"         android:title="@string/navigation_item_1"/>     <item         android:id="@+id/navigation_item_2"         android:icon="@drawable/ic_android"         android:title="@string/navigation_item_2"/> </group>


被点击过的item会高亮显示在抽屉菜单中,让用户知道当前是哪个菜单被选中。

你也可以在menu中使用subheader来为菜单分组:


1 2 3 4 5 6 7 8 9 10 11 12 13 14 <item     android:id="@+id/navigation_subheader"     android:title="@string/navigation_subheader">     <menu>         <item             android:id="@+id/navigation_sub_item_1"             android:icon="@drawable/ic_android"             android:title="@string/navigation_sub_item_1"/>         <item             android:id="@+id/navigation_sub_item_2"             android:icon="@drawable/ic_android"             android:title="@string/navigation_sub_item_2"/>     </menu> </item>


你可以通过设置一个OnNavigationItemSelectedListener,使用其setNavigationItemSelectedListener()来获得元素被选中的回调事件。它为你提供被点击的 菜单元素 ,让你可以处理选择事件,改变复选框状态,加载新内容,关闭导航菜单,以及其他任何你想做的操作。

以上是关于使用NavigationView 进行导航栏的设计的主要内容,如果未能解决你的问题,请参考以下文章

swiftnavigationview和scrollview

NavigationView的头部的事件监听

Android应用-底部导航栏的使用

Android NavigationView 导航抽屉的使用

如何从右到左设计android.support.design.widget.NavigationView?

第一次冲刺--个人工作总结05