我将从xxxhdpi
,xxhdpi
,xhdpi
,hdpi
,mdpi
获取服务器中的5张不同图片。
URL将是这样的。
http://www.abctest.com/image-xxxhdpi.jpg
http://www.abctest.com/image-hdpi.jpg
有什么方法可以将这些图像放在可绘制的文件夹中。这样每个设备都会根据其密度来拾取图像。我用谷歌搜索但无法找到任何方法来实现这一点。
或者如果采用不同的方法,从服务器获取1个大图像,那么在较小的设备上它会产生滞后。
答案 0 :(得分:3)
有什么方法可以将这些图像放在可绘制的文件夹中。
不在运行时。资源和资产在运行时是只读的。
答案 1 :(得分:2)
您可以通过以下方式检查设备的密度:
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