0
我正在开发一个android应用程序。我使用了不同的布局文件夹。像布局一样,layout-large,layout-xlarge。以便它可以适应所有分辨率。但我在活动中动态设置图像。我如何根据屏幕分辨率更改它们?如果我们改变分辨率,多大的图像会取代较小的图像?如何根据分辨率更改图像?
我正在开发一个android应用程序。我使用了不同的布局文件夹。像布局一样,layout-large,layout-xlarge。以便它可以适应所有分辨率。但我在活动中动态设置图像。我如何根据屏幕分辨率更改它们?如果我们改变分辨率,多大的图像会取代较小的图像?如何根据分辨率更改图像?
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;
}
我在问,如何根据屏幕分辨率动态地替换图像。如果我使用屏幕尺寸480 * 800。那么图像应该被biger取代。 – user2147892 2013-03-12 09:13:05