如何为 NavigationView 中的单个菜单项提供自定义图标颜色?

Posted

技术标签:

【中文标题】如何为 NavigationView 中的单个菜单项提供自定义图标颜色?【英文标题】:How to give custom icon color for a single menu item in a NavigationView? 【发布时间】:2016-03-21 00:23:51 【问题描述】:

我正在使用安卓导航视图。我想为 NavigationView 中的某些项目提供单独的图标颜色,而不是为所有项目。我希望每个图标都有不同的颜色。我该怎么做?

【问题讨论】:

您需要在主题中添加颜色:***.com/questions/31626488/… 【参考方案1】:

你可以试试这个

 <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_
        android:layout_
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_home"
        app:menu="@menu/activity_home_drawer" />

还有菜单

<?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_inbox"
            android:icon="@null"
            android:title="@string/inbox" />
        <item
            android:id="@+id/nav_start_end"
            android:icon="@null"
            android:title="@string/start_trip" />
        <item
            android:id="@+id/nav_map"
            android:icon="@null"
            android:title="@string/showmapview" />
        <item
            android:id="@+id/nav_allstudentlist"
            android:icon="@null"
            android:title="@string/allstudentlist" />

        <item
            android:id="@+id/nav_settings"
            android:icon="@null"
            android:title="@string/settings" />
    </group>



</menu>

您可以为每个菜单指定图标

【讨论】:

谢谢,我做到了,但是图标颜色相同。如果在 NavigationView 中设置 app:itemIconTint="your color" 属性,问题仍然没有解决。因为图标仍然有相同的颜色颜色。【参考方案2】:

如果您指的是 Icon 的 Drawable/Mipmap 资源,这取决于我假设的原始颜色。 如果您通过菜单将图像作为 ActionBar 图标导入 Android Studio,则所有这些都将根据您选择的主题(浅色/深色)采用一种颜色

您的资产(可绘制对象)是否具有不同的颜色?

【讨论】:

我通过“android:icon="@drawable/ic_home"”在 NavigationView 菜单项中使用可绘制资源作为图标。但不管是什么图标,颜色都是一样的。

以上是关于如何为 NavigationView 中的单个菜单项提供自定义图标颜色?的主要内容,如果未能解决你的问题,请参考以下文章

更改 navigationView 的单个特定菜单项的背景颜色

如何使用菜单布局将自定义项添加到 NavigationView?

如何为多个选项卡/窗口运行工具栏的单个实例

如何为 QTableView 中的单个单元格设置委托?

如何为 5500 万条记录批量更新 postgres 中的单个列

如何为多处理池中的单个进程分配 python 请求会话?