0

我正在获取json数据。在JSON我有图像的网址不同的屏幕分辨率的阵列,用于像这样android在json数据的ImageView上显示图像(不同的屏幕分辨率)

"images": { 
       "full_url": "http://******/assets/tmp/", 
       "ldpi": "http://******/assets/tmp/ldpi/****.png", 
       "mdpi": "http://******/assets/tmp/mdpi/****.png", 
       "hdpi": "http://******/assets/tmp/hdpi/****.png", 
       "xdpi": "http://******/assets/tmp/xdpi/****.png" 
      } 

一个图像我想显示此图像依赖于画面大小

回答

1

可以使用像以下,

float density = getResources().getDisplayMetrics().densityDpi; 

//DisplayMetrics.DENSITY_LOW - LDPI(120) 
//DisplayMetrics.DENSITY_MEDIUM - MDPI(160) 
//DisplayMetrics.DENSITY_HIGH - HDPI(240) 
//DisplayMetrics.DENSITY_XHIGH - XHDPI(320) 
//DisplayMetrics.DENSITY_XXHIGH - XXHDPI(480) 
//DisplayMetrics.DENSITY_XXXHIGH - XXXHDPI(640) 

根据密度可以添加图像,参考this也是如此。例如:

Ex;

if(density == DisplayMetrics.DENSITY_MEDIUM) { 
    // Use mdpi image in your JSON 
} else if(density == DisplayMetrics.DENSITY_XHIGH) { 
    // use xdpi image in your JSON 
} else if(density == DisplayMetrics.DENSITY_HIGH) { 
    // use xdpi image in your JSON 
} else { 
    // use full image 
} 
+0

我想知道如何决定使用哪个图片url? –

+0

添加例子看看 –

+0

好吧,谢谢,我明白了 –