NavigationView
1、先看下要实现的效果
这是网易云音乐的抽屉界面,为了模仿它,在这边我们需要在抽屉的其中一个item的右侧添加一个文本,或者一个开关。
既然是在item里面添加,那我们就需要从配置item项的menu文件入手。下面是一个只有图标和文本的抽屉。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_skin"
android:icon="@mipmap/ic_menu_skin"
android:title="主题换肤"/>
<item
android:id="@+id/nav_night"
android:icon="@mipmap/ic_menu_night"
android:title="夜间模式" />
</group>
</menu>
我们发现item有个属性
android:actionViewClass
我们将我们的控件添加进去
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_skin"
android:actionViewClass="android.widget.TextView"
android:icon="@mipmap/ic_menu_skin"
android:title="主题换肤" />
<item
android:id="@+id/nav_night"
android:actionViewClass="android.support.v7.widget.SwitchCompat"
android:icon="@mipmap/ic_menu_night"
android:title="夜间模式" />
</group>
</menu>
但是发现还是一样,后面通过网上搜索,发现只要将
android:actionViewClass
改成
app:actionViewClass
下面是实现的代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_skin"
app:actionViewClass="android.widget.TextView"
android:icon="@mipmap/ic_menu_skin"
android:title="主题换肤" />
<item
android:id="@+id/nav_night"
android:icon="@mipmap/ic_menu_night"
android:title="夜间模式"
app:actionViewClass="android.support.v7.widget.SwitchCompat" />
</group>
</menu>