一、作用
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>
最后显示: