【Glide+View】Glide结合view的setVisibility异步业务处理的解析

根据业务需求,需要构建一个广告位;
设计的想法是采用Glide直接读取网络图片然后加载到一个Image View中。
Glide的文档介绍官方
https://muyangmin.github.io/glide-docs-cn/

根据编程的业务思想是需要在监听是否加载图片完成才弹出广告位加载成功的回调。

所以要在如下代码中实现:

  // 通过Glide加载图片资源
                        Glide.with(getContext())
                                .load(adImageJsonObject.getImageData().getImageUrl())
                                .listener(new RequestListener<Drawable>() {
                                    @Override
                                    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {

                                        return false;
                                    }

                                    @Override
                                    public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                                        Log.d("Glide","onReady"+dataSource.name());
                                        adImageListener.onSuccess();
                                        return false;
                                    }
                                })
                                .into(GoAdImageView.this);
                    }

特别注意的是:
这个ImageView或者其父布局是gone,这个图片是不会加载过去的

所以在使用Glide的时候要特别小心这个Visibility的特性;之前就是由于一直是gone的父布局导致onSuccess回调压根都不进去~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值