首页 > 解决方案 > 线圈 ImageView 不完全适合

问题描述

根据Coils 文档,我不必为我的图像进行任何配置fit()。问题是,ImageView没有正确加载:

这是我对ImageViewwith的配置Picasso

picasso.load(unsplashResult?.photoUrls?.thumbnailUrl)
                        .fit()
                        .error(R.drawable.img_placeholder)
                        .placeholder(R.drawable.img_placeholder)
                        .into(currentImageView)

这是代码Coil

currentImageView.load(unsplashResult?.photoUrls?.thumbnailUrl) {
                        placeholder(R.drawable.img_placeholder)
                        error(R.drawable.img_placeholder)
                    }

我的结果ImageView不一样。

这是Coil加载它们的方式:

在此处输入图像描述

这就是Picasso加载它们的方式:

在此处输入图像描述

问题是,我怎样才能达到相同的结果Coil

编辑

这是我的ImageView

<ImageView
            android:adjustViewBounds="true"
            android:id="@+id/ivUnsplashImage"
            android:src="@drawable/some_unsplash_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

标签: androidcoil

解决方案


基于此文件

您可以根据您的请求将 scaleType 设置为 centerCrop 或 scale(Scale.FILL) 来解决此问题。

https://coil-kt.github.io/coil/api/coil-base/coil.request/-request-builder/scale/

https://coil-kt.github.io/coil/api/coil-base/coil.size/-scale/

你是这样设置Scale类型的

view.load(chatMessageBean.thumb) {
       crossfade(750)
       placeholder(errorPlaceHolder)
       transformations(CircleCropTransformation())
       error(errorPlaceHolder)
       scale(Scale.FILL)
}

推荐阅读