NavigationView是Material库中提供的一个控件,可以将滑动菜单页面变得非常简单。
- 添加依赖
文件位置:
dependencies {
//其他内容省略...
//Material库
implementation 'com.google.android.material:material:1.1.0'
//一个开源项目 CircleImageView,可以用来实现图片圆形化的功能
implementation 'de.hdodenhof:circleimageview:3.0.1'
}
- 更换主题
文件位置:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.NetWorkTest" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_500</item>
<item name="colorPrimaryVariant">@color/purple_700</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>
- 新建文件夹menu->新建nav_menu.xml
文件位置:
编写NavigationView的菜单项 (menu)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<!--group标签表示以下item为一组-->
<group android:checkableBehavior="single">
<!--android:checkableBehavior="single" 设置组中item只能单选-->
<item
android:id="@+id/note_group"
android:icon="@drawable/group"
android:title="@string/note_group_nav" />
<item
android:id="@+id/note_collect"
android:icon="@drawable/collect"
android:title="@string/note_collect_nav"
/>
<item
android:id="@+id/note_setting"
android:icon="@drawable/setting"
android:title="@string/note_setting_nav"
/>
</group>
</menu>
- 编写nav_header.xml (headerlayout)
文件位置:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding=