之前也有類似Glide問題的記錄 MonkeyLei:Glide加載之圓角兼容CenCrop+寬度鋪滿高度自適應(yīng)坑
這里簡(jiǎn)單記錄下霹肝,資訊列表圖片是指定了寬高的申钩,比如380228叉袍,后臺(tái)圖片比例也是這樣給的始锚。理論上單純的Glide加載肯定是OK的,而且即使設(shè)置了centerCrop也不會(huì)裁剪喳逛,因?yàn)榭丶?/em>圖片資源比例一致*瞧捌,設(shè)置了fitxy也ok呀。艺配。察郁。
小萌新用了一個(gè)圓角處理衍慎,圓角里面了是centerCrop转唉,這個(gè)也沒什么影響呀。小萌新主動(dòng)的設(shè)置ImageView控件的fitxy屬性稳捆,也還是幾率性的顯示不全赠法!然后我又網(wǎng)上查了下,發(fā)現(xiàn)有網(wǎng)友這樣說:
占位的問題乔夯?我看了下我自己的占位圖片砖织,確實(shí)尺寸跟代碼設(shè)置的控件的尺寸不一樣。然后就針對(duì)這個(gè)情況進(jìn)行了填充設(shè)置 fitCenter:
于是我的設(shè)置就如下:
GlideApp.with(mContext)
.setDefaultRequestOptions(new RequestOptions()
.centerCrop()
.placeholder(R.drawable.home_list_img_default_02)
.fitCenter()
)
.load(dataModel.getThumbpath())
.apply(GlideUtil.getRoundCrop(mContext, 4))
//.placeholder(R.drawable.home_list_img_default_02)
//.error(R.mipmap.pic_default)
.into(posterBigIv);
然后打包給測(cè)試測(cè)試了末荐,跟以前的反復(fù)對(duì)比侧纯,確定這樣就OK了!算是解決了這個(gè)問題了甲脏,我覺得這個(gè)部分眶熬,我會(huì)單獨(dú)抽出時(shí)間來封裝一個(gè)Glide/ImageView工具類,封裝時(shí)根據(jù)實(shí)際使用情況進(jìn)行封裝块请,作為公共組件的一個(gè)部分(就叫SImageView吧)娜氏。如下鏈接可參考,
https://blog.csdn.net/whx2385212446/article/details/81541066
https://blog.csdn.net/xzytl60937234/article/details/82773632
https://blog.csdn.net/u014301370/article/details/71131533
另外還有個(gè)問題墩新,就是開機(jī)圖片問題:
開機(jī)圖片加載后贸弥,放置手機(jī)一天或者較長(zhǎng)時(shí)間,然后再次啟動(dòng)App海渊,發(fā)現(xiàn)開機(jī)圖片顯示會(huì)是空白绵疲?然后加載哲鸳,之后就正常?感覺就是長(zhǎng)時(shí)間不用了盔憨,突然加載就是空白頁(yè)面帕胆,是失效了么?
這個(gè)小萌新也很難復(fù)現(xiàn)般渡,我還特意在開機(jī)引導(dǎo)圖來回切換測(cè)試懒豹,發(fā)現(xiàn)也沒問題,有新的開機(jī)圖驯用,啟動(dòng)后總是會(huì)被下載脸秽,下載成功后文件路徑更新到prefrence中,然后下次啟動(dòng)則Glide直接加載:恰(為什么隔了很長(zhǎng)時(shí)間會(huì)顯示空白 - 此時(shí)跳過的計(jì)時(shí)器走著)?
解決:目前暫時(shí)設(shè)置跳過圖片緩存(skipMemoryCache(true))记餐,直接加載本地圖片,另外判斷了下本地文件是否存在薇正,不存在的話片酝,則跳過開機(jī)畫面展示,做一個(gè)雙重保險(xiǎn)挖腰!如果遇到了好復(fù)現(xiàn)的話雕沿,則仔細(xì)盤查!猴仑。审轮。。辽俗。待續(xù)疾渣?