前提
公司新需求要求视频封面加载动图,但是由于Gif上传的图片过大,所以为了节省开销,对图片进行了处理,最后给到客户端的是webp格式的图片链接。
1.验证webp格式的图片链接是否是动图,测试时,将链接直接使用电脑浏览器加载查看即可
2.app如何加载webp动图,上网搜索一番,发现有对glide的支持库,添加如下依赖
//Glide库
implementation 'com.github.bumptech.glide:glide:4.12.0'//androidx
annotationProcessor "com.github.bumptech.glide:compiler:4.12.0"//androidx
//Glide支持webp动图的库
implementation "com.github.zjupure:webpdecoder:2.0.4.12.0"
3.使用加载,添加监听 判断WebpDrawable文章来源:https://www.toymoban.com/news/detail-470951.html
public void loadWebpGif(ImageView iv,String url, int defaultIcon){
Glide.with(this)
.load(url)
.addListener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
iv.setImageResource(defaultIcon);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
if (resource instanceof WebpDrawable) {
WebpDrawable webpDrawable = (WebpDrawable) resource;
//循环
webpDrawable.setLoopCount(-1);
}
return false;
}
})
.into(iv);
}
4.布局里就是简单的ImageView,一定要使用 ImageView或AppCompatImageView,不要使用自定义的ImageView ,否则会导致动图,不会动,如果有图片圆角需求,可以在外层包裹CardView实现。文章来源地址https://www.toymoban.com/news/detail-470951.html
到了这里,关于Glide 加载webp动图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!