GlideでGIFのロードがとても時間がかかっていて、そもそもアニメーションする必要もないので、1枚だけロードすることにした。
そうしたら、
crossFade
ができないというジレンマ。
こうしたらいい
asBitmap()
して、
listener()
でアニメーションする
Glide.with(context)
.load(gifpath).asBitmap()
.fallback(R.mipmap.ic_launcher)
.listener(new RequestListener() {
@Override
public boolean onException(Exception e, String model, Target target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, String model, Target target, boolean isFromMemoryCache, boolean isFirstResource) {
ImageViewTarget imTarget = (ImageViewTarget) target;
return new DrawableCrossFadeFactory<>()
.build(isFromMemoryCache, isFirstResource)
.animate(new BitmapDrawable(imTarget.getView().getResources(), resource), imTarget);
}
})
.into(imageView);
コメント