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>