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);