Fresco之初识

Fresco是FaceBook推出的网络图片加载库。如果只是简单的使用的话,三步就可以完成加载

其实官方是有中文文档的Fresco中文文档,写本文只是让文字不那么冷冰冰

  • 第一步:在andorid studio配置一下
 compile 'com.facebook.fresco:fresco:0.6.0+'
  // 在工程中初始化
  Fresco.initialize(this);
  • 第二步:写Xml
 <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/id_simple_drawee_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        />
  • 第三步 :添加网络地址
Uri uri = Uri.parse("http://ww4.sinaimg.cn/mw600/0063NJppgw1ez2p0f6852j31kw0v9aom.jpg");
simpleDraweeView.setImageURI(uri);

是的,就这么简单。Fresco就完成了网络图片的加载。它还会自动缓存到内存和本地。

那么如果想给它配置未加载,加载时,加载错误的显示图片呢,先学会在Xml中配置吧

 <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/id_simple_drawee_view"
        android:layout_width="300dp"
        android:layout_height="300dp"
        fresco:placeholderImage="@drawable/default"
        fresco:failureImage="@drawable/error"
        fresco:progressBarImage="@drawable/loading"
        fresco:roundAsCircle="true"
      />

可以看到

  • placeholderImage 是 默认显示的图片
  • failureImage 是 错误显示的图片
  • progressBarImage 是 加载显示的图
  • fresco:roundAsCircle 图片以圆形式图片

那么传说中的加载动图呢,其实也很简单

Uri uriGif = Uri.parse("http://ww1.sinaimg.cn/mw1024/b592d3a5gw1ez16ya6ui8g206q08tb29.gif");
ImageRequest imageRequest2 = ImageRequestBuilder.newBuilderWithSource(uriGif).build();
        DraweeController controller = Fresco.newDraweeControllerBuilder()
                .setImageRequest(imageRequest2)//图片请求配置
                .setAutoPlayAnimations(true)//自动播放
                .build();
        simpleDraweeView.setController(controller);

这里突然多出一些新的概念ImageRequest和DraweeController
DraweeController 是对进行控制图片控制,如setAutoPlayAnimations(true)就是让gif加载完后自动播放
ImageRequest 是DraweeController其中一项配置,由ImageRequestBuilder生成

好,先使用在深入后理解!
贴上SimpleDraweeView的关键属性

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/my_image_view"
    android:layout_width="20dp"
    android:layout_height="20dp"
    fresco:fadeDuration="300"
    fresco:actualImageScaleType="focusCrop"
    fresco:placeholderImage="@color/wait_color"
    fresco:placeholderImageScaleType="fitCenter"
    fresco:failureImage="@drawable/error"
    fresco:failureImageScaleType="centerInside"
    fresco:retryImage="@drawable/retrying"
    fresco:retryImageScaleType="centerCrop"
    fresco:progressBarImage="@drawable/progress_bar"
    fresco:progressBarImageScaleType="centerInside"
    fresco:progressBarAutoRotateInterval="1000"
    fresco:backgroundImage="@color/blue"
    fresco:overlayImage="@drawable/watermark"
    fresco:pressedStateOverlayImage="@color/red"
    fresco:roundAsCircle="false"
    fresco:roundedCornerRadius="1dp"
    fresco:roundTopLeft="true"
    fresco:roundTopRight="false"
    fresco:roundBottomLeft="false"
    fresco:roundBottomRight="true"
    fresco:roundWithOverlayColor="@color/corner_color"
    fresco:roundingBorderWidth="2dp"
    fresco:roundingBorderColor="@color/border_color"
  />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值