Fresco图片显示

官网:http://www.fresco-cn.org/

优点:

    1、图片从屏幕消失时立刻释放。

    2、如果网络加载失败的话,可点击占位符重新加载图片。

    3、可以在图片上显示加载的进度条。

    4、优先显示低分辨率的图片,待到数据到达后再显示高清图片。

Gradle配置

 compile 'com.facebook.fresco:fresco:0.9.0+'

在Application的onCreate方法中初始化

Fresco.initialize(this);

布局文件

xmlns:app="http://schemas.android.com/apk/res-auto"

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/iv_photo_sd"
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:roundAsCircle="true"
    app:actualImageScaleType="focusCrop"
    app:failureImage="@mipmap/hugh"
    app:placeholderImage="@mipmap/hugh"/>

设置显示图片

方法一: 
ImageRequest request = ImageRequestBuilder
        .newBuilderWithSource(Uri.parse("http://attimg.dospy.com/img/day_100708/20100708_2c925dfb4b5f0aa64b6cL2zFfXzrsP3x.gif"))
        .setProgressiveRenderingEnabled(true)
        .build();
        
DraweeController controller = Fresco.newDraweeControllerBuilder()
        .setImageRequest(request)
        .setOldController(simpleDraweeView.getController())
        .setAutoPlayAnimations(true) // 设置动图自动播放
        .build();

simpleDraweeView.setController(controller);


方法二:
simpleDraweeView.setImageURI(Uri.parse());

各种特效

    a、点击重新加载图片

布局文件:
frescon:retryImage="@mipmap/notice_ico_birthday"  // 设置4次点击重新加载失败后显示的图片
************************************************************************************************
DraweeController controller = Fresco.newDraweeControllerBuilder()
        .setTapToRetryEnabled(true)  // 这里是重点,设置允许点击重新加载
        .setUri(Uri.parse("http://www.bz55.com/uploads/allimg/140722/1-140H2114124.jpg"))
        .setOldController(simpleDraweeView.getController())
        .build();
simpleDraweeView.setController(controller);

在代码中设置各种特效

 RoundingParams roundingParams = new RoundingParams()
        .setRoundAsCircle(true);

GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());
GenericDraweeHierarchy hierarchy = builder
        .setProgressBarImage(new ProgressBarDrawable()) // 设置进度条
        .setPlaceholderImage(getResources().getDrawable(R.mipmap.ic_launcher)) // 设置占位符
        .setFailureImage(getResources().getDrawable(R.mipmap.notice_ico_undo)) // 设置加载失败的图片
        .setRetryImage(getResources().getDrawable(R.mipmap.notice_ico_birthday)) // 设置反复加载失败的图片
        .setRoundingParams(roundingParams) // 设置圆角
        .build();
simpleDraweeView.setHierarchy(hierarchy);
simpleDraweeView.setImageURI(Uri.parse("http://www.bz55.com/uploads/allimg/140722/1-140H2114124.jpg"));

 

转载于:https://my.oschina.net/u/2491515/blog/656935

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值