根据Coil
的文档,我不必为fit()
的图像进行任何配置。问题是ImageView
无法正确加载:
这是我对ImageView
和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"/>
答案 0 :(得分:1)
基于此文档
您可以通过根据需要将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)
}
答案 1 :(得分:0)
所以,根据迁移指南的答案应该是这样的
android:scaleType="fitCenter"
或者应该以XML定义
{{1}}
答案 2 :(得分:0)
只需删除布局XML文件中的行android:adjustViewBounds="true"
。
答案 3 :(得分:0)
根据我对文档的了解,您应该使用ImageView.ScaleType
imageView.scaleType = ImageView.ScaleType.FIT_XY
或者您可以将其用于ImageView的xml标记中
android:scaleType="fitXY"
除了FIT_XY,您还可以根据需要使用ImageView.ScaleType.CENTER_CROP
。