4

这里是一个新手问题,但我在网上或我所拥有的书中找不到明确的答案。我正在设计一个与所有尺寸的 android 设备兼容的应用程序,并且我想在我的应用程序中显示图像。我知道android会自动缩放图像以适应正在显示的屏幕的分辨率。

我的问题是我在使用的图像中寻找什么?例如,我有一张 2418 x 2192 @ 240dpi 的图片。据我所知,这对于平板电脑等更大的屏幕来说应该是完美的。如果我把它放到我项目的 xhdpi 图像文件夹中,它会被其他设备检测到并缩放以适应它们的尺寸/分辨率吗?我是否必须在 Photoshop 中创建此图像的 3 个不同版本并将其放入相关的 dpi 文件夹中?

我找不到一个很好的初学者教程,所以不知道我在做什么!

4

2 回答 2

2

这是支持多种屏幕尺寸的最佳起点:

http://developer.android.com/guide/practices/screens_support.html

简短的回答是,是的,您根据分辨率将图像放在不同的目录中,Android 将根据设备的属性选择要使用的图像。您应该制作一组较小的图像,例如,用于 mdpi 和 hdpi。您不必“必须”这样做,如果您只是将图像放入 drawable 中,它可以按比例缩小,但这通常不是最好的方法。

于 2012-10-22T15:32:59.243 回答
2

这是您在几乎所有项目中都会遇到的问题,因为 Android 设备实在太多了。这个资源对我帮助很大。

如果您只有一个文件夹中的资源,Android 将为您扩展它。不同的可绘制文件夹旨在允许开发人员以最小的努力提供适当缩放的图像。例如,除了“标准”mdpi 图像之外,您还需要提供 xhdpi 以使资源在高分辨率设备上看起来更好。即使您只提供了一个图像,该应用程序也可以在所有分辨率下正常工作(并且具有缩放图像)。但是,如果您提供了一个 xhdpi 可绘制对象,那么缩小所有这些会产生一些开销,尤其是对于图标,结果可能看起来不太好(甚至无法识别)。

我通常为 mdpi 和 xhdpi 提供资产,但如果应用程序会在低分辨率设备上频繁使用,我也会提供 ldpi。如果可能的话,我包括所有四个。

注意:您提到的图像太大而无法包含在 UI 资源中,最好将其放置在资产中并根据请求加载。即使在 xhdpi 设备上,也必须按比例缩小。

于 2012-10-22T15:34:51.740 回答