NavigationView的使用

来源:互联网 发布:免费动态域名解析软件 编辑:程序博客网 时间:2024/06/05 15:43

新建一个抽屉活动后,我们可以看到主界面的布局文件是这样的

    <?xml version="1.0" encoding="utf-8"?>    <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"        xmlns:app="http://schemas.android.com/apk/res-auto"        xmlns:tools="http://schemas.android.com/tools"        android:id="@+id/drawer_layout"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:fitsSystemWindows="true"        tools:openDrawer="start">            <include            layout="@layout/app_bar_main"            android:layout_width="match_parent"            android:layout_height="match_parent" />            <android.support.design.widget.NavigationView            android:id="@+id/nav_view"            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>        

其实这里的NavigationView就是左边抽屉拉出来后的布局了~可以看到它有两个属性app:headerLayout和app:menu其实这两个属性后面就分别是上图中蓝色背景部分的抽屉头和下面的菜单。要对其编辑也很简单,进入ID对应的布局修改即可。

操作1:

前面提到的获取不到控件的方法,可以在onCreate方法中这样来获取

    View headerLayout = navigationView.inflateHeaderView(R.layout.nav_header_main);    tv_nav_user = (TextView)headerLayout.findViewById(R.id.tv_nav_username);

通过查看谷歌官方开发文档我们还可以发现几个方法
http://developer.android.com/reference/android/support/design/widget/NavigationView.html

这些方法都是对抽屉布局上的菜单和头布局进行操作时可以使用的。同时注意


0 0