首页 > 解决方案 > 使用原始图像的纵横比(如whatsapp)设置ImageView的宽度和高度

问题描述

我有一个不同尺寸图像的列表视图。使用 glide 库加载图像。

目前我已将图像视图的高度和宽度设置为 wrap_content 以获得图像的原始感觉,但它的行为不正确。

因此我想使用纵横比设置图像视图的宽度和高度。

我使用了不同的 scaleType,但没有得到想要的结果。

任何帮助表示赞赏

标签: androidlistviewimageviewandroid-glide

解决方案


我建议您使用 ConstraintLayout 中的DimensionConstraints。您可以使用 app:layout_constraintDimensionRatio 属性定义纵横比,因此您的 ImageView 可以是这样的:

<ImageView android:layout_width="0dp"
                   android:layout_height="0dp"
                   app:layout_constraintDimensionRatio="H,2:1"
                   app:layout_constraintBottom_toBottomOf="parent"
                   app:layout_constraintTop_toTopOf="parent"/>

所以图像视图的高度总是宽度值的一半。


推荐阅读