1

我在我的 xml 中使用 imageview 并将图像从 res/drawable-xhdpi 设置为它。我的图像大小为 354x404,当我在 10" 三星平板电脑上运行代码时,它显示图像为 177x202。

这是我正在使用的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false" >

    <ImageView
        android:id="@+id/img_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/app_name"
        android:src="@drawable/android1" />

</LinearLayout>

这是我正在使用的图像:

在此处输入图像描述

这是平板电脑的屏幕截图:

在此处输入图像描述

请告诉它为什么会发生以及解决此问题的解决方案是什么。

更新:当我将此图像放入“res/drawable”文件夹而不是 xhdpi 时,它会正确显示图像,即 354x404。

4

1 回答 1

1

评论后编辑:

ImageView 将以适合设备的正确分辨率呈现其中的图像。根据有关提供资源的文档,您必须确保以正确的 DPI 为每种分辨率类型提供资源。Android 会为您选择最佳的资源分辨率,但如果只存在一种资源,那么它会选择该资源并尝试以设备分辨率进行渲染。

三星平板电脑虽然有一个大屏幕,但它是 MDPI(至少是 Galaxy Tab 2),即使它有一个大屏幕,它也是标准密度。它的资源应该放在res/drawable.

于 2012-12-24T09:47:39.750 回答