您的位置:首页 > 其它

Facebook 开源项目 Fresco 使用简介,facebookfresco

2015-06-12 09:59 483 查看

1. 在Gradle中添加依赖
dependencies {

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

}

 2. 在Application 初始化时调用 Fresco.initialize(context);

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

4. 加入SimpleDraweeView:
<com.facebook.drawee.view.SimpleDraweeView

    android:id="@+id/my_image_view"

    android:layout_width="20dp"

    android:layout_height="20dp"

    fresco:placeholderImage="@drawable/my_drawable"

  />

5. 在Java代码中设置图片路径
draweeView.setImageURI("http://site.com/uri");

6. 参数说明

<com.facebook.drawee.view.SimpleDraweeView

    android:id="@+id/my_image_view"

    android:layout_width="20dp"   // 不支持wrap_content 如果要设置宽高比, 需要在Java代码中指定setAspectRatio(1.33f);

    android:layout_height="20dp"    // 不支持wrap_content

    fresco:fadeDuration="300"

    fresco:actualImageScaleType="focusCrop" // 设置图片缩放. 通常使用focusCrop,该属性值会通过算法把人头像放在中间

    fresco:placeholderImage="@color/wait_color" // 下载成功之前显示的图片

    fresco:placeholderImageScaleType="fitCenter"

    fresco:failureImage="@drawable/error" // 加载失败的时候显示的图片

    fresco:failureImageScaleType="centerInside"

    fresco:retryImage="@drawable/retrying" // 加载失败,提示用户点击重新加载的图片(会覆盖failureImage的图片)

    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" // 圆角角度,180的时候会变成圆形图片

    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. 修改图片尺寸

Uri uri = "file:///mnt/sdcard/MyApp/myfile.jpg";
int width = 50, height = 50;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)

    .setResizeOptions(new ResizeOptions(width, height))

    .build();
PipelineDraweeController controller = Fresco.newDraweeControllerBuilder()

    .setOldController(mDraweeView.getController())

    .setImageRequest(request)

    .build();
mSimpleDraweeView.setController(controller);

自动旋转
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)

    .setAutoRotateEnabled(true)

    .build();

中文版API指南
http://fresco-cn.org/docs/index.html#_
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: