Как отобразить изображение в навигационном ящике - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать свое первое меню для гамбургеров с некоторыми изображениями, но они отображаются в оттенках серого, а не в реальном изображении. Вот фотография того, как это выглядит:

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 ]

1 голос
/ 03 апреля 2020

Вы можете попробовать это: Как настроить навигационный ящик в Android Стад ios?

TL; DR: Создать ListView в вашем DrawerLayout с соответствующей реализацией, Адаптер, поз. xml и тому подобное.

1 голос
/ 02 апреля 2020

В вашем 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">

// здесь вы можете добавить свое изображение sr c

     <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>
0 голосов
/ 06 апреля 2020

Я нашел способ отображения исходных изображений, вот фрагмент кода:

navigationView.setItemIconTintList(null);

"navigationView" - это имя моего ящика, измените его на свое в MainActivity

...