三、Fresco——在代码中使用Drawees
来源:互联网 发布:美国世界警察知乎 编辑:程序博客网 时间:2024/06/05 06:44
对于大部分app来说,在xml中指定drawee的属性即可,参见Fresco drawees xml属性一览表;
但有些时候,这些远远不够。
定制hierarchy
我们可以创建一个builder的实例,并赋值给view:
List<Drawable> backgroundsList;List<Drawable> overlaysList;GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());GenericDraweeHierarchy hierarchy = builder .setFadeDuration(300) .setPlaceholderImage(new MyCustomDrawable()) .setBackgrounds(backgroundList) .setOverlays(overlaysList) .build();mSimpleDraweeView.setHierarchy(hierarchy);
需要注意的是,setHierarchy不要在同一个view上调用多次,即使这个view被回收了。hierarchy的多次创建是很耗性能的,我们可以通过setController或setImageURI来修改显示在它上面的图片。
直接修改hierarchy
我们可以在app运行时,直接修改hierarchy的属性值。首先我们需要从View获取hierarchy的引用:
GenericDraweeHierarchy hierarchy = mSimpleDraweeView.getHierarchy();
获取到view的hierarchy之后,就可以动态修改很多属性了,例如:
修改默认显示图片:
直接用res id
hierarchy.setPlaceholderImage(R.drawable.placeholderId);或者用drawable:
Drawable drawable; // create your drawablehierarchy.setPlaceholderImage(drawable);
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_INSIDE);如果选择了fucusCrop,那么需要设置一个焦点
hierarchy.setActualImageFocusPoint(point);同时,也可以给图片添加颜色过滤器(color filter)
ColorFilter filter;// create your filterhierarchy.setActualImageColorFilter(filter);
设置圆角(Rounding)
所有跟圆角相关的参数,除了rounding方法可以被修改,还可以从hierarchy获取RoundingParams对象,修改之后再设置回去。
RoundingParams roundingParams = hierarchy.getRoundingParams();roundingParams.setCornersRadius(10);hierarchy.setRoundingParams(roundingParams);
0 0
- 三、Fresco——在代码中使用Drawees
- Fresco的使用(一):在XML中使用Drawees
- 在JAVA代码中使用Drawees
- 二、Fresco drawees xml属性一览表
- Fresco源码之Drawees-MVC设计
- 关于在项目中使用三方框架见解(volley和fresco)
- Fresco(2)——fresco的基本使用
- android使用Fresco在xml中固定宽高比
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- Fresco简单的使用—SimpleDraweeView
- 在VC中使用代码组件的三种方法
- 异步加载数据的三种实现
- 程序调试技巧 —— Attach to Process
- nginx open() "" failed (13: Permission denied), client
- 详解EBS接口开发之库存事务处理采购接收和退货
- ssh 框架写接口注意事项
- 三、Fresco——在代码中使用Drawees
- (1394)HDU
- 关于Spring的context:property-placeholder的bug
- 教你爱上Blocks(闭包)
- 数据结构学习笔记(绪论二)
- Codeforces Round #FF (Div. 2) E. DZY Loves Fibonacci Numbers(斐波那契的定理+线段树)
- Asp.net目录结构设计
- Makefile选项CFLAGS,LDFLAGS,LIBS
- LeetCode—Minimum Path Sum 二维数组最小路径,动态规划