Android图片缓存框架 - Fresco的显示GIF (九)

本文深入解析Facebook开源的Fresco图片加载库,涵盖从基本使用到高级特性,包括加载图片的不同方式、圆角和圆形图片实现、DraweeHierarchy设置、DraweeController应用、图片加载监听、GIF动画展示及监听、图片处理、缓存管理等内容,为开发者提供全面的Fresco使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.Fresco 简介

2. Fresco 文档

3. Fresco开发步骤

4. Fresco加载图片6种方式

5. Drawees xm属性设置

6 Fresco实现圆角或圆形图片

7. DraweeHierarchy设置

8. Fresco的DraweeController

9. ControllerListener 图片加载监听

10. Fresco的ImageRequest

11 Fresco的显示GIF

11.1 设置动画显示

11.2 动画监听

12 Fresco的BasePostprocessor图片处理

13.Fresco设置和清除缓存


11 Fresco的显示GIF

11.1 设置动画显示

 String gifUrl = "https://upfile.asqql.com/2009pasdfasdfic2009s305985-ts/2018-11/201811301685857474.gif";

 DraweeController controller2 = draweeView.getController();  
 DraweeController controller = Fresco
                    .newDraweeControllerBuilder()
                    .setUri(Uri.parse(gifUrl))
                    .setControllerListener(new MyControllerListener())
                    .setAutoPlayAnimations(true) //是否播放动画
                    .build();

  draweeView.setController(controller);
  animatable = draweeView.getController().getAnimatable();

11.2 动画监听

private class MyControllerListener extends BaseControllerListener {
        @Override
        public void onSubmit(String id, Object callerContext) {
            super.onSubmit(id, callerContext);
            if (animatable != null) {
                animatable.start();
            }
        }

        //下载完成
        @Override
        public void onFinalImageSet(String id, @Nullable Object imageInfo, @Nullable Animatable animatable) {
            super.onFinalImageSet(id, imageInfo, animatable);

        }

        @Override
        public void onIntermediateImageSet(String id, @Nullable Object imageInfo) {
            super.onIntermediateImageSet(id, imageInfo);
        }

        @Override
        public void onIntermediateImageFailed(String id, Throwable throwable) {
            super.onIntermediateImageFailed(id, throwable);
        }

        @Override
        public void onFailure(String id, Throwable throwable) {
            super.onFailure(id, throwable);
        }

        @Override
        public void onRelease(String id) {
            super.onRelease(id);
        }

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值