我有一个简单的用例。我有一个本地映像uri (content://path),加载到一个ImageView中--这是步骤1。按下按钮后,图像被替换为来自我们服务器的图像--这是步骤2。
我的代码非常简单--或者至少,在我将代码简化为以下内容之后,我仍然可以重现这个问题:
Glide.with(imageHolder.getContext()).load(url).into(imageHolder);这是第一次用本地uri (content://path)调用,然后是远程url (http://path.com)。
加载本地uri运行得很好。问题是,一旦我从服务器启动负载(这可能需要一秒钟),Glide就会回滚到ImageView的背景图像颜色。因此,从视觉上看,我得到了旧图像->背景颜色->新图像,这是非常烦人的。
是否有某种隐藏的方式来解决这个问题?
发布于 2017-07-17 11:01:27
这是因为在加载服务器映像时,在删除本地映像和显示新映像之间存在差距,而这个空白是您的问题所在。
解决这个问题的方法之一是给幻灯片一个占位符(将您的本地图像设置为占位符),因此,当幻灯片从服务器加载图像时,它仍然会显示本地图像,一旦加载了服务器映像,本地图像就会消失。
Glide.with(imageHolder.getContext())
.placeholder(YOUR_LOCAL_IMAGE_HERE)
.load(url)
.into(imageHolder);https://stackoverflow.com/questions/45142274
复制相似问题