Próbuję zrobić moje pierwsze menu z hamburgerami z niektórymi obrazami, ale są one wyświetlane w skali szarości, a nie w rzeczywistości. Oto zdjęcie, jak to wygląda:

A oto kod pliku 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" />

Chcę wiedzieć, jak wyświetlić oryginalne obrazy. Mam pliki SVG i PNG dla lepszej jakości.

0
Kikoneta 2 kwiecień 2020, 21:52

3 odpowiedzi

Najlepsza odpowiedź

Znalazłem sposób na wyświetlenie oryginalnych obrazów, oto fragment kodu:

navigationView.setItemIconTintList(null);

„navigationView” to nazwa mojej szuflady, zmień ją na swoją w Twojej MainActivity

0
Kikoneta 6 kwiecień 2020, 17:48

W pliku zasobów układu 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">

// tutaj możesz dodać źródło swojego obrazu

     <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
Shimaa Yasser 2 kwiecień 2020, 19:07

Możesz to wypróbować: Jak czy mogę dostosować panel nawigacji w Android Studios?

TL; DR: Utwórz ListView w swoim DrawerLayout z odpowiednią implementacją, adapterem, item.xml i tym podobnymi.

1
Biscuit 2 kwiecień 2020, 21:39