如何动态地将图像放入drawable文件夹

How to put images in drawable folder dynamically

我将从服务器获得 5 张不同的图像,它们位于 xxxhdpixxhdpixhdpihdpimdpi。 URL 将是这样的。

有什么方法可以将这些图像放在可绘制文件夹中。这样每个设备都会根据图像的密度来拾取图像。我用谷歌搜索但无法找到任何方法来实现这一目标。

或者如果采用不同的方法,并从服务器获取 1 个大图像,则在较小的设备上会造成滞后。

Is there any way i can put these images in drawable folder.

不是在运行时。资源和资产在运行时是只读的。

您可以通过以下方式检查设备的密度:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);    
int screenDensity = metrics.densityDpi;   

并根据密度选择图像。
已编辑
或者你也可以这样做:

float density = getResources().getDisplayMetrics().density;
// return 0.75 if it's LDPI  
// return 1.0 if it's MDPI
// return 1.5 if it's HDPI
// return 2.0 if it's XHDPI
// return 3.0 if it's XXHDPI
// return 4.0 if it's XXXHDPI