使用 Glide 拉伸图像以适应图像视图

Stretch Image to fit Image View using Glide

我想制作适合我 image view 的图像。我正在使用 Glide 以编程方式加载图像。它确实会加载图像,但不会拉伸它以适合我的整个 image view。它像这样在两边留下空格

我想在不裁剪的情况下显示我的整个图像,所以我不能使用

android:scaleType="centerCrop"

有一种方法可以将整个图像放入我的 image view 中,方法是使用

android:background="@drawable/image"

它拉伸我的图像以适应整个 image view。但是,如果我使用 Glide 加载图像,我怎样才能达到同样的效果?

试试这个,在中心显示您的完整图像

imageview.setScaleType(ScaleType.FIT_CENTER);

您可以使用centerCrop 方法。

Glide.with(context).load(url).centerCrop().placeholder(R.drawable.default_image).into(img);     

我终于得到了答案。 只需使用

android:scaleType="fitXY"

像这样在 xml ImageView 标签中使用 Glide 或 BitmapFactory 加载图像,而不使用任何 scaleType 属性。

<ImageView
 android:id="@+id/image_view"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:scaleType="fitXY"/>

加载图像到图像视图

Glide.with(this).load(imageUrl).into((ImageView)findViewById(R.id.image_view));

如果您希望图像适合宽度并具有动态高度,而不裁剪内容,例如:像 instagram 提要一样,将高度设置为包裹内容,将宽度设置为与父级相匹配,并将 adjustViewBounds 设置为 true。

  <ImageView
        android:id="@+id/imageView"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:minHeight="200dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />