5、Fresco——ScaleType focusCrop属性详解,有须要的朋友能够参考下。java
咱们能够经过
fresco:actualImageScaleType="focusCrop"
来设置图片的ScaleType为focusCrop,与ImageView.ScaleType有哪些区别呢?
- 添加focusCrop
类型
- 没有matirx
类型app
除此以外,其余类型二者都同样,包括center
、centerCrop
、centerInside
、fitCenter
等等。ide
focusCrop
与 centerCrop
相似,可是centerCrop
是指定以图片的中心为焦点,剪切图片,而focusCrop
能够指定一个焦点进行剪切,下面介绍如何设置焦点。
Focus point是一个相对的坐标系,(0f,0f)表示左顶角,(1f,1f)表示右底角,当焦点为(0.5f,0.5f)时,剪切效果就和centerCrop
同样了。
咱们能够在xml里设置ScaleTypespa
fresco:actualImageScaleType="focusCrop"
也能够在java代码中设置ScaleType.net
hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.CENTER_INSIDE);
关于如何在java代码中设置Fresco图片的属性,可参考我以前的博文 3、Fresco——在代码中使用Draweescode
当ScaleType设置为focusCrop
以后,就能够在java代码中设置剪切的焦点了:orm
PointF focusPoint;// your app populates the focus point mSimpleDraweeView .getHierarchy() .setActualImageFocusPoint(focusPoint);