如何在Android导航抽屉中显示图标的原始颜色?

6
我创建了一个新的Android Studio项目,并选择了“导航抽屉活动”。
在“activity_main_drawer.xml”中,我将图标路径更改为drawable文件夹中的文件,如下所示。
<item
    android:id="@+id/nav_camera"
    android:icon="@drawable/nav_logo_premium"
    android:title="Import" />

它更改了图标。但它没有显示原始颜色。它以灰色显示。我想我需要更改主题。花费了几个小时后,我找不到解决方案。
非常感谢任何形式的帮助。
因为我没有更改代码,所以我没有附上所有文件源代码在这里。
请查看附加的屏幕截图Screenshot
3个回答

26

强制NavigationViewMainActivity.java中停止对图标进行着色:

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setItemIconTintList(null);

1
在你的styles.xml文件中创建如下样式:
<style name="drawStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="color">@android:color/red</item>
</style>

将创建的样式添加到主题中,可以改变切换按钮的颜色。
<item name="drawerArrowStyle">@style/drawStyle</item>

如果您使用设计支持库,可以使用app:itemIconTint属性来更改图标颜色:
<android.support.design.widget.NavigationView
    android:id="@+id/navigation"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme"
    app:headerLayout="@layout/header"
    app:itemIconTint="#f00"
    app:itemTextColor="#0f0"
    app:menu="@menu/left_menu" />

它没有起作用..它只改变了左上角的三条线图标的颜色。 - Imama
请查看附加的屏幕截图。 - Imama
使用 app:itemIconTint 属性来实现此功能。 - M. Wiśnicki

0
V21/ic_menu_slideshow.xml如果可用,移除android:fillColor="#FF000000"

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