查找相關資料後,找出問題所在以及解決方案如下:
1、使用Glide默認沒有圓角轉換的功能,需要使用自定義Transformation,但無法實現placeholder圖片的圓角轉換,但是圓角圖片,使用CircleImageView,雖然CircleImageView繼承ImageView,不能使用scaleType參數,否則報InflateException。CircleImageView 源碼主動拋出的異常。
2、問題出現的原因就是使用自定義ImageView,如CircleImageView,通過Glide加載網絡圖片,且設置了占位符,如placeholder或error,則第壹次不顯示網絡圖片
3、解決辦法有兩種,壹種是不使用占位符,另外壹種則是不使用默認動畫。
public static void glide(Activity activity, String imageUrl, ImageView imageView) {
Glide.with(activity)
.load(imageUrl)
.dontAnimate()
.placeholder(R.mipmap.zhan_course_new)
.error(R.mipmap.zhan_course_new)
.diskCacheStrategy(ALL)
.into(imageView);
}
public static void glide(Activity activity, String imageUrl, ImageView imageView) {
Glide.with(activity)
.load(imageUrl)
.error(R.mipmap.zhan_course_new)
.diskCacheStrategy(ALL)
.into(imageView);
}