NavigationView

来源:互联网 发布:4g网络哪家强 编辑:程序博客网 时间:2024/06/05 22:50

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>
0 0