我一直在尝试实现Instagram或Facebook之类的feed应用。 ImageView具有match_parent宽度(屏幕宽度)和wrap_content高度。
我使用的代码...
Glide.with(context)
.load(imageURL)
.thumbnail(0.1f)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView)
;
导致首先加载缩略图。缩略图的尺寸很小。预计缩略图将显示具有原始图像高度的褪色图像。
没有缩略图,ImageViews不会填充任何图像(加载时),然后原始图像突然变成图片。我不能使用任何占位符图像,因为占位符图像的高度可能与要加载的实际图像不匹配,这会带来糟糕的用户体验。
我也尝试过...
Glide.with(context)
.load(imageURL)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(null)
.into(imageView)
;
但是它不起作用!我想知道Instagram应用程序在加载图像(具有原始图像高度)时如何褪色?
我研究了各种网站,包括Glide Github问题和堆栈溢出,但找不到任何解决方案!我每天已经浪费了大约6个小时。解决这个问题的方法是什么?
答案 0 :(得分:0)
使用替代属性:
Glide.with(context)
.load(imageURL)
.override(18,18)
.thumbnail(0.1f)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
Instagram也归Facebook拥有,因此可能会使用Fresco库(虽然不确定)。