可绘制图像缩放

3

如果一个资源文件存在于drawable-xhdpi目录中,那么它的等效资源在drawable-hdpi/mdpi/ldpi目录中是否也需要存在以支持其他设备?或者说,Android会对xhdpi的资源进行自动缩放吗?如果Android会进行自动缩放,那么使用低dpi文件夹是否有任何好处?


一个屏幕分辨率较小的设备被认为使用低 hdpi 文件夹来获取图像(我没有看到过,所以不确定)。 - G_S
是的,Android通常会为您缩小比例。至于在低分辨率文件夹中拥有可绘制对象是否有益处,我会让其他人回答,因为我自己也有些不确定。但是,我相信一些设备可能无法识别xhdpi,因此至少需要一个hdpi来配合使用。 - Mxyk
2个回答

2
使用较低的文件夹有一个好处,就是您可以控制图像缩小的方式。高分辨率的图像在缩小时可能不会呈现您想要的效果,这取决于所使用的过滤算法和图像内容。如果高精度图像具有太多小细节,则在小分辨率下可能会看起来奇怪或粗糙。
将您自己的图像放置在ldpi文件夹中,您可以完全控制图像的外观。您可能希望在较小的图像中使用较简单的图像,以减少高频内容,使其更清晰、更易于查看和理解。

2
除了对您的问题的评论之外,我有几个原因可以说明为什么您可能希望在所有文件夹中都包含可绘制对象:
  • 如果您在xhdpi中有一个非常高分辨率且具有许多“活动”的可绘制对象,则在缩小比例时可能会看起来很糟糕和混乱。因此,当您在大小上移动时,可以创建较小、类似的版本的图标(在这些密度文件夹中以相似的名称命名),其中包含较少的“集群”。

  • 不同大小的布局可能需要不同大小的图标,并且缩放可能不会按照您个人的意愿进行,因此制作自己的可缩放的可绘制对象将(大多数情况下)防止出现此情况。

  • 如果您没有在所有密度文件夹中放置可绘制对象,则Lint会向您发出警告。

如果我想到更多的原因,我会添加它们。


即使是小尺寸的图像在高分辨率设备上使用时也可能会显得模糊,因此我们需要将图像包含在所有文件夹中。这样做是否正确? - G_S
是的,这也是真的。高密度转低分辨率会产生混乱,而低密度转高分辨率则会产生模糊。两者都是不可取的,因此开发人员应该为所有分辨率创建单独的、适当缩放的图像。 - Mxyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接