8

美好的一天,有没有办法在导航抽屉上显示彩色图标?不将它们着色或将它们设置为黑色,并且在导航抽屉中单击时,它们中的每一个都将具有相应的颜色(突出显示/背景)。

就像 Google Store App 抽屉一样。

4

3 回答 3

40

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

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

并突出显示选定的项目使用下面的代码进行默认选择:

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

您可以通过调用来选择(突出显示)该项目

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

编辑

如果您使用的是导航视图,则可以编辑用于更改图标颜色的选项,如下所示:

    <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);,您将获得彩色图标。

于 2016-02-17T11:33:14.297 回答
8

您可以在 Activity.Class 中设置它

navigationView.setItemIconTintList(null);
于 2019-01-20T16:51:40.007 回答
0

您可以在您的菜单 xml 中执行此操作,例如在您的代码中使 check 等于 true

<item
    android:id="@+id/home_action"
    android:checked="true"
    android:icon="@drawable/home"
    android:title="@string/home" />
于 2021-09-16T09:31:01.743 回答