Glide 的強(qiáng)大毋庸置疑.
以下是我的使用和我不明白的地方,求大神賜教!!
以下是我的使用:
Gradle
如果使用 Gradle,可從 Maven Central 或 JCenter 中添加對(duì) Glide 的依賴(lài)泌辫。同樣九默,你還需要添加 Android 支持庫(kù)的依賴(lài)。
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
dependencies {
compile 'com.github.bumptech.glide:glide:4.6.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
}
注意:如果可能澜搅,請(qǐng)盡量在你的依賴(lài)中避免使用 @aar
。如果你必須這么做勉躺,請(qǐng)?zhí)砑?transitive=true
以確保所有必要的類(lèi)都被包含到你的 API 中:
dependencies {
implementation ("com.github.bumptech.glide:glide:4.6.1@aar") {
transitive = true
}
}
基本用法
多數(shù)情況下,使用Glide加載圖片非常簡(jiǎn)單妨退,一行代碼足矣:
Glide.with(fragment)
.load(myUrl)
.into(imageView);
取消加載同樣很簡(jiǎn)單:
Glide.with(fragment).clear(imageView);
盡管及時(shí)取消不必要的加載是很好的實(shí)踐咬荷,但這并不是必須的操作轻掩。實(shí)際上,當(dāng) Glide.with()
中傳入的 Activity 或 Fragment 實(shí)例銷(xiāo)毀時(shí)唇牧,Glide 會(huì)自動(dòng)取消加載并回收資源丐重。
加載圓形圖
Glide.with(this)
.load(R.mipmap.ic_splash_bg)
.apply(bitmapTransform(new CropCircleTransformation()))
.into(mImageHead);
模糊過(guò)濾
Glide.with(this)
.load(R.mipmap.ic_splash_bg)
.apply(bitmapTransform(new BlurTransformation( 25, 4)))
.into(mImageView);
在 Application 模塊中的使用
在 Application 模塊中,可創(chuàng)建一個(gè)添加有 @GlideModule
注解臀蛛,繼承自 AppGlideModule
的類(lèi)崖蜜。此類(lèi)可生成出一個(gè)流式 API,內(nèi)聯(lián)了多種選項(xiàng)氧卧,和集成庫(kù)中自定義的選項(xiàng):
package com.example.myapp;
import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.module.AppGlideModule;
@GlideModule
public final class MyAppGlideModule extends AppGlideModule {}
生成的 API 默認(rèn)名為 GlideApp
沙绝,與 AppGlideModule
的子類(lèi)包名相同鼠锈。在 Application 模塊中將 Glide.with()
替換為 GlideApp.with()
,即可使用該 API 去完成加載工作购笆。
GlideApp.with(fragment)
.load(myUrl)
.placeholder(placeholder)
.fitCenter()
.into(imageView);
可以訪(fǎng)問(wèn) Glide 的 generated API 頁(yè)面來(lái)獲得更多信息
更多轉(zhuǎn)換請(qǐng)參考官方指南了解使用.
關(guān)于什么時(shí)候用GlideApp 什么時(shí)候用Glide 為什么 其實(shí)我也不知道?希望知道的大佬給解釋下~ 我目前只停留著會(huì)用的階段!