Material Design学习之DrawerLayout与NavigationView

一、作用

DrawerLayout类似于第三方控件SlidingMenu,是一个侧滑抽屉菜单,支持从左边和右边滑出。
NavigationView是适配DrawerLayout的控件,它包含头布局和menu布局。

二、使用

<android.support.v4.widget.DrawerLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:fitsSystemWindows="false">

            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:id="@+id/rl"
                app:layout_behavior="@string/appbar_scrolling_view_behavior"
                >

            </android.support.v7.widget.RecyclerView>

        <android.support.design.widget.NavigationView
            android:layout_width="200dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            app:menu="@menu/menu_toolbar"
            app:headerLayout="@layout/navigation_header">

        </android.support.design.widget.NavigationView>

    </android.support.v4.widget.DrawerLayout>
DrawerLayout的子布局第一个一定是显示的界面。第二个、第三个是左右隐藏的抽屉布局,用属性android:layout_gravity="start"或android:layout_gravity="end"来区分放在左边还是右边。

DrawerLayout属性释义:
   android:fitsSystemWindows="false":重要属性,适配版本,若为true的话,会在DrawerLayout顶部留出一个和状态栏等高的View,若你的DrawerLayout不在界面顶部的话,将此属性变为false。

NavigationView属性释义:
app:headerLayout="@layout/navigation_header":头文件。
app:menu="@menu/menu_toolbar":选项菜单文件。
NavigationView的布局就是由这两种组成。

menu文件代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/action0"
        android:title="搜索"
        android:icon="@mipmap/search"
        app:showAsAction="always"
        ></item>

    <item
        android:id="@+id/action1"
        android:title="分享"
        android:icon="@mipmap/share"
        app:showAsAction="always"
        ></item>


    <item
        android:id="@+id/action2"
        android:title="点赞"
        android:icon="@mipmap/aixin"
        app:showAsAction="ifRoom"
        ></item>


    <item
        android:id="@+id/action3"
        android:title="打赏"
        android:icon="@mipmap/zhifubao"
        app:showAsAction="always"
        ></item>
</menu>

最后显示:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/vicwudi/article/details/54171913