我有一个ImageView,我想用Glide将一张图片加载到其中。问题在于,我希望所有的图片都按照16:9的宽高比具有相同的高度(宽度为match_parent)。
<ImageView
android:id="@+id/thumbImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:contentDescription="@string/thumbnail_text"
android:scaleType="fitCenter"
android:src="@drawable/thumbnail_default"
android:cropToPadding="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/thumbTitle"/>
Glide代码
Glide.with(mThumb.getContext())
.load(getThumbUrl())
.into(mThumb);
当我加载一个16:9宽高比的图片时,一切都很好。然而,当我加载另一张图片时,高度会根据图片的高度进行调整。 我尝试添加约束布局的尺寸比例。
app:layout_constraintDimensionRatio="16:9"
我尝试使用adjustViewBounds和scaleType进行调整,但没有成功。
因此,我认为我应该在加载图像之前使用Glide来调整位图,但我找不到相关的教程。
如何实现宽度匹配父布局并且高度按照16:9的纵横比计算的图片显示?
谢谢,
注意:我尝试过
<ImageView
android:id="@+id/thumbImage"
android:layout_width="match_parent"
android:layout_height="0dp"
android:adjustViewBounds="true"
android:contentDescription="@string/thumbnail_text"
android:scaleType="centerCrop"
android:src="@drawable/thumbnail_default"
android:cropToPadding="true"
app:layout_constraintDimensionRatio="H,16:9"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@id/thumbTitle"/>
它能正常工作,但如果方向改变,高度就变为0。