Android Glide常見使用方式講解
效果圖
依賴
implementation 'com.github.bumptech.glide:glide:4.13.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
implementation 'jp.wasabeef:glide-transformations:4.1.0'
普通顯示
沒有任何附加效果顯示,請(qǐng)求結(jié)果返回之后,直接在圖片容器中顯示
/** * 無附件效果*/ private fun loadImage(){ Glide.with(this) .asDrawable() .load(url) .dontAnimate() .into(binding.noStyleImage) }
占位符顯示
當(dāng)網(wǎng)絡(luò)請(qǐng)求過多或者業(yè)務(wù)繁忙時(shí),Glide返回可能會(huì)有一定延遲,此空窗期就會(huì)不顯示任何東西,通過placeholder
可添加一張占位符,在數(shù)據(jù)未返回之前,顯示一張默認(rèn)圖片
/** * 有默認(rèn)占位圖片*/ private fun loadDefaultImage(){ Glide.with(this) .asDrawable() .load(url) .placeholder(R.drawable.icon_default_songs) .error(R.drawable.icon_error) .dontAnimate() .into(binding.defaultImage) }
圓角顯示
在開發(fā)需求中,往往會(huì)需要將某些圖片進(jìn)行圓角處理,通過transform(RoundedCorners(20))
可完成圓角處理,其中20為圓角彎曲程度
/** * 圓角圖片*/ private fun loadRadiusImage(){ Glide.with(this) .asDrawable() .load(url) .transform(RoundedCorners(20)) .placeholder(R.drawable.icon_default_songs) .error(R.drawable.icon_error) .dontAnimate() .into(binding.radiusImage) }
高斯模糊顯示
有時(shí)會(huì)遇見將背景虛化、模糊處理等需求,通過apply(RequestOptions.bitmapTransform(BlurTransformation(20)))
可完成上述需求,同樣20為模糊程度
/** * 高斯模糊圖片效果*/ private fun loadVagueImage(){ Glide.with(this) .asDrawable() .load(url) .apply(RequestOptions.bitmapTransform(BlurTransformation(20))) .placeholder(R.drawable.icon_default_songs) .error(R.drawable.icon_error) .dontAnimate() .into(binding.vagueImage) }
生命周期
我們進(jìn)入一個(gè)Activity時(shí),觸發(fā)網(wǎng)絡(luò)請(qǐng)求,Glide開始請(qǐng)求數(shù)據(jù),當(dāng)Glide未完成數(shù)據(jù)返回時(shí),我們退出此Activity,即銷毀,會(huì)觸發(fā)異常,因?yàn)镚lide仍在運(yùn)行,當(dāng)它的數(shù)據(jù)返回時(shí),發(fā)現(xiàn)Activity已經(jīng)被銷毀啦,就會(huì)產(chǎn)生報(bào)錯(cuò)異常,所以在必要的Glide代碼中加一個(gè)生命周期判斷
if (!this.isFinishing && !this.isDestroyed){ //Glide代碼 }
圖床工具推薦
最后推薦一個(gè)圖床工具,可以將本地上傳的圖片轉(zhuǎn)化為我們需要的URL
格式,直接在chrome應(yīng)用商店搜索B站圖床,添加到擴(kuò)展程序即可,相關(guān)的也有微博圖床、即刻圖床等
到此這篇關(guān)于Android Glide常見使用方式講解的文章就介紹到這了,更多相關(guān)Android Glide內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AlertDialog點(diǎn)擊按鈕不消失的實(shí)現(xiàn)方法
我有一個(gè)文本輸入對(duì)話框,當(dāng)我點(diǎn)擊對(duì)話框上的“是”按鈕,它會(huì)驗(yàn)證輸入,然后關(guān)閉對(duì)話框,但是,如果輸入錯(cuò)誤,我想停留在同一個(gè)對(duì)話框中。怎么實(shí)現(xiàn)此功能呢?下面通過本文給大家分享下2017-01-01android實(shí)現(xiàn)圖片橡皮擦和快速染色功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)圖片橡皮擦和快速染色功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android編程實(shí)現(xiàn)自定義控件的方法示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)自定義控件的方法,結(jié)合實(shí)例形式分析了Android自定義控件的布局、功能實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2017-06-06Android安裝apk文件并適配Android 7.0詳解
這篇文章主要介紹了Android安裝apk文件并適配Android 7.0詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05