android 在 ImageView 上显示来自 json 数据的图像(不同的屏幕分辨率)
android display images (different screen resolutions) on ImageView from json data
我正在获取 json 数据。在那json中,我有一组图像网址,用于像这样的一张图像的不同屏幕分辨率
"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"
}
我想根据屏幕尺寸显示此图像
您可以像下面这样使用,
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。
例如;
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
}
我正在获取 json 数据。在那json中,我有一组图像网址,用于像这样的一张图像的不同屏幕分辨率
"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"
}
我想根据屏幕尺寸显示此图像
您可以像下面这样使用,
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。
例如;
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
}