如何使 Android 正确显示基于屏幕密度的图像?

How to make Android properly display screen density based Images?

我有一个 Android 应用程序,有五个基于 drawable\ 图像的不同屏幕密度。

drawable-hdpi
drawable-mdpi
drawable-xhdpi
drawable-xxhdpi
drawable-xxxhdpi

当我在 LG3 上 运行 应用程序时,它显示 mdpi 大小的图像。 works/fits 完美。但是当我 运行 kindle fire 上的应用程序(大得多的屏幕)时,它仍然显示 mdpi 图像。我认为(并设计了该应用程序)可以为 kindle 使用 hdpi 大小的图像。经过一些研究,我发现我使用的 kindle fire 类型也使用 mdpi 屏幕密度。由于 kindle 的屏幕尺寸 SO 大得多,我该如何进行这项工作?我做错什么了吗。 kindle 实际上是 hdpi 但只是不工作?请帮忙。

How can I make this work since the kindle is SO much larger in screen size?

尺寸是以英寸或毫米为单位测量的东西。密度以每英寸点数 (dpi) 为单位测量。

因此,完全有可能拥有许多屏幕 尺寸 差异很大的设备,所有设备都具有相同的屏幕 密度。 phone 不仅 phone(例如 LG G3)和平板电脑(例如 Kindle Fire)可以具有相同的密度,而且有人可以建造一个像墙一样大的屏幕,它也具有相同的密度。

具有不同密度的可绘制对象(和 mipmap)意味着当您的应用程序在具有不同密度的设备上运行时,可绘制对象的大小可能看起来大致相同,只是在更高密度的屏幕上具有更多细节。如果您 想要拥有适用于不同屏幕尺寸的可绘制对象,您可以,但是您需要拥有更多目录和更多版本的作品。例如,res/drawable-mdpi/ 表示 "these resources are optimized for mdpi density",res/drawable-w640dp-mdpi/ 表示 "use these resources for devices whose current width is at least 4" (640dp),其中这些资源针对 mdpi 密度进行了优化。