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); } }