Android Imageview具有不同的大小,同时保持纵横比

时间:2017-11-23 05:41:50

标签: android imageview android-imageview android-glide

我们有一个应用程序,我们必须在其中显示每个Feed包含不同大小的图像的Feed。我想使图像高度应小于或至少为实际设备屏幕的60%。因此可以看到完整的进纸。

当我正在尝试使用不同尺寸的图像时,一切正常,但是当上传垂直图像时,它会落后于工具栏并且不能看到完整的图像。我不想剪裁图像。

2 个答案:

答案 0 :(得分:0)

Privide ScaleType FIT_XY,无论宽高比如何,它都会将图像缩放为x和y尺寸。

参考此代码:

vMainLayout = new LinearLayout(context);
vMainLayout.setLayoutParams(params);

vImage = new ImageView(context);
vImage.setId(0);
vImage.setAdjustViewBounds(true);
vImage.setScaleType(ScaleType.fitXY);
vImage.setLayoutParams(params1);
vImage.setImageResource(R.drawable.background_circles_en); 

vMainLayout.addView(vImage);

您可以更改XML代码:

<ImageView android:id="@+id/image"
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
               android:adjustViewBounds="true"
               android:scaleType="fitXY"
               android:layout_marginTop="10dp"/>

答案 1 :(得分:0)

如果您使用的是ConstraintLayout,则可以将属性app:layout_constraintDimensionRatio="1:1"添加到ImageView