屏幕像素分辨率可绘制选择器



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

假设你有一个应用程序,你想把一些图形元素缩放到屏幕大小的N%。如果你在dpi中使用基于屏幕大小的目录,你的图像在hdpi屏幕上会模糊,如果你使用基于dpi的目录,它们在大屏幕上会模糊。

当然,你可以把这些可绘制的文件放到drawables-sw320dp-hdpi, drawables-sw320dp-mdpi等文件中,但是这会产生不同的图像版本(以及APK大小)和所需的测试环境。

目前,我正在解决这个问题,把这些可绘制的东西放在assets文件夹中,并通过编程方式选择它们,但这肯定不是一个理想的解决方案,从assets中加载可绘制的东西并不是在任何地方都能完美地工作。

你如何解决这个问题,请问?

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

最新更新