Glide簡介:glide是一個(gè)快速高效的Android圖片加載庫睡扬,注重于平滑的滾動(dòng)。統(tǒng)一了顯示本地圖片和網(wǎng)絡(luò)圖片的借口咒彤。
Glide的下載和設(shè)置
加載網(wǎng)絡(luò)圖片需要加INTERNET權(quán)限
//本地URI
String uri=getFilesDir().getAbsolutePath()+"/jk.jpg";
Glide.with(this).//指定上下文環(huán)境蜗搔,支持activity,fragment锌钮,context,context引矩,fragmentActivity四種類型
load(uri).//加載圖片的string梁丘,可以來自與網(wǎng)絡(luò)也可以來源于本地
into(imageView);//指定顯示圖片的控件
加載GIF圖片:
Glide.with(this).
asGif().//表示加載的是GIF類型的圖片必須在load方法前調(diào)用
load(uri).//加載圖片
into(imageView);//指定顯示圖片的控件
請(qǐng)求選項(xiàng)
glide中的大部分設(shè)置項(xiàng)都可以通過requestOptions類和apply()方法來應(yīng)用到程序中。
使用requestOptions可以實(shí)現(xiàn):
(1)占位符:對(duì)于圖片請(qǐng)求的不同狀況顯示不同效果
(2)轉(zhuǎn)換:對(duì)圖片顯示效果的設(shè)置
(3)緩存策略:將圖片加載到緩存當(dāng)中
(1)占位符:
placeholder:請(qǐng)求正在執(zhí)行時(shí)
error:請(qǐng)求失敗時(shí)
fallback:在請(qǐng)求的結(jié)果為null的時(shí)候
注:也可以用apply()方法旺韭,兩個(gè)apply方法氛谜,位置不相同,作用不相同区端,設(shè)置默認(rèn)請(qǐng)求選項(xiàng)的方式值漫,底下的apply只是這次請(qǐng)求用的方式
Glide.with(this)
.load(uir)
.apply(options)
.into(imageView);
(2)轉(zhuǎn)換:
需要給控件加scaleType屬性。屬性值是center_crop织盼,就會(huì)應(yīng)用centerCrop變換杨何。如果scaleType是FIT_CENTER或者CENTER_INEIDE,會(huì)自動(dòng)使用fitcenter變換沥邻。
RequestOptions options=new RequestOptions()
.centerCrop()
/*.fitCenter()
.circleCrop()*///后面設(shè)置的會(huì)覆蓋前面的危虱,會(huì)顯示第三種
.placeholder(R.mipmap.loading)//正在請(qǐng)求
.error(R.mipmap.error)//請(qǐng)求錯(cuò)誤
.fallback(R.mipmap.empty);//請(qǐng)求為空的時(shí)候
(3)緩存策略:
RequestOptions options=new RequestOptions()
.diskCacheStrategy(DiskCacheStrategy.ALL)//應(yīng)用所有的緩存
.centerCrop()
Generated API特性:
使用注解處理器來生成出一個(gè)API