我正在开发一个Android应用程序。我使用了不同的布局文件夹。像布局,布局大,布局-xlarge。这样它就可以适应所有分辨率。但我正在动态设置图像。如何根据屏幕分辨率更改它们?如果我们改变分辨率,那么太大的图像会取代较小的图像?
答案 0 :(得分:1)
Android适用于密度桶,从l(低)dpi到xx(额外额外)h(高)dpi。
您希望在文件夹中创建不同版本的图片
布局大文件夹有点松散,可以为不同大小定义不同的布局。
2个完全不同的东西,你可以阅读更多关于 screen practices in 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;
}