添加依赖

implementation 'com.google.android.material:material:1.2.0-alpha06'


在Layout中创建两个Xml布局文件,header.xml和menu.xml
header.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"> <ImageView
android:layout_width="match_parent"
android:layout_height="100dp"
android:background="#F89215"
/>
</LinearLayout>
menu.xml文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<group android:checkableBehavior="single">
<item android:title="首页" />
<item android:title="收藏" />
<item android:title="设置" />
<item android:title="关于" />
<item android:title="分享" />
</group> </menu>
activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:background="#5EA7F3"
> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" /> <com.google.android.material.navigation.NavigationView
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
app:headerLayout="@layout/nav_header"
app:menu="@layout/nav_menu"
/>
</androidx.drawerlayout.widget.DrawerLayout>
运行结果如下

android29之UI控件的抽屉式实现方法之一(DrawerLayout和NavigationView)-LMLPHP

05-11 20:18