如何在不同的可绘制文件夹中排列图像?

How to arrange images in different drawable folders?

我知道关于这个的讨论随处可见,我自己也使用过这些文件夹,但在阅读它们之后,我最近对如何在可绘制文件夹中排列图像感到很困惑 -

看看这个 XML 文件 -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/wallpaper_chapter_selection"
    tools:context="com.greenloop.joindotsandpaint.ChapterSelection">

    <ImageView android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:scaleType="centerInside"
         android:src="@drawable/img2"
         android:padding="20dp" />

<RelativeLayout

让我们考虑 2 部手机横向模式 -

Nexus 10 - 2560 像素 * 1600 像素 xhdpi

Nexus 5 - 1920px * 1080px xxhdpi

如果是 Nexus 10 - 图片大小将为 1600 像素(高度) 对于 Nexus 5 - 图片大小为 1080px

Nexus 10 所需的图像尺寸将大于 Nexus 5 所需的图像尺寸,但 nexus 10 将从 xhdpi 文件夹(较小的图像尺寸)获取图像,因为它是 xhdpi nexus 5 将从 xxhdpi 文件夹中获取图像。

那么我应该如何解决这个问题。我有很多类似的布局,但我遇到了类似的问题。

检查"Screen size"下的部分:

http://developer.android.com/guide/topics/resources/providing-resources.html

您可以(或者更确切地说需要)为不同的屏幕尺寸创建不同的布局。手机和平板电脑的处理方式不同。

Nexus 5 的 DPI 更高。 5" 上的 1080px VS 10" 上的 1600px... 所以 Nexus 5 使用 xxhdpi 资源(此处:图像!)和 Nexus 10 使用 xhdpi 是正确的。 (xhdpi 不是 "bigger" 而是 xxhdpi,它只是 "has less" 每英寸像素)。

手机和平板电脑的布局与屏幕的 DPI 有所不同。

drawable-hdpidrawable-xhdpidrawable-xxhdpi等仅指定dpi尺寸,所有尺寸的设备都将从同一文件夹中获取资源,只要它们具有相同的 dpi 规格。要添加屏幕尺寸尺寸,您可以添加 large(适用于 7" 及左右的设备)、xlarge(适用于 10" 及左右的设备)等。例如,您可以使用 drawable-xlarge-xhdpi 强制 Nexus 10" 从该文件夹中获取特定资源。或者您可以只使用 drawable-xlarge,这样所有 10" 设备都将从该文件夹中获取资源文件夹,无论它们的 dpi 是多少。 基本上,包罗万象的是 drawable 文件夹,您可以根据具体情况使用 drawable-*-*-etc 中的值进行覆盖。文件夹。