目录

1.Fresco 简介

2. Fresco 文档

3. Fresco开发步骤

4. Fresco加载图片6种方式

5. Drawees xm属性设置

6 Fresco实现圆角或圆形图片

7. DraweeHierarchy设置

7.1 DraweeHierarchy简介

7.2 设置占位图

7.3 设置加载失败图片

7.4 设置淡入淡出

7.5 设置图片缩放类型

7.6 重试图片

7.7 设置进度条

8. Fresco的DraweeController

9. ControllerListener 图片加载监听

10. Fresco的ImageRequest

11 Fresco的显示GIF

12 Fresco的BasePostprocessor图片处理

13.Fresco设置和清除缓存


7. DraweeHierarchy设置

7.1 DraweeHierarchy简介

创建 DraweeHierarchy 对象较为耗时的一个过程,一个DraweeHierarchy不可以被多个View公用,

但是可以被同一个应该多次利用,但是不要多次调用setHierarchy(),即使View可以回收;

7.2 设置占位图

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy();
hierarchy.setPlaceholderImage(R.mipmap.android);
draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setPlaceholderImage(R.mipmap.android);

7.3 设置加载失败图片

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy();
hierarchy.setFailureImage(R.mipmap.img_error);
draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setFailureImage(R.mipmap.img_error);

7.4 设置淡入淡出

方式一:

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy();
hierarchy.setFailureImage(R.mipmap.img_error);
draweeView.setHierarchy(hierarchy);

方式二:

draweeView.getHierarchy().setFadeDuration(3000);

7.5 设置图片缩放类型

可缩放类型:

类型 描述
center 居中,无缩放。
centerCrop 保持宽高比缩小或放大,使得两边都大于或等于显示边界,且宽或高契合显示边界。居中显示。
focusCrop 同centerCrop, 但居中点不是中点,而是指定的某个点。
centerInside 缩放图片使两边都在显示边界内,居中显示。和 fitCenter 不同,不会对图片进行放大。
如果图尺寸大于显示边界,则保持长宽比缩小图片。
fitCenter 保持宽高比,缩小或者放大,使得图片完全显示在显示边界内,且宽或高契合显示边界。居中显示。
fitStart 同上。但不居中,和显示边界左上对齐。
fitEnd 同fitCenter, 但不居中,和显示边界右下对齐。
fitXY 不保存宽高比,填充满显示边界。
none 如要使用tile mode显示, 需要设置为none

代码实现: 

GenericDraweeHierarchy hierarchy = draweeView.getHierarchy();
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER);
draweeView.setHierarchy(hierarchy);

7.6 重试图片

setRetryImage() 设置重试图片,图片现在失败后重试加载图片;

  hierarchy.setRetryImage(R.mipmap.img5);DraweeController controller = Fresco.newDraweeControllerBuilder().setUri(imgUrlError).setTapToRetryEnabled(true).build();draweeView.setController(controller);

7.7 设置进度条

ProgressBarDrawable progressBarDrawable = new ProgressBarDrawable();
progressBarDrawable.setRadius(10);
progressBarDrawable.setColor(Color.RED);hierarchy.setProgressBarImage(progressBarDrawable);
draweeView.setImageURI(imgUrl1);

或者使用:

AutoRotateDrawable autoRotateDrawable = new AutoRotateDrawable(getResources().getDrawable(R.mipmap.loading, null), 3000);hierarchy.setProgressBarImage(autoRotateDrawable);
draweeView.setImageURI(imgUrl1);

Android图片缓存框架 - Fresco的GenericDraweeHierarchy (五)相关推荐

  1. Android图片缓存框架 - Fresco实现圆角或圆形图片 (四)

    目录 1.Fresco 简介 2. Fresco 文档 3. Fresco开发步骤 4. Fresco加载图片6种方式 5. Drawees xm属性设置 6 Fresco实现圆角或圆形图片 6.1 ...

  2. Android图片缓存框架 - Glide自定义圆角 (五)

    目录 1. Glide API 2. Glide导入包 3. Glide 7种加载图片方式 4. 取消加载 5 Glide加载GIF 6. Glide的RequestOption 7. Glide自定 ...

  3. Android图片缓存框架Glide

    Android图片缓存框架Glide Glide是Google提供的一个组件.它具有获取.解码和展示视频剧照.图片.动画等功能.它提供了灵活的API,帮助开发者将Glide应用在几乎任何网络协议栈中. ...

  4. android图片缓存,直接应用项目中的Android图片缓存技术

    前不久搞的Android图片缓存,刚开始引入开源的框架,用着还行,但是在开发中遇到问题,就比如universal-image-loader-1.9.5.jar这个框架吧,在加载图片的时候自定义imag ...

  5. 图片缓存框架解析与设计

    今天讲解下图片缓存框架的解析与设计,在学习面向对象的任何框架之前,你要做的一件事情就是熟悉设计模式,废话不多说,直接进入主题,. 1.首先看一幅图,这幅图很清晰的告诉你,缓存框架要做哪些事情: 2 . ...

  6. Android 图片缓存之内存缓存技术LruCache,软引用

    Android 图片缓存之内存缓存技术LruCache,软引用

  7. Android图片缓存之Lru算法

    前言: 上篇我们总结了Bitmap的处理,同时对比了各种处理的效率以及对内存占用大小.我们得知一个应用如果使用大量图片就会导致OOM(out of memory),那该如何处理才能近可能的降低oom发 ...

  8. glide等图片缓存框架替换缓存图片解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 应用场景: 手机app 用户的头像地址 在服务器上是固定的,比如有些服务器喜欢以 用户手机或者用户id 作为唯一标识,那么用户 ...

  9. 手写图片缓存框架 ImageLoader

    图片缓存是App开发中最常见的,本篇博文给大家带来自己手写的图片缓存框,大致的思路很简单,首先从内存中获取图片,如果内存中没有,就从手机本地进行获取,如果还没有,就从网络访问进行获取. 所以,我们在I ...

最新文章

  1. HTML5存储学习笔记(一)
  2. ASA 独立实现WEB URL过滤!!!
  3. ConfigParser-- 读取写入配置文件
  4. Android mergeDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.ide.comm
  5. SQL Server 中截取字符串常用的函数
  6. 重磅!2018人脸识别研究报告(附全文下载)
  7. Bailian4040 买书问题【Ad Hoc】
  8. 使用vs2005经验与教训(关于masterpage,menu,gridview及对exce的l操作)
  9. python 爬虫抓取网页数据导出excel_Python实现抓取网页生成Excel文件的方法示例
  10. 最大公约数和最小公倍数的关系
  11. FileOpen 打开文件
  12. 冬虫夏草之技术路线图之二【“术”——业务篇】
  13. uniCloud云开发平台简介及云函数数据库基础操作练习(新人首作,欢迎支持
  14. (转)推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
  15. Java线程状态总结
  16. win11--鼠标-文本选择光标变成白色
  17. 大促过后,销量与流量兼具,是否真的高枕无忧?
  18. SEO黑帽技术 - 3天关键词快速上首页
  19. Ubuntu PPA 软件源用法介绍
  20. E-mark认证审核工作的重要性

热门文章

  1. 多肽TAT接枝/功能肽RGDC修饰荧光碳量子点/碳量子点修饰多肽LyP-1的制备研究
  2. Elasticsearch Index Lifecycle Management (ILM)
  3. 物联网云平台应用于远程污水在线检测
  4. 看看月光blog2014年都搞些啥
  5. css 去除png图片黑色背景色,css的filter给png图片换色
  6. The 12th tip of DB Query Analyzer, powerful in text file process
  7. 宽高不定div水平、垂直居中
  8. ch341a i2c 安卓_CH341A转I2C的Labview应用说明
  9. win8.1+ubuntu13.10 双硬盘 uefi+gpt ASUS S400 安装经验
  10. RefSeq Protein Accession转换为蛋白质(YP_009227197转换成Protein)