关于fresco

一、引入fresco

dependencies{compile'com.facebook.fresco:fresco:0.12.0'}

二、开始使用

1.在加载图片之前,你必须初始化Fresco类。你只需要调用Fresco.initialize一次即可完成初始化,在Application的onCreate里面做这件事再适合不;

2.声明  internet权限

3.在xml布局文件中, 加入命名空间:xmlns:fresco="http://schemas.android.com/apk/res-auto";

4.加入SimpleDraweeView:

5.开始加载图片:

Uri uri=Uri.parse("https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png");

SimpleDraweeView  draweeView=(SimpleDraweeView)findViewById(R.id.my_image_view);

draweeView.setImageURI(uri);

三、支持的URI

Fresco 支持许多URI格式。

特别注意:Fresco不支持相对路径的URI. 所有的 URI 都必须是绝对路径,并且带上该 URI 的 scheme。

如下:

类型SCHEME示例

远程图片http://,https://

本地文件file://

Contentprovider  content://

asset目录下的资源asset://

res目录下的资源res://

Uri中指定图片数据data:mime/type;base64,数据类型必须符合rfc2397规定(仅支持 UTF-8)

res 示例:

Uri uri = Uri.parse("res://包名(实际可以是任何字符串甚至留空)/" + R.drawable.ic_launcher);

四、在XML中使用Drawees

你必须声明android:layout_width和android:layout_height。如果没有在XML中声明这两个属性,将无法正确加载图像。

XML属性意义

fadeDuration淡入淡出动画持续时间(单位:毫秒ms)

actualImageScaleType实际图像的缩放类型

placeholderImage占位图

placeholderImageScaleType占位图的缩放类型

progressBarImage进度图

progressBarImageScaleType进度图的缩放类型

progressBarAutoRotateInterval进度图自动旋转间隔时间(单位:毫秒ms)

failureImage失败图

failureImageScaleType失败图的缩放类型

retryImage重试图

retryImageScaleType重试图的缩放类型

backgroundImage背景图

overlayImage叠加图

pressedStateOverlayImage按压状态下所显示的叠加图

roundAsCircle设置为圆形图

roundedCornerRadius圆角半径

roundTopLeft左上角是否为圆角

roundTopRight右上角是否为圆角

roundBottomLeft左下角是否为圆角

roundBottomRight右下角是否为圆角

roundingBorderWidth圆形或者圆角图边框的宽度

roundingBorderColor圆形或者圆角图边框的颜色

roundWithOverlayColor圆形或者圆角图底下的叠加颜色(只能设置颜色)

viewAspectRatio控件纵横比

可用的缩放类型

center居中,无缩放。

centerCrop保持宽高比缩小或放大,使得两边都大于或等于显示边界,且宽或高契合显示边界。居中显示。

focusCrop同centerCrop, 但居中点不是中点,而是指定的某个点。

centerInside缩放图片使两边都在显示边界内,居中显示。和fitCenter不同,不会对图片进行放大。

如果图尺寸大于显示边界,则保持长宽比缩小图片。

fitCenter保持宽高比,缩小或者放大,使得图片完全显示在显示边界内,且宽或高契合显示边界。居中显示。

fitStart同上。但不居中,和显示边界左上对齐。

fitEnd同fitCenter, 但不居中,和显示边界右下对齐。

fitXY不保存宽高比,填充满显示边界。

none如要使用tile mode显示, 需要设置为none

你可能感兴趣的:(关于fresco)