Android Glide的簡單使用
1.)添加引用 build.gradle 中添加配置
compile 'com.github.bumptech.glide:glide:3.7.0'
2.)設(shè)置綁定生命周期
我們可以更加高效的使用Glide提供的方式進(jìn)行綁定,這樣可以更好的讓加載圖片的請求的生命周期動態(tài)管理起來
Glide.with(Context context);// 綁定Context Glide.with(Activity activity);// 綁定Activity Glide.with(FragmentActivity activity);// 綁定FragmentActivity Glide.with(Fragment fragment);// 綁定Fragment
3. )簡單的加載圖片實例
Glide.with(this).load(imageUrl).into(imageView);
4.)設(shè)置加載中以及加載失敗圖片
api里面對placeholder()、error()函數(shù)中有多態(tài)實現(xiàn) 用的時候可以具體的熟悉一下
Glide.with(this).load(imageUrl).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);
5.)設(shè)置跳過內(nèi)存緩存
Glide.with(this).load(imageUrl).skipMemoryCache(true).into(imageView);
6.)設(shè)置下載優(yōu)先級
Glide.with(this).load(imageUrl).priority(Priority.NORMAL).into(imageView);
7.)設(shè)置緩存策略
Glide.with(this).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView); // 策略解說: // all:緩存源資源和轉(zhuǎn)換后的資源 // none:不作任何磁盤緩存 // source:緩存源資源 // result:緩存轉(zhuǎn)換后的資源
8.)設(shè)置加載動畫
//api也提供了幾個常用的動畫:比如crossFade() Glide.with(this).load(imageUrl).animate(R.anim.item_alpha_in).into(imageView);
9.)設(shè)置縮略圖支持
// 這樣會先加載縮略圖 然后在加載全圖 Glide.with(this).load(imageUrl).thumbnail(0.1f).into(imageView);
10.)設(shè)置加載尺寸
Glide.with(this).load(imageUrl).override(800, 800).into(imageView);
11.)設(shè)置動態(tài)轉(zhuǎn)換
Glide.with(this).load(imageUrl).centerCrop().into(imageView); // api提供了比如:centerCrop()、fitCenter()等函數(shù)也可以通過自定義Transformation // 自定義Transformation具體使用 Glide.with(this).load(imageUrl).transform(new GlideRoundTransform(this)).into(imageView);
12.)設(shè)置要加載的內(nèi)容
// 項目中有很多需要先下載圖片然后再做一些合成的功能,比如項目中出現(xiàn)的圖文混////排,該如何實現(xiàn)目標(biāo)下 Glide.with(this).load(imageUrl).centerCrop().into(new SimpleTarget<GlideDrawable>() { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { imageView.setImageDrawable(resource); } });
13 .)設(shè)置監(jiān)聽請求接口 ,設(shè)置監(jiān)聽的用處 可以用于監(jiān)控請求發(fā)生錯誤來源,以及圖片來源 是內(nèi)存還是磁盤
Glide.with(this).load(imageUrl).listener(new RequestListener<String, GlideDrawable>() { @Override public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) { return false; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { //imageView.setImageDrawable(resource); return false; } }).into(imageView);
14.)設(shè)置動態(tài)GIF加載方式
Glide.with(this).load(imageUrl).asBitmap().into(imageView);//顯示gif靜態(tài)圖片 Glide.with(this).load(imageUrl).asGif().into(imageView);//顯示gif動態(tài)圖片
15.)緩存的動態(tài)清理
Glide.get(this).clearDiskCache();//清理磁盤緩存 需要在子線程中執(zhí)行 Glide.get(this).clearMemory();//清理內(nèi)存緩存 可以在UI主線程中進(jìn)行
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Android如何使用GestureDetector進(jìn)行手勢檢測詳解
GestureDetector使用很方便,提供了單擊,雙擊,長按等操作的處理,但是一般的定義界面都比較復(fù)雜,還用很多需要注意的地方,這篇文章主要給大家介紹了關(guān)于Android如何使用GestureDetector進(jìn)行手勢檢測的相關(guān)資料,需要的朋友可以參考下2022-01-01解析Android游戲中獲取電話狀態(tài)進(jìn)行游戲暫?;蚶^續(xù)的解決方法
本篇文章是對在Android游戲中獲取電話狀態(tài)進(jìn)行游戲暫停或繼續(xù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android編程實現(xiàn)上方通知欄里閃動效果的方法
這篇文章主要介紹了Android編程實現(xiàn)上方通知欄里閃動效果的方法,結(jié)合實例形式分析了Android通知欄動畫特效具體實現(xiàn)技巧,需要的朋友可以參考下2017-02-02Android實現(xiàn)帶動畫效果的可點擊展開TextView
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)帶動畫效果的可點擊展開TextView,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07