2015-06-02 32 views
-2

我知道可以根据屏幕规格设置图像高度和宽度的值以及浮点值。如何根据特定的屏幕密度对imageview进行缩放并占据整个屏幕空间?

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

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

现在,如果您希望它显示图片而不会使图片变形,请将图片置于src属性中。如果你想让它变形,所以它填满了整个屏幕,把它放在后台。

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

相关问题