继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

简单的Fresco动画图片实现

小毛豆叔叔
关注TA
已关注
手记 1
粉丝 1
获赞 0

1、添加Fresco依赖

     //静态图片
    compile 'com.facebook.fresco:fresco:0.12.0'
    // 支持 GIF 动图,需要添加
    compile 'com.facebook.fresco:animated-gif:0.12.0'

2、添加权限

//网络权限
    <uses-permission android:name="android.permission.INTERNET"/>

3、Fresco图片缓存(MyApp)

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);
    }
}

在清单中添加MyApp
图片描述

android:name=".MyApp"

5、布局(activity_main)

<com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/main_sdv2"
            android:layout_marginTop="20dp"
            android:layout_width="200dp"
            android:layout_height="200dp"
            fresco:actualImageScaleType="focusCrop"
            fresco:placeholderImage="@mipmap/placeholder_image"
            fresco:placeholderImageScaleType="focusCrop"//默认图片
            fresco:progressBarImage="@mipmap/progress_image"//进度圈
            fresco:progressBarImageScaleType="focusCrop"
            fresco:progressBarAutoRotateInterval="5000"
            fresco:failureImage="@mipmap/error"//加载失败图片
            fresco:failureImageScaleType="focusCrop"
            fresco:retryImage="@mipmap/retry"//重新加载
            fresco:retryImageScaleType="focusCrop"
            fresco:fadeDuration="5000"
            fresco:backgroundImage="@android:color/holo_orange_light"
            fresco:roundAsCircle="true"
            fresco:roundedCornerRadius="30dp"
            fresco:roundTopLeft="true"
            fresco:roundTopRight="true"
            fresco:roundBottomLeft="true"
            fresco:roundBottomRight="true"
            fresco:roundingBorderWidth="10dp"//圆圈边框
            fresco:roundingBorderColor="#008dd7"
            />

主Activity(MainActivity)

//网络图片
Uri uri = Uri.parse("http://b370.photo.store.qq.com/psb?/V14YKAbO0HQVDi/lqU0YAlRybs1Qnq168OGhqg2XhAd*ggnfWk7Oay6ZCI!/b/dHIBAAAAAAAA&bo=WgBaAFoAWgACPBg!&rf=viewer_4");
        SimpleDraweeView draweeView1 = (SimpleDraweeView) findViewById(R.id.main_sdv2);
        draweeView1.setImageURI(uri);
        //创建DraweeController
        DraweeController controller = Fresco.newDraweeControllerBuilder()
                //重试之后要加载的图片URI地址
                .setUri(uri)
                //设置点击重试是否开启
                .setTapToRetryEnabled(true)
                //动画播放
                .setAutoPlayAnimations(true)
                //设置旧的Controller
                .setOldController(draweeView1.getController())
                //构建
                .build();
        //设置DraweeController
        draweeView1.setController(controller);

点击这里下载布局里的图片资源 密码:8kqk


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP