【问题标题】:Picasso and Coil inconsistency in image sizing?Picasso 和 Coil 图像尺寸不一致?
【发布时间】:2020-07-03 11:54:41
【问题描述】:

第一个屏幕截图是 Picasso,第二个屏幕截图是 Coil(都是最新版本)。知道为什么会这样吗?

毕加索:fit().centerInside()

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

ImageView: adjustViewBounds = true; scaleType = CENTER_INSIDE 具有 MATCH_PARENT 宽度和恒定高度(以像素为单位)。

【问题讨论】:

    标签: android kotlin picasso coil


    【解决方案1】:

    线圈自动调整为ImageView的刻度类型,因此您无需配置刻度。

    毕加索没有,毕加索的.fit().centerInside()实际上不等于ImageViewCENTER_INSIDE,而是FIT_CENTER(它会放大图像,以便至少有一个尺寸与ImageView匹配)。没有与 Picasso 等效的 CENTER_INSIDE,但这些是最接近的选项:

    • 您可以简单地删除.fit().centerInside(),如果图像较大则让ImageView 缩小图像,但如果图像非常大,则会消耗大量内存(如果大于最大纹理可能无法加载设备的大小)。
    • 您可以在手动测量ImageView 的大小后使用.resize(width, height).centerInside().onlyScaleDown()

    如果您希望 Coil 以与 Picasso 对 .fit().centerInside() 相同的方式调整图像大小,则只需将 ImageView 的比例类型更改为 FIT_CENTER

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-27
      • 1970-01-01
      相关资源
      最近更新 更多