【问题标题】:How can I display Blurred Image just like WhatsApp Profile Picture?如何像 WhatsApp 个人资料图片一样显示模糊图像?
【发布时间】:2021-09-13 11:24:12
【问题描述】:

如果未从服务器/api 完全检索到模糊图像,如何显示? 我只想像 WhatsApp 个人资料图片一样执行相同的操作,即显示原始图片的原始图片,直到未加载真实图片。

【问题讨论】:

    标签: android kotlin android-imageview android-glide


    【解决方案1】:

    在加载原始图像之前,您可以设置缩略图。
    缩略图基本上是一个低质量的小图像,因此它会立即加载。
    Glide 提供了一个更简单的方法。

    代码

     val thumbnailRequest = Glide.with(this)
         .load("https://picsum.photos/50/50?image=0")
    
    Glide.with(this)
            .load("https://picsum.photos/2000/2000?image=0")
            .thumbnail(thumbnailRequest)
            .into(imageThumbnail)
    

    【讨论】:

    • Thumbnail 可以正常工作,但它应该使用另一个图像,该图像需要另一个质量较低的图像但是如果我的 API 响应中只有一个图像怎么办?
    • 您需要更新响应两个返回图像,一个完整的,一个完整的质量。如果您是从应用端上传图片,您可以上传 2 张图片,一张是低质量的,一张是完整的,服务器会相应地返回。如果你只想要模糊加载效果,你可以下载完整图像并模糊几秒钟,然后显示实际图像
    【解决方案2】:

    将图像缩小到非常小的尺寸,例如 8x8 像素。当您开始下载时,将该数据发送到客户端作为占位符。它的大小不应超过 4 * 8 * 8 = 256 B 或 0.25 KB,因此无论客户端的连接速度有多慢,发送给客户端都不会出现问题。下载完成后,您可以更改为原始图像。

    【讨论】:

      猜你喜欢
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多