Fresco的使用

15人阅读 评论(0) 收藏 举报

Fresco是一个图片加载框架
Facebook出品的一个强大的图片加载组件Fresco
Fresco中文说明:http://www.fresco-cn.org/
Fresco项目GitHub地址:https://github.com/facebook/fresco
Fresco在使用时我们需要加入的权限:

 <uses-permission android:name="android.permission.INTERNET"/>

Fresco要添加的依赖(可根据实际情况来导入)

// Fresco所需依赖(一般使用这个)  
compile 'com.facebook.fresco:fresco:0.12.0'
// 在 API < 14 上的机器支持 WebP 时,需要添加  
  compile 'com.facebook.fresco:animated-base-support:0.12.0'
// 支持 GIF 动图,需要添加  
compile 'com.facebook.fresco:animated-gif:0.12.0'
// 支持 WebP (静态图+动图),需要添加  
compile 'com.facebook.fresco:animated-webp:0.12.0'
compile 'com.facebook.fresco:webpsupport:0.12.0'
// 仅支持 WebP 静态图,需要添加    
compile 'com.facebook.fresco:webpsupport:0.12.0'

并且在使用之前要对fresco进行初始化:一般初始化的东西习惯的放在全局来进行初始化
例:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //fresco的初始化
        Fresco.initialize(this);
    }
}

注意:在布局文件中width和height不能设置为warp_parent
例:

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/img"
    fresco:roundAsCircle="true"
    android:layout_gravity="center"
    android:layout_width="100dp"
    android:layout_height="100dp" />

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控件纵横比

具体的体现观看fresco的xml例子

但是Fresco 也有不足的地方:

不支持 wrap_content ,必须显示的指定 view 的长宽
不会按照 view 的尺寸,动态调整图片宽高尺寸
res 资源只支持真正的图片资源,xml 的不行。若需要的话,可以设置为占位图,加载资源设为 null 即可
支持多图请求,相当于 Glide 的缩略图,但是相比 Glide 的缩略图设置要差很多,多图请求不是并发,是先后顺序,不能设置原图为缩略图然后指定尺寸和缩略倍数
使用特有的 view 来显示图片,侵入性强
在 4.X 版本不兼容 SVG 矢量图,即便是按照 SVG 4.X 版本兼容写,把 SVG 图片包裹到 seletor 里面一样也是不行。

查看评论

DES算法

DES算法How to implement the Data Encryption Standard (DES) A step by step tutorial Version 1.2 The Dat...
  • ghj1976
  • ghj1976
  • 2001-02-16 08:56:00
  • 1915

安卓中使用fresco加载Gif图片

fresco是facebook推出的一款强大的android图片处理库,自从有了imageloader和fresco这样方便的第三方类库,图片OOM问题也就少了很多。fresco github地址:h...
  • shlock_fan
  • shlock_fan
  • 2015-12-16 23:01:27
  • 6736

Fresco加载GIF动图

//首先要先导几个依赖 第一个依赖是Fresco的依赖 compile 'com.facebook.fresco:fresco:0.14.1' 第二个依赖是支持GIF的依赖 com...
  • dongjinjindongjinjin
  • dongjinjindongjinjin
  • 2017-11-28 19:02:51
  • 563

Fresco加载gif动图

1,studio添加fresco的jar包依赖使用括号里面的就行(compil 'com.facebook.fresco:fresco:0.8.1')       加载gif不要用高版本的Fres...
  • hello_word2
  • hello_word2
  • 2016-08-23 15:46:38
  • 4513

android之Fresco框架(一)--Fresco基本使用

当下最常用的图片加载框架是:Gilde,Fresco,Picasso。Fresco是Facebook提供的开源图片加载库,它能够从网络,本地存储和Android资源文件中加载图片,且具有三级缓存设计(...
  • xuyueqing1225
  • xuyueqing1225
  • 2018-04-08 12:42:13
  • 30

fresco加载gif不能动

底版本的fresco如 compile 'com.facebook.fresco:fresco:0.8.1' 只倒一个可以直接显示 高版本如0.12需要加 compile 'com.faceboo...
  • Coding_CLearLove
  • Coding_CLearLove
  • 2017-05-08 17:04:16
  • 433

安卓里的gif图片解决方案:Fresco+gif

背景gif图片的特殊性安卓里常用的图片有jpg,png,webp,gif.前三者都是位图模式,而gif实际上是几张图片依次播放的动画.安卓原生并不支持gif的显示.Fresco图片加载框架能够显示gi...
  • hss01248
  • hss01248
  • 2016-08-08 21:08:33
  • 9917

Fresco加载app内的图片,包括gif动图

原来用项目imageloader,但是现在这个项目图片比较多,而且是列表形式的加载,原来只是简单研究过fresco,感觉用这个应该可以解决大部分问题,先简单了解一下,加载app内的图片首先框架需要初始...
  • qq_23195583
  • qq_23195583
  • 2016-07-29 11:34:21
  • 3104

图片加载框架之Fresco

1:简介Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。相对于ImageLoader,拥有更快的图片下载速度以及可以...
  • ccg_201216323
  • ccg_201216323
  • 2016-12-27 08:12:37
  • 1388

Fresco加载gif不能显示问题解决

Fresco加载gif不能显示问题解决
  • txvaqh
  • txvaqh
  • 2016-09-01 14:54:30
  • 3555
    个人资料
    持之以恒
    等级:
    访问量: 4622
    积分: 501
    排名: 9万+
    文章分类
    文章存档