Android:可绘制的分辨率

时间:2011-02-15 22:00:04

标签: android drawable screen-resolution

我已经通过this post(和其他人)以及documentation关于支持Android中的不同屏幕分辨率,但我找不到(简单)问题的明确答案:

在Android应用程序中使用“res / drawable”图像是否可以?

背景:此特定应用程序中唯一需要的图像是应用程序图标本身和通知图标,任何布局都不会有任何图像。
所以在我的理解中,如果没有“ hdpi“ - ,”mdpi“ - 和”ldpi“ - 文件夹被发现,Android将使用”res / drawable“作为后备。
因为不同屏幕分辨率的唯一陷阱似乎是Android会缩放图像对于特定分辨率,如果没有找到特殊分辨率,这只应该是UPscaling时的问题,因为图像会变得模糊。但是如果我在“res / drawable”(而不是3个不同的)中提供所有“hdpi” - 图像,如果尺寸太大,Android会不会缩小这些图像?
如果这是真的,我可以保存一些APK空间只有三分之一的图像。

后续问题:我读过API级别3的dir,名称为“drawable-v3”是必需的。这个API级别的回退是真的还是“可绘制的”?

任何提示都表示赞赏。

6 个答案:

答案 0 :(得分:7)

drawables文件夹中的图像被假定为mdpi分辨率,因此如果您不提供其他图像,它们将按比例放大/缩小。

放大的图像将是低分辨率并且看起来模糊。按比例缩小的图像会丢失像素,看起来很麻烦。

因此,您的应用只能使用一组默认图像“工作”,但在许多设备上看起来很糟糕。我强烈建议您创建不同大小的图像,因此它在所有设备上看起来都很棒 - 它有点无聊,但并不难做到。

我们拥有xhdpi设备的时间不会太长,所以当你在使用xhdpi设备时,你也可能想要创建它们。

我假设您已阅读this

答案 1 :(得分:2)

不是一个完整的答案,但是:高度缩小的图像可以并且通常看起来与放大的图像一样糟糕(但以不同的方式),因为图形库几乎专门使用插值方法来调整大小,并且插值方法的术语有限他们可以在严重信息丢失之前缩小图像的数量(线性方法约为50%,双三次方法约为25%)。这就是为什么大多数平台都有不断发展的惯例(如hdpi,mdpi等),让你可以嵌入最适合每种屏幕大小的图像。

答案 2 :(得分:2)

我一直使用drawable /然后我去BestBuy和所有本地无线商店并在小/大/大(平板)设备上测试我的应用程序,它们看起来很好。

答案 3 :(得分:2)

除非您有理由以Donut设备为目标(现在根据http://developer.android.com/resources/dashboard/platform-versions.html只有4%的设备),否则您应该将位图放在-Xdpi目录之一中。由于兼容性原因,通用的“drawable”目录是“drawable-mdpi”的同义词,但是现代设计良好的app应该将其drawable放在与其设计密度相匹配的目录中。

答案 4 :(得分:0)

res / drawable是后备

需要注意的是,缩放不仅会降低图像质量,还会缩短处理时间。

我还没有读过API级别3的文档,对不起1/2答案

答案 5 :(得分:-2)

对于我的价值,我发现Android的图像处理是乏味且不可靠的。为不同的屏幕包括不同大小的图像的概念将导致大的应用程序文件随图像膨胀。已有屏幕不适合标准分辨率范围。我发现最好不让android处理缩放,它似乎为你定位的最小屏幕创建一个基本图像,然后将其放大,从而在大屏幕上产生普通的图像。即使您专门为大屏幕制作图像,也会发生这种情况。 我的解决方案似乎适用于从2“三星手机到索尼平板电脑的所有内容,即以高分辨率创建图像,并使用Bitmap.createScaledBitmap()来获得我需要的尺寸。

警告:我是Android的新手,需要学习很多东西。