如何在导航抽屉中显示图像

How to display an image in navigation drawer

我正在尝试用一些图像制作我的第一个汉堡菜单,但它们以灰度显示,而不是真实图像。这是它的外观照片:

这里是 XML 文件的代码:

<item
    android:id="@+id/desp_mercedes"
    android:icon="@drawable/mercedes"
    android:title="Mercedes" />
<item
    android:id="@+id/desp_audi"
    android:icon="@drawable/audi"
    android:title="Audi" />
<item
    android:id="@+id/desp_bmw"
    android:icon="@drawable/bmw"
    android:title="BMW" />

我想知道如何显示原图。我有 SVG 和 PNG 文件以获得更好的质量。

在您的 nav_header_main.xml 布局资源文件中:

      <?xml version="1.0" encoding="utf-8"?>
       <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/nav_header"
          android:layout_width="match_parent"
          android:layout_height="160dp"
          android:background="@color/colorAccent"
          android:clickable="true"
          android:focusable="true"
          android:foreground="?attr/selectableItemBackgroundBorderless"
          android:gravity="bottom"
          android:orientation="vertical"
          android:padding="16dp"
          android:theme="@style/ThemeOverlay.AppCompat.Dark">

//这里可以添加你的图片src

     <ImageView
        android:id="@+id/nav_header_imageView"
        android:layout_width="64dp"
        android:layout_height="64dp"
        android:src="@drawable/ic_imageview" />

<TextView
        android:id="@+id/nav_header_textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingTop="16dp"
        android:text="Chike Mgbemena"
        android:textAppearance="@style/TextAppearance.AppCompat.Body1" />

       </LinearLayout>

你也许可以试试这个:

TL;DR:使用适当的实现、适配器、item.xml 等在您的 DrawerLayout 中创建一个 ListView

我找到了显示原图的方法,这里是代码片段:

navigationView.setItemIconTintList(null);

"navigationView" 是我抽屉的名字,在你的 MainActivity 上改成你的名字