0

虽然 Android drawables 对多屏的支持是一个非常强大的工具,尤其是它的 drawable-sw???dp 选择器,但我缺少一个非常重要的功能,那就是支持像素选择器中的屏幕大小(它可以实现为 drawable-sw? ??px)。

想象一下,您有一个应用程序,您希望将一些图形元素缩放到屏幕大小的 N%。如果您在 dpi 中使用基于屏幕尺寸的目录,您的图像在 hdpi 屏幕上会模糊,如果您使用基于 dpi 的目录,它们在大屏幕上会模糊。

当然,您可以将这些drawable 放入drawables-sw320dp-hdpi、drawables-sw320dp-mdpi 等,但这会导致所提供的各种图像版本(和APK 大小)和所需测试环境的爆炸式增长。

目前,我正在通过将此类可绘制对象放在资产文件夹中并以编程方式选择它们来解决此问题,但这当然不是一个理想的解决方案,并且从资产加载可绘制对象并不是在任何地方都能完美地工作。

请问您如何解决这个问题?

4

1 回答 1

0

在将图形放入项目之前缩放图形,然后将它们放入方便的文件夹中。例如,假设你有一个 bg.jpg,制作 4 个版本,分别为 700x100、600x80、500x60、400x50,然后分别放置 drawable-xhdpi、drawable-hdpi、drawable-mdpi、drawable-ldpi。如果它不起作用,请尝试使用矢量图形,每次缩放时都会预先计算它们的像素。最后,您可以使用 Matrix 类进行扩展,但它们可能很难学习和使用。

于 2013-04-23T14:06:34.390 回答