我想从服务器下载图像并将其显示在图像视图上。 我主要关注的是不要损坏不同设备上的图像质量(具有不同的屏幕尺寸,分辨率和密度)优化图像尺寸以便在图像视图上显示质量
我想弄清楚如何测量我需要的图像大小以适合图像视图的质量
为了这个问题, 说我有一个100dp * 100dp大小的图像视图为了保持hdpi,xhdpi,xxhdpi和xxxhdpi设备的质量,我需要下载哪些图像分辨率?
我已经知道如何获取设备
DisplayMetrics displaymetrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager) m_context.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
Log.d(Utils.TAG,"displaymetrics : Hieght: "+ height + " width: " + wwidth);
switch (m_context.getResources().getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
Log.d(Utils.TAG,"Low desity");
break;
case DisplayMetrics.DENSITY_MEDIUM:
Log.d(Utils.TAG,"medium desity");
break;
case DisplayMetrics.DENSITY_HIGH:
Log.d(Utils.TAG,"high desity");
break;
case DisplayMetrics.DENSITY_XHIGH:
Log.d(Utils.TAG,"xhigh desity");
break;
case DisplayMetrics.DENSITY_XXHIGH:
Log.d(Utils.TAG,"xxhigh desity");
break;
case DisplayMetrics.DENSITY_XXXHIGH:
Log.d(Utils.TAG,"xxxhigh desity");
break;
}
我不知道。但我想我读到Instagram使用1080x1080的方形图片。 说到这里,我不是专家。但是我认为,如果一个专注于图像的大型应用使用该解决方案。我应该够了。 –