导航视图中的彩色图标

8

您好,有没有一种方法可以在导航抽屉上显示彩色图标?不是将它们设置为黑色或进行色彩控制,而是每个图标都有相应的颜色(高亮/背景),在导航抽屉中单击时会显示出来。

就像 Google 应用商店的抽屉一样。

3个回答

42

是的,您可以使用菜单组项添加有颜色的图标:

<item
        android:id="@+id/drawer_artist"
        android:icon="@drawable/artist"
        android:title="Artists"/>

要突出显示所选项目,请使用以下代码进行默认选择:

navigationView.getMenu().getItem(0).setChecked(true);

您可以通过调用该方法选择(高亮)该项:

onNavigationItemSelected(navigationView.getMenu().getItem(0));

编辑

如果您正在使用NavigationView,则可以按照以下方式编辑选项以更改图标的颜色:

    <android.support.design.widget.NavigationView
    android:id="@+id/navigation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    android:background="@drawable/bg_all"

    app:itemIconTint="@android:color/white"
    app:itemTextColor="@android:color/white"
    app:theme="@style/list_item_appearance"
    app:menu="@menu/drawer_menu" >

编辑

如果您设置navigationView.setItemIconTintList(null);,您将获得带颜色的图标。


我尝试过了。我添加了彩色图标,但它仍然显示为灰色,而不是彩色的。我正在使用意图开关。当图标被点击时。 - RoCkDevstack
这也适用于矢量图像吗?它们的原始颜色呢?谢谢您的回答。 :) - RoCkDevstack
@RoCk 感谢您接受答案,如果有用的话也可以点赞。我还没有尝试过矢量图像,我会去探索并告诉您结果的。 - Android Geek
@RoCk,请检查是否需要编辑,并如果您觉得有用请点赞 :) - Android Geek
什么是Kotlin的等效语? - Alok Rajasukumaran
编辑救了我的命。谢谢。 - fHate

8
您可以在Activity.Class中设置它。
navigationView.setItemIconTintList(null);

0

你可以在你的菜单xml中通过在代码中将checked设置为true来实现这个功能,例如:

<item
    android:id="@+id/home_action"
    android:checked="true"
    android:icon="@drawable/home"
    android:title="@string/home" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接