SVG加载程序侦听器

时间:2018-09-03 22:05:31

标签: android svg imageview png

我目前正在将各种网址图片加载到imageview中。有些是svg类型,其余的是png。我希望在每个imageview中都有一个进度条,直到图像加载完毕。我可以使用Glide使用png图像来做到这一点,但是似乎找不到使用SvgLoader的方法。这是我的代码:

if(homeImageType.equals("svg")){
                SvgLoader.pluck()
                        .with(mActivity)
                        .load(mData.get(i).getHomeTeamBadge(), myViewHolder.homeTeamBadge);

                myViewHolder.progressHomeBadge.setVisibility(View.GONE);

}
else {
                Glide
                        .with(mContext)
                        .load(mData.get(i).getHomeTeamBadge())
                        .listener(new RequestListener<String, GlideDrawable>() {
                            @Override
                            public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                                return false;
                            }

                            @Override
                            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                                myViewHolder.progressHomeBadge.setVisibility(View.GONE);
                                return false;
                            }
                        })
                        .into(myViewHolder.homeTeamBadge);
            }

png图像工作正常,进度条一直保持到图像加载到视图的位置。但是,在加载图像之前,svg进度条的可见性已发生明显变化,因为似乎没有可以添加到SvgLoader的侦听器。有任何想法吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

借助DBragion的答案,我找到了一种解决方法

Animated loading image in picasso

可以将可绘制的xml输入到Glide和SvgLoader的占位符中,并且效果很好。动画进度条很大,但是会占满占位符。我想知道是否有缩小它的方法?