来自不同大小的网址的Android图片

时间:2016-03-04 10:04:55

标签: android android-drawable

我为我的Android应用程序准备了图像。由于设备尺寸不同,我将具有不同尺寸的图像放到可绘制文件夹中。现在我想从网址获取这些内容。我想获得最适合设备尺寸的图像。我该怎么做?有什么建议吗?

1 个答案:

答案 0 :(得分:1)

从api,你需要发送URI到各种大小的图像,然后在Android中你需要下载适合设备的dpi值的图像,其代码是这样的:

您可以像这样获得设备的密度值

float density = Resources.getSystem().getDisplayMetrics().density * 160f;

float density = context.getResources().getDisplayMetrics().density * 160f;

然后你会执行一系列if else语句并从服务器下载相应的图像。

if (density == DisplayMetrics.DENSITY_HIGH) {
    return downloadLargeImage();
} else if (density == DisplayMetrics.DENSITY_MEDIUM) {
    return downloadMediumImage();
} else if (density == DisplayMetrics.DENSITY_LOW) {
    return downloadSmallImage();
} else {
    return downloadMediumImage();
}

有更多的密度值,你可以运行if else循环,我通常只处理这3个案例

或者还有另一种方法,您可以做的是将设备密度值连同图像的获取请求一起发送到服务器,如果在服务器上进行计算并返回相应的图像文件,则执行此操作。

两种方法实际上是相同的,但第二种方法在语义上是错误的,您的服务器不应该决定发送哪个图像,而是您的设备确定要下载的图像大小