如何根据特定的屏幕密度进行imageview缩放并占据整个屏幕空间?

时间:2015-06-02 11:54:46

标签: android dpi screen-size

我知道可以根据屏幕规格,使用密度浮点值设置图像的高度和宽度值。

DisplayMetrics metrics = new DisplayMetrics();
        display.getMetrics(metrics);
        mScale = metrics.density;

 animationLayout.width = (int) (60*mScale);
        animationLayout.height = (int) (60*mScale);

我使用的图像视图看起来有点扭曲。你能给我一些关于如何在不同的屏幕尺寸,密度上按比例显示图像的一般想法/算法吗?像这样: 获取设备的屏幕密度。 计算所有宽度/高度 - setWidth(50 * mScale),setHeight(50 * mScale)?

1 个答案:

答案 0 :(得分:1)

如果你想让它占据整个屏幕,只需在xml中将其android:height和android:width属性设置为match_parent,它将自动缩放以填充整个屏幕。

现在,如果您希望它显示图片而不是扭曲它,您可以将图片放在src属性中。如果你想让它变形,那么它会填满整个屏幕,把它放在后台。

如果您想要将不同的图片用于不同的密度,请将这些图片放在不同的可绘制文件夹中(-ldpi,-mdpi,-hdpi,-xhdpi ...),android将使用正确的图片用于当前设备密度