Glide在加载图像之间显示ImageView背景

时间:2017-07-17 10:50:37

标签: android image android-glide

我有一个简单的用例。我有一个本地图像uri(content://path),我加载到ImageView - 这就是第1步。按下按钮后,图像将替换为来自我们服务器的图像 - #39; s第2步。

我的代码很简单 - 或者至少,即使我将代码简化为以下代码,我也可以重现这个问题:

Glide.with(imageHolder.getContext()).load(url).into(imageHolder);

第一次使用本地uri(content://path)调用此函数,后跟远程网址(http://path.com)。

加载本地uri工作正常。问题是,一旦我从服务器启动加载(可能需要一秒钟),Glide将回滚到ImageView的背景图像颜色。所以视觉上我得到旧图像 - >背景颜色 - >新形象,这很烦人。

Glide有什么隐藏的方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

这是因为在加载服务器图像时,在删除本地图像和显示新图像之间存在差距,而这种差距是您的问题。
这个问题的一个解决方法是给Glide一个占位符(将你的本地图像设置为占位符),这样当Glide从服务器加载图像时,它仍然显示本地图像,一旦加载服务器图像,本地图像就会消失。

Glide.with(imageHolder.getContext())
    .placeholder(YOUR_LOCAL_IMAGE_HERE)
    .load(url)
    .into(imageHolder);