前言
本文主要是對(duì)Glide基本用法的總結(jié)孵奶,方便今后查看。在今后的使用中蜡峰,如果遇到坑或者比較好玩的地方了袁,會(huì)補(bǔ)充到該文章朗恳。另外大神看到這篇文章,希望給些指點(diǎn)载绿。
Glide的基本用法
1.Glide加載一張圖片
Glide.with(this)//上下文參數(shù)
.load(url)//圖片地址粥诫,可以是資源文件、文件崭庸、Uri怀浆、assets、raw怕享、ContentProvider执赡、sd卡資源
.into(imageView);//目標(biāo)ImageView
2.Glide指定占位圖和錯(cuò)誤圖
Glide.with(this).load(url1)
.placeholder(R.mipmap.ic_launcher)//指定占位圖
.error(R.mipmap.ic_launcher)//指定錯(cuò)誤圖
.into(iv3);
3.Glide指定圖片的淡入淡出效果
Glide.with(this).load(url)
.crossFade(3000)//用Glide實(shí)現(xiàn)淡入淡出的效果,只需添加該屬性
//參數(shù)是淡入淡出的時(shí)間,單位是ms函筋。默認(rèn)300ms
.into(imageView);
4.Glide指定圖片的大小
Glide是可以根據(jù)ImageView的大小來(lái)決定圖片在內(nèi)存/磁盤(pán)中的大小搀玖,當(dāng)然,我們也可以用override方法來(lái)設(shè)置圖片的大小驻呐。
Glide.with(this).load(url)
.override(300, 300)//指定圖片的寬高,圖片質(zhì)量將被壓縮
.into(imageView);
5.Glide指定圖片的縮放形式
Glide.with(this).load(url)
.centerCrop()//等比例縮放圖片芳来,直到圖片的狂高都大于等于
//ImageView的寬度含末,然后截取中間的顯示。
.into(imageView);
Glide.with(this).load(url)
.fitCenter()//等比例縮放圖片即舌,寬或者是高等于ImageView的寬或者是高佣盒。
.into(imageView);
6.Glide清楚緩存的方法
Glide.get(this).clearMemory();//清理內(nèi)存緩存 可以在UI主線程中進(jìn)行
Glide.get(this).clearDiskCache();//清理磁盤(pán)緩存 需要在子線程中執(zhí)行
7.Glide管理請(qǐng)求的幾個(gè)方法
Glide.clear();//清楚所有的請(qǐng)求
Glide.with(getApplicationContext()).pauseRequests();//暫停請(qǐng)求隊(duì)列
Glide.with(getApplicationContext()).resumeRequests();//恢復(fù)請(qǐng)求隊(duì)列
Glide3.0新特性
1.對(duì)gif的支持
Glide.with(context).load(gifUrl)
.asBitmap()//顯示gif靜態(tài)圖片
.into(imageview);
Glide.with(context).load(gifUrl)
.asGif()//顯示gif動(dòng)態(tài)圖片
.into(imageview);
Glide.with(context).load("視頻路徑/視頻文件/本地視頻路徑").into(imageview);
2.對(duì)縮略圖的支持
Glide.with(context).load(url)
.thumbnail(0.1f)//加載1/10尺寸的縮略圖,然后加載全圖
.into(imageview)
3.對(duì)動(dòng)畫(huà)的支持
Glide
.with( context )
.load( url )
.animate( android.R.anim.slide_in_left )
.into( imageView );
ViewPropertyAnimation.Animator animationObject = new ViewPropertyAnimation.Animator() {
@Override
public void animate(View view) {
view.setAlpha( 0f );
ObjectAnimator fadeAnim = ObjectAnimator.ofFloat( view, "alpha", 0f, 1f );
fadeAnim.setDuration( 2500 );
fadeAnim.start();
}
};
Glide
.with( context )
.load( url )
.animate( animationObject )
.into( imageView );
4.緩存方面
Glide
.with(context)
.load(url)
.skipMemoryCache(true)//跳過(guò)內(nèi)存緩存
.into(imageView);
設(shè)置緩存策略(磁盤(pán)緩存)
all:緩存源資源和轉(zhuǎn)換后的資源
none:不作任何磁盤(pán)緩存
source:緩存源資源
result:緩存轉(zhuǎn)換后的資源
Glide
.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);