Layout:
<!--课程头图-->
<com.facebook.drawee.view.SimpleDraweeView
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:id="@+id/columnsinfo_iv_courseCover"
android:layout_width="100px"
android:layout_height="100px"
fresco:actualImageScaleType="focusCrop"
fresco:roundAsCircle="true"
android:background="@android:color/white"
fresco:roundWithOverlayColor="@android:color/white"
fresco:roundedCornerRadius="180dp" />
代码:
/**
* @param imageView
* @param url
* @param suffix
* @param isCircle 0:false 1:Circle 2:Round
*/
public static void setImage(SimpleDraweeView imageView, String url, int isCircle) {
if (url != null) {
Uri parse = Uri.parse(url);
String[] split = url.split("\\.");
if (split.length > 1 && split[split.length - 1].equalsIgnoreCase("gif")) { //如果是动图 则用代码设置
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setUri(parse).setAutoPlayAnimations(true).build();
imageView.setController(controller);
switch (isCircle) {//如果是圆形 用代码设置(Layout里必须设置背景)
case Constants.CIRCLE:// 自定义变量 用来判断是不是圆形
setCircle(imageView);
break;
}
} else {
imageView.setImageURI(parse);
}
} else {
imageView.setImageURI(Constants.PROPHETSIMGURL);
}
}
private static void setCircle(SimpleDraweeView imageView) {
RoundingParams roundingParams = imageView.getHierarchy().getRoundingParams();
roundingParams.setRoundAsCircle(true);
imageView.getHierarchy().setRoundingParams(roundingParams);
}
ps:
参考资料