问题
在没有加载之前占位图是显示正常的,没有拉伸,但是加载失败后,失败后的占位图就变成了上面的样子。
分析
原项目中的Fresco图片控件布局
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/avatar"
android:layout_width="68.0dip"
android:layout_height="68.0dip"
android:layout_gravity="top|left|center"
fresco:actualImageScaleType="focusCrop"
fresco:roundAsCircle="true"
fresco:failureImage="@drawable/sample_user"
fresco:placeholderImage="@drawable/sample_user"
fresco:placeholderImageScaleType="focusCrop" />
很明显是由于设置了 fresco:roundAsCircle="true"导致的问题。由于占位图本身就是一张远行的图片,再设置这个属性,就会被拉伸。
解决
因为正常的图片本身需要圆形展示,所以必须设置 fresco:roundAsCircle="true"这个属性,设置了各种途径,都没有解决这个蛋疼的拉伸,最后我看了一下设置了 fresco:placeholderImageScaleType="focusCrop"但是却没有设置 fresco:failureImageScaleType="focusCrop",😄,完美解决。