固定宽度但高度为wrap_content的ImageView的滑动缩略图

时间:2018-07-19 07:49:31

标签: android-layout thumbnails placeholder android-glide image-loading

我一直在尝试实现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个小时。解决这个问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

使用替代属性:

Glide.with(context)
        .load(imageURL)
        .override(18,18)                
        .thumbnail(0.1f)
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .into(imageView);

Instagram也归Facebook拥有,因此可能会使用Fresco库(虽然不确定)。