使用屏幕密度调整互联网图像大小的好方法?

时间:2014-10-01 11:25:45

标签: android android-layout

我从API获取大图像,需要调整大小以适应不同的屏幕类型。

通过将MDPI分辨率与屏幕密度相乘来调整大小是一种很好的方法吗?

我实施了这种方法并对其进行了测试,到目前为止它仍然有效。我想知道这是否是一个很好的方法,我可以适用于整个项目。

因此,如果MDPI大小为100px,在MDPI屏幕上看起来没问题,我将使用MDPI_SIZE * getScreenDensity()调整其他类型的图像,后面的方法看起来像

public static float getScreenDensity(Context context) {
    DisplayMetrics metrics = context.getResources().getDisplayMetrics();
    return metrics.density;
}

因此,XHDPI上的图像大小为200dp,XXHDPI 300dp等等。当然,所有这些都是以编程方式设置的。

1 个答案:

答案 0 :(得分:1)

是的,我使用的东西与此非常相似(但 svg图形矢量)。
当然,您的图像需要具有良好的mdpi分辨率,才能与此系统一起扩展。

BUT!您最好缩放 DOWN ,以获得更高质量的结果 或者,mdpi中的1 * 1像素将缩放为xxhdpi中的3 * 3像素。

因此,您最好下载适合xxhdpi屏幕的图像,然后将其缩小 对于xhdpi,您的比例因子 0.667 ,对于hdpi, 0.5 ,对于mdpi, 0.333 ,对于ldpi, 0.25