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