【发布时间】:2016-07-28 11:43:44
【问题描述】:
我想从我的服务器下载图像并将其显示在图像视图上。 我主要关心的是不损害不同设备上的图像质量(具有不同的屏幕尺寸、分辨率和密度)
我想弄清楚如何准确测量我需要多大的图像尺寸以适应图像视图并保持其质量
为了这个问题, 假设我有一个 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 的方形图像。在这方面,我不是专家。但我认为,如果专注于图像的大型应用程序使用该分辨率。我应该够了。
标签: android android-layout android-imageview android-screen-support