fresco的一些基本属性的使用

本文详细介绍了Fresco图片加载库的基本属性配置方法及XML属性应用,包括动态设置边框颜色、图片圆角效果、加载过程中的各种状态图设置等,并提供了具体的代码示例。


这个属性是很需要的,代码中动态设置边框的颜色

RoundingParams roundingParams = RoundingParams.fromCornersRadius(UtilsDp2px.dp2px(context,10));
if (mClickPosition.contains(position)){
    roundingParams.setBorder(Color.RED, UtilsDp2px.dp2px(context,2));
}else{
    roundingParams.setBorder(Color.TRANSPARENT, UtilsDp2px.dp2px(context,2));
}
holder.mImg.getHierarchy().setRoundingParams(roundingParams);


5.基本属性
XML属性                意义
fadeDuration    淡入淡出动画持续时间(单位:毫秒ms)
actualImageScaleType    实际图像的缩放类型


placeholderImage  占位图,默认加载图片或者未加载之前显示的默认图片,或者是加载失败时没有设置失败图片的情况
placeholderImageScaleType    占位图的缩放类型


progressBarImage    进度图,正在加载时显示
progressBarImageScaleType    进度图的缩放类型
progressBarAutoRotateInterval    进度图自动旋转间隔时间(单位:毫秒ms)
fadeDuration    进图条动画,单位是毫秒值


failureImage    失败图
failureImageScaleType    失败图的缩放类型


retryImage    重试图,默认是重试4次,如果还是失败则显示占位图
retryImageScaleType    重试图的缩放类型


backgroundImage    背景图,加载时的背景图,渐变的
overlayImage    叠加图
pressedStateOverlayImage    按压状态下所显示的叠加图,叠加在图片上面,暂时没有发现有什么用处


roundAsCircle    ture设置为圆形图,一句话搞定圆角图片,这是这么任性


roundedCornerRadius="30dp"    设置图片为圆角,可以分别设置每个角是否为圆形,数值为圆角的弧度大小
roundTopLeft="true|false"    左上角是否为圆角
roundTopRight    右上角是否为圆角
roundBottomLeft    左下角是否为圆角
roundBottomRight    右下角是否为圆角,如果这四个属性都为true,那么可以不用设置,默认为四个角为圆形


roundingBorderWidth    圆形或者圆角图边框的宽度
roundingBorderColor    圆形或者圆角图边框的颜色
roundWithOverlayColor    圆形或者圆角图底下的叠加颜色(只能设置颜色)
viewAspectRatio    控件纵横比


6.在xml中的属性
<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"/>

7.图片加载失败点击重试retryImage,必须要在代码中设置了Controller才会显示
SimpleDraweeView sdView = (SimpleDraweeView) findViewById(R.id.my_image_view );
// 图片下载地址,从开始到图片下载完成为止会一直显示设置的 progressbar图片
Uri uri = Uri. parse("http://d.hiphotos.baidu.com/image/pic/item/aaafs64034f78f0f7363465230c0855b319ebc41327.jpg" );
// 开始下载图片
sdView.setImageURI( uri);
PipelineDraweeControllerBuilder controllerBuilder = Fresco.newDraweeControllerBuilder();
controllerBuilder.setUri( uri);
controllerBuilder.setTapToRetryEnabled( true); // 是否开启加载失败点击重试
controllerBuilder.setOldController( sdView.getController()); // 设置老的构建器
AbstractDraweeController draweeController = controllerBuilder.build();
sdView.setController( draweeController); // 默认重试4次
在指定一个新的controller的时候,使用setOldController,这可节省不必要的内存分配


8.缩放类型
类型    描述
center    居中,无缩放
centerCrop    保持宽高比缩小或放大,使得两边都大于或等于显示边界。居中显示。
focusCrop    同centerCrop, 但居中点不是中点,而是指定的某个点
centerInside    使两边都在显示边界内,居中显示。如果图尺寸大于显示边界,则保持长宽比缩小图片。
fitCenter    保持宽高比,缩小或者放大,使得图片完全显示在显示边界内。居中显示
fitStart    同上。但不居中,和显示边界左上对齐
fitEnd    同fitCenter, 但不居中,和显示边界右下对齐
fitXY    不保存宽高比,填充满显示边界
none    如要使用tile mode显示, 需要设置为none
推荐使用:focusCrop 类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值