fresco的基本使用

重试.jpg
四次失败.jpg
成功.jpg
frasco.gif

Android关于加载图片的框架有Universal-Image-Loader、Picasso、Volley、Fresco,这篇文章主要简单的分析一下Fresco的用法,Fresco是Facebook发布的一款开源框架,在内存方面的表现极为优秀。

  1. Fresco用法及其简单:在项目中引入Fresco,只需要在Module的build.gradle文件的dependencies中添加一句代码
compile 'com.facebook.fresco:fresco:0.13.0'
  1. 新建一个activity_main.xml布局文件
<com.facebook.drawee.view.SimpleDraweeView    
android:layout_centerInParent="true"    
android:id="@+id/main_sdv"   
android:layout_width="130dp"    
android:layout_height="130dp" 
fresco:roundAsCircle="true"    
fresco:roundedCornerRadius="30dp"   
fresco:roundingBorderWidth="3dp"    
fresco:roundingBorderColor="@color/commonTitleColor"    
fresco:placeholderImage="@mipmap/userhead"    
fresco:progressBarImage="@mipmap/icon_progress_bar"    
fresco:progressBarAutoRotateInterval="5000"    
fresco:failureImage="@mipmap/icon_failure"    
fresco:retryImage="@mipmap/icon_retry"    
fresco:fadeDuration="1000"    >
</com.facebook.drawee.view.SimpleDraweeView>   
  1. Activity java文件
//创建将要下载的图片的
URIUri imageUri=Uri.parse("http://b335.photo.store.qq.com/psb?/V10eyEEK3Xf6rE/dn1GxGnLYID1lNQQVtkoFau0M20YE5Kagr5ueenkttQ!/b/dA2GscdMHwAA&bo=gAJVAwAAAAAFAPc!&rf=viewer_4");
//开始下载
 //创建SimpleDraweeView对象
        simpleDraweeView = (SimpleDraweeView) findViewById(R.id.main_sdv);
        //创建将要下载的图片的URI
        Uri imageUri = Uri.parse("http://avatar.csdn.net/5/D/9/1_vatty748895431.jpg");
        //开始下载
        simpleDraweeView.setImageURI(imageUri);
        //创建DraweeController
        DraweeController controller = Fresco.newDraweeControllerBuilder()
                //重试之后要加载的图片URI地址
                .setUri(imageUri)
                        //设置点击重试是否开启
                .setTapToRetryEnabled(true)
                        //设置旧的Controller
                .setOldController(simpleDraweeView.getController())
                        //构建
                .build();
        //设置DraweeController
        simpleDraweeView.setController(controller);

. appliaction(最重要的)

@Overridepublic void onCreate() 
{    super.onCreate();  
  Fresco.initialize(this);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容