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

时间:2020-04-02 18:52:02

标签: java android xml navigation-drawer android-navigationview

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

enter image description here

这是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文件,以获得更好的质量。

3 个答案:

答案 0 :(得分:1)

在您的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>

答案 1 :(得分:1)

您可以尝试以下方法:How do I customize the navigation drawer in Android Studios?

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

答案 2 :(得分:0)

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

navigationView.setItemIconTintList(null);

“ navigationView”是我的抽屉的名称,请在您的MainActivity上将其更改为您的抽屉名称。