【发布时间】:2013-08-04 21:01:07
【问题描述】:
我的应用程序通过 HTTP 从服务器加载图像并将其保存到文件中。然后我使用这段代码来获取 Drawable 并查看它:
File f=new File(path);
if(f.exists()) {
Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath());
if(bmp!=null) {
DisplayMetrics dm = m_activity.getResources().getDisplayMetrics();
bmp.setDensity(dm.densityDpi);
Drawable drawable=new BitmapDrawable(context.getResources(), bmp);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
return drawable;
}
}
它在三星 Galaxy S2 上运行良好。但在三星 Galaxy S4 上,这个图像太小了。例如:
在 S2 上:
在 S4 上:
我需要在具有不同显示器分辨率的所有设备上平等地显示它。是否可以?如何实现?
【问题讨论】:
-
嗨 - 基本问题是具有更高分辨率的设备会使图像看起来更小。您需要根据设备分辨率按比例缩放“固有”大小。
-
@paulsm4,谢谢你的回答!但是你能简单地解释一下,如何根据设备分辨率按比例缩放这个尺寸吗?用最少的话说。
-
@BArtWell 你能接受答案吗?