加載網(wǎng)絡(luò)圖片時(shí)第一次加載死活加載不出來逆粹,頭像控件使用的是CircleImageView,最后換成ImageView試驗(yàn)炫惩,發(fā)現(xiàn)沒有問題僻弹,這就找出問題所在了,就是CircleImageView這個控件和Glide之間的關(guān)系了他嚷。
查找相關(guān)資料后蹋绽,找出問題所在以及解決方案如下:
1、使用Glide默認(rèn)沒有圓角轉(zhuǎn)換的功能筋蓖,需要使用自定義Transformation卸耘,但無法實(shí)現(xiàn)placeholder圖片的圓角轉(zhuǎn)換,但是圓角圖片粘咖,使用CircleImageView鹊奖,雖然CircleImageView繼承ImageView,不能使用scaleType參數(shù)涂炎,否則報(bào)InflateException。CircleImageView 源碼主動拋出的異常设哗。
2唱捣、問題出現(xiàn)的原因就是使用自定義ImageView,如CircleImageView网梢,通過Glide加載網(wǎng)絡(luò)圖片震缭,且設(shè)置了占位符,如placeholder或error战虏,則第一次不顯示網(wǎng)絡(luò)圖片
3拣宰、解決辦法有兩種,一種是不使用占位符烦感,另外一種則是不使用默認(rèn)動畫巡社。
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);
}