Fresco图片加载框架Demo,简单展示静态图片,gif动图

效果图


---------



----------------------------------------------------------------------------

加号表示最新权限



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    tools:context="bwie.com.fresco2.MainActivity">
    <com.facebook.drawee.view.SimpleDraweeView
        android:layout_centerInParent="true"
        android:id="@+id/simple_deawee_view"
        android:layout_width="200dp"
        android:layout_height="200dp"
        fresco:failureImage="@drawable/shibai"

        fresco:progressBarImage="@drawable/jiazai"

        fresco:progressBarAutoRotateInterval="3000"
        fresco:retryImage="@drawable/shibai2"
        fresco:retryImageScaleType="centerCrop"

        fresco:roundAsCircle="true"/>
</RelativeLayout>


--------------------------------------------------------------MainActivity--------------------------------------------------------------------

package bwie.com.fresco2;

import android.graphics.drawable.Animatable;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;

import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.controller.AbstractDraweeController;
import com.facebook.drawee.controller.BaseControllerListener;
import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.imagepipeline.image.ImageInfo;

import static bwie.com.fresco2.R.id.simple_deawee_view;

public class MainActivity extends AppCompatActivity {

    SimpleDraweeView simpledraweeview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Fresco.initialize(this);
        setContentView(R.layout.activity_main);

        Uri uri = Uri.parse("http://img2.3lian.com/2014/f2/37/d/40.jpg");
        Uri urigif = Uri.parse("http://img.mp.sohu.com/upload/20170704/fbdf9fd761814a9fa43e94bd9f855e5b.png");

        simpledraweeview = (SimpleDraweeView) findViewById(simple_deawee_view);
        //展示图片
        simpledraweeview.setImageURI(urigif);

        //在java代码中设置view的一些xml属性 失败、重试
        BaseControllerListener<ImageInfo> base = new BaseControllerListener<ImageInfo>(){
            @Override
            public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) {
                super.onFinalImageSet(id, imageInfo, animatable);
            }

            @Override
            public void onFailure(String id, Throwable throwable) {
                Toast.makeText(MainActivity.this,"图片加载失败!请重试",Toast.LENGTH_SHORT).show();
            }
        };

        //控制图片加载的一些特性
        AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
                .setUri(urigif)
                .setTapToRetryEnabled(true)
                .setAutoPlayAnimations(true)
                .build();

        simpledraweeview.setController(controller);


    }
}