Coil ImageView不完全适配

9
根据Coil文档,我不需要为我的图像进行任何配置才能使用fit()。问题是,ImageView没有正确加载:
这是我在使用Picasso时对ImageView的配置:
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加载它们的方式:

enter image description here

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

enter image description here

问题是,我如何使用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"/>

2
嗯,实际上它说不需要进行任何适配配置。https://coil-kt.github.io/coil/migrating/ - coroutineDispatcher
在 Github 上的 Coils README - coroutineDispatcher
你能够解决这个问题了吗? - Richard Miller
4个回答

7

只有一件事,这种行为确实解决了,但在第二次加载时仍然存在。 - coroutineDispatcher
@coroutineDispatcher 你能详细阐述一下吗? - Mayur Patel
这段代码确实可以工作,但如果我再次点击同一片段,照片将回到先前的状态(即不正确的状态,问题中的图片1)。 - coroutineDispatcher

2
因此,根据迁移指南,答案应该像这样:“最初的回答”。
imageView.scaleType = ImageView.ScaleType.FIT_CENTER

最初的回答,或者它应该在XML中定义。

android:scaleType="fitCenter"

1
没有,同样的结果。 - coroutineDispatcher
你有检查过这个吗?https://github.com/coil-kt/coil/issues/20 我认为存在缩放问题。 - Ferhat Ergün
@coroutineDispatcher 看起来这与此问题有关(https://github.com/coil-kt/coil/issues/20)。我正在努力解决它,以便在未来几天内发布0.7.0版本。 - Colin White
是的,但在我的情况下,即使将“scaletype”设置为“centercrop”,仍然没有得到预期的结果。 - coroutineDispatcher

2
根据文档,你应该使用ImageView.ScaleType。
imageView.scaleType = ImageView.ScaleType.FIT_XY

或者你可以将它用于ImageView的xml标签中

android:scaleType="fitXY"

除了FIT_XY之外,根据您的需求,您还可以使用ImageView.ScaleType.CENTER_CROP。

0

只需在您的布局XML文件中删除行android:adjustViewBounds="true"即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接