这里有一个新手问题,但我无法在网上或书中找到明确的答案。我正在设计一个与各种尺寸的Android设备兼容的应用程序,我想在我的应用程序中显示图像。我知道android会自动缩放图像以适应所显示屏幕的分辨率。
我的问题是我在使用的图像中寻找什么?例如。我的照片是2418 x 2192 @ 240dpi。据我所知,这应该是一个更大的屏幕,如平板电脑的完美。如果我将它放入我的项目中的xhdpi图像文件夹中,它是否会被其他设备检测到并缩放以适合其尺寸/分辨率?我是否必须在photoshop中创建此图像的3个不同版本并将其放入相关的dpi文件夹中?
我找不到一个很好的初学者教程,所以不知道我在做什么!
答案 0 :(得分:2)
这是支持多种屏幕尺寸的最佳起点:
http://developer.android.com/guide/practices/screens_support.html
简短的回答是,是的,您根据分辨率将图像放在不同的目录中,Android会根据设备的属性选择要使用的图像。您应该制作一组较小的图像,例如mdpi和hdpi。你没有“必须”这样做,如果你只是把图像放到drawable中,它可以按比例缩小,但这通常不是最好的方法。
答案 1 :(得分:2)
这是几乎所有项目都要处理的问题,因为只有很多Android设备。 This resource给了我很大的帮助。
如果您的资源只有一个文件夹,Android会为您缩放。不同的可绘制文件夹旨在允许开发人员以最小的努力提供适当缩放的图像。例如,除了“标准”mdpi图像之外,您还需要提供xhdpi,以使资产在高分辨率设备上看起来更好。即使您只提供了一个图像,该应用程序也能在所有分辨率下正常工作(并且具有缩放图像)。但是,如果你提供了一个xhdpi drawable,那么缩小所有这些就会有一些开销,特别是对于图标,结果可能看起来不太好(甚至可以识别)。
我通常为mdpi和xhdpi提供资源,但如果应用程序会在低分辨率设备上频繁使用,我也会提供ldpi。如果可能的话,我包括所有四个。
注意:您提到的图片太大而无法包含在UI资源中,并且可能最好放在资源中并根据请求加载。即使在xhdpi设备上,它也必须按比例缩小。