Android 毕加索和线圈在图像大小上不一致?

Android 毕加索和线圈在图像大小上不一致?,android,kotlin,picasso,coil,Android,Kotlin,Picasso,Coil,第一个截图是毕加索的,第二个截图是线圈的(都是最新版本)。知道为什么会这样吗 毕加索:fit().centerInside() 线圈:scale(scale.FILL)。crossfade(true)(我也尝试了FIT,结果相同) ImageView:adjustViewBounds=true;scaleType=中间\u in,具有匹配的父宽度和恒定的高度(以像素为单位) 线圈自动调整到图像视图的比例类型,因此您无需配置比例 毕加索没有,毕加索的.fit().centerInside()实际

第一个截图是毕加索的,第二个截图是线圈的(都是最新版本)。知道为什么会这样吗

毕加索:
fit().centerInside()

线圈:
scale(scale.FILL)。crossfade(true)
(我也尝试了FIT,结果相同)

ImageView:
adjustViewBounds=true;scaleType=中间\u in
,具有匹配的父宽度和恒定的高度(以像素为单位)


线圈自动调整到
图像视图的比例类型,因此您无需配置比例

毕加索没有,毕加索的
.fit().centerInside()
实际上并不等同于
ImageView
CENTER\u INSIDE
,而是
fit\u CENTER
(它将放大图像,使至少一个维度与
ImageView
匹配)。毕加索没有与之相当的
CENTER_INSIDE
,但这些是最接近的选项:

  • 您只需删除
    .fit().centerInside()
    ,并让
    图像视图缩小图像(如果图像较大),但如果图像非常大,则会消耗大量内存(如果大于设备的最大纹理大小,则可能无法加载)
  • 手动测量图像视图的大小后,可以使用
    .resize(width,height).centerInside().onlyScaleDown()
如果您想像毕加索使用
.fit().centerInside()
一样调整图像大小,只需将
图像视图的缩放类型更改为
fit\u CENTER