图像高度在不同密度下出现不同

时间:2013-12-27 16:22:21

标签: android

我是设计布局的新手。我从服务器获取位图,我设置了imageview高度,使得它在每个密度上看起来都很好ldpi,mdpi,hdpi,xhdpi。

stripImageView.getLayoutParams().height = (int) ((Util.screenWidth(this) * strip.getHeight() / strip.getWidth()) * getResources().getDisplayMetrics().density);

但是这段代码不适合我。一些设备图像看起来非常小,有些设备看起来很好

2 个答案:

答案 0 :(得分:0)

尝试使用dp而不是px设置布局中的尺寸。 Dp(或dip)代表与密度无关的像素,并将根据密度自动缩放。

编辑:我看到的另一个问题是你引用了屏幕宽度和高度,因此屏幕宽高比也会影响计算。

答案 1 :(得分:0)

将它们转换为DIP:

stripImageView.getLayoutParams(). height = 
     (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>, 
          getResources().getDisplayMetrics());

其中HEIGHT是您想要的px高度。你可以根据条带的高度或其他东西。