这个属性是很需要的,代码中动态设置边框的颜色
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 类型
本文详细介绍了Fresco图片加载库的基本属性配置方法及XML属性应用,包括动态设置边框颜色、图片圆角效果、加载过程中的各种状态图设置等,并提供了具体的代码示例。
1万+

被折叠的 条评论
为什么被折叠?



