Android Glide常見(jiàn)使用方式講解
效果圖

依賴(lài)
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'
普通顯示
沒(méi)有任何附加效果顯示,請(qǐng)求結(jié)果返回之后,直接在圖片容器中顯示
/**
* 無(wú)附件效果*/
private fun loadImage(){
Glide.with(this)
.asDrawable()
.load(url)
.dontAnimate()
.into(binding.noStyleImage)
}
占位符顯示
當(dāng)網(wǎng)絡(luò)請(qǐng)求過(guò)多或者業(yè)務(wù)繁忙時(shí),Glide返回可能會(huì)有一定延遲,此空窗期就會(huì)不顯示任何東西,通過(guò)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)
}
圓角顯示
在開(kāi)發(fā)需求中,往往會(huì)需要將某些圖片進(jìn)行圓角處理,通過(guò)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ì)遇見(jiàn)將背景虛化、模糊處理等需求,通過(guò)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開(kāi)始請(qǐng)求數(shù)據(jù),當(dāng)Glide未完成數(shù)據(jù)返回時(shí),我們退出此Activity,即銷(xiāo)毀,會(huì)觸發(fā)異常,因?yàn)镚lide仍在運(yùn)行,當(dāng)它的數(shù)據(jù)返回時(shí),發(fā)現(xiàn)Activity已經(jīng)被銷(xiāo)毀啦,就會(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常見(jiàn)使用方式講解的文章就介紹到這了,更多相關(guān)Android Glide內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android控件BottomSheet實(shí)現(xiàn)底邊彈出選擇列表
這篇文章主要介紹了Android控件BottomSheet實(shí)現(xiàn)底邊彈出選擇列表,比較常用的選擇條件或跳轉(zhuǎn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Android基礎(chǔ)之使用Fragment控制切換多個(gè)頁(yè)面
Android官方已經(jīng)提供了Fragment的各種使用的Demo例子,在我們SDK下面的API Demo里面就包含了Fragment的各種使用例子,需要看Demo的朋友,直接看API Demo那個(gè)程序就可以了,不用到處去找。里面分開(kāi)不同功能,實(shí)現(xiàn)了不同的類(lèi)2013-07-07
Android使用ContentProvider實(shí)現(xiàn)跨進(jìn)程通訊示例詳解
這篇文章主要為大家介紹了Android使用ContentProvider實(shí)現(xiàn)跨進(jìn)程通訊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
淺析KJFrameForAndroid框架如何高效加載Bitmap
Bitmap是Android系統(tǒng)中的圖像處理的最重要類(lèi)之一。用它可以獲取圖像文件信息,進(jìn)行圖像剪切、旋轉(zhuǎn)、縮放等操作,并可以指定格式保存圖像文件。本文主要是從KJFrameForAndroid框架中分析高效加載Bitmap的方法2014-07-07
Android 8.0升級(jí)不跳轉(zhuǎn)應(yīng)用安裝頁(yè)面的解決方法
這篇文章主要為大家詳細(xì)介紹了Android 8.0升級(jí)不跳轉(zhuǎn)應(yīng)用安裝頁(yè)面的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android基于google Zxing實(shí)現(xiàn)各類(lèi)二維碼掃描效果
這篇文章主要介紹了Android基于google Zxing實(shí)現(xiàn)各類(lèi)二維碼掃描效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
Jetpack?Compose狀態(tài)專(zhuān)篇精講
在今年的Google/IO大會(huì)上,亮相了一個(gè)全新的?Android?原生?UI?開(kāi)發(fā)框架-Jetpack?Compose,?與蘋(píng)果的SwiftIUI一樣,Jetpack?Compose是一個(gè)聲明式的UI框架,這篇文章主要介紹了Jetpack?Compose狀態(tài)管理2022-10-10

