繁体   English   中英

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

[英]Android images from url with different sizes

我为我的android应用准备了图片。 由于设备大小不同,我将大小不同的图像放入了可绘制的文件夹。 现在我想从url获得这些。 我想获取最适合设备尺寸的图像。 我应该怎么做? 有什么建议吗?

从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种情况

或者还有另一种方法,您可以执行的操作是将设备密度值与图像的获取请求一起发送到服务器,然后在服务器上进行其他计算,然后返回适当的图像文件。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM