您的位置:首页 > 移动开发 > Android开发

Fresco图片加载库的使用(SimpleDraweeView的简单使用 )

2017-06-02 19:42 573 查看

一、简介

Fresco 的出现,似乎将 Android 的图片加载做到了极致
Fresco 中文说明:http://www.fresco-cn.org/
Fresco 项目GitHub地址:https://github.com/facebook/fresco
Fresco 的Drawees 负责图片的呈现,Image Pipeline 负责图片的获取和管理。
Drawees功能: 

设置要加载的图片
设置占位图
设置加载失败时的占位图
点击重新加载
显示一个进度条
设置背景
叠加图
按压状态下的叠加图
缩放
圆角和圆圈
使用ControllerBuilder
渐进式JPEG图
动画支持(GIF 和 WebP 格式的动画)
多图请求及图片复用
监听下载事件
缩放和旋转图片
修改图片
图片请求(Image Requests)
自定义View

Image Pipeline功能:
配置Image Pipeline
缓存
直接使用Image Pipeline
数据源和数据订阅者
可关闭的引用
Webp支持

二、使用Fresco

1.引入Fresco,编辑
build.gradle
文件:
compile 'com.facebook.fresco:fresco:1.3.0'
2.在
AndroidManifest.xml
中声明了网络请求的权限<uses-permission android:name="android.permission.INTERNET" />
3.始化Fresco类// 在加载图片之前,你必须初始化Fresco类
Fresco.initialize(this);4.在xml布局文件中, 加入命名空间<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent">5.加入SimpleDraweeView<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
fresco:placeholderImage="@drawable/my_drawable"
/>6.开始加载图片Uri uri = Uri.parse("https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3103457797,1011040581&fm=26&gp=0.jpg");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(uri);

三、几种常用的效果展示



相关参数说明:

<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"-----圆形或圆角的边框颜色
/>

四、示例代码

示例代码:http://download.csdn.net/detail/wang295689649/9863934

注:官网文档非常详细,建议查看文档API,各功能介绍
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息