我是设计布局的新手。我从服务器获取位图,我设置了imageview高度,使得它在每个密度上看起来都很好ldpi,mdpi,hdpi,xhdpi。
stripImageView.getLayoutParams().height = (int) ((Util.screenWidth(this) * strip.getHeight() / strip.getWidth()) * getResources().getDisplayMetrics().density);
但是这段代码不适合我。一些设备图像看起来非常小,有些设备看起来很好
答案 0 :(得分:0)
尝试使用dp而不是px设置布局中的尺寸。 Dp(或dip)代表与密度无关的像素,并将根据密度自动缩放。
编辑:我看到的另一个问题是你引用了屏幕宽度和高度,因此屏幕宽高比也会影响计算。
答案 1 :(得分:0)
将它们转换为DIP:
stripImageView.getLayoutParams(). height =
(int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>,
getResources().getDisplayMetrics());
其中HEIGHT是您想要的px高度。你可以根据条带的高度或其他东西。