[英]How to change image according resolution?
我正在开发一个android应用程序。 我使用了不同的布局文件夹。 像layout一样,layout-large,layout-xlarge。 这样就可以针对所有分辨率进行调整。 但是我在活动中动态设置图像。 如何根据屏幕分辨率进行更改? 如果更改分辨率,太大的图像将如何替换较小的图像?
Android使用密度存储桶,密度存储桶的范围从l(低)dpi到xx(额外)h(高)dpi。
您要在文件夹中创建不同版本的图像
这与布局较大的文件夹有点松散,后者使您可以为不同的大小定义不同的布局。
2件截然不同的事情,您可以在Android的屏幕实践中了解更多。
=======编辑; 似乎这不完全是问题。
如果您以“正确的方式”进行操作,则即使是动态添加图像,Android系统也会为您选择正确的图像(您仍然可以从Java代码中调用R.drawable.my_image)。
如果由于某些原因您必须选择,则可以使用类似(有点过时)的方法简单地检查当前的密度。
public String getDensity() {
String density;
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
// will either be DENSITY_LOW (120) , DENSITY_MEDIUM (160) or
// DENSITY_HIGH (240)
switch (dm.densityDpi) {
case 120:
density = "ldpi";
break;
case 160:
density = "mdpi";
break;
case 240:
density = "hdpi";
break;
// use hdpi as default, because flurry shows this will be suited for
// most of our users.
default:
density = "hdpi";
break;
}
return density;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.