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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章