如何在导航抽屉中显示图像
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 上改成你的名字
我正在尝试用一些图像制作我的第一个汉堡菜单,但它们以灰度显示,而不是真实图像。这是它的外观照片:
这里是 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 上改成你的名字