編輯:關於Android編程
1.)添加引用 build.gradle 中添加配置
compile 'com.github.bumptech.glide:glide:3.7.0'
2.)設置綁定生命周期
我們可以更加高效的使用Glide提供的方式進行綁定,這樣可以更好的讓加載圖片的請求的生命周期動態管理起來
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.)設置加載中以及加載失敗圖片
api裡面對placeholder()、error()函數中有多態實現 用的時候可以具體的熟悉一下
Glide.with(this).load(imageUrl).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(imageView);
5.)設置跳過內存緩存
Glide.with(this).load(imageUrl).skipMemoryCache(true).into(imageView);
6.)設置下載優先級
Glide.with(this).load(imageUrl).priority(Priority.NORMAL).into(imageView);
7.)設置緩存策略
Glide.with(this).load(imageUrl).diskCacheStrategy(DiskCacheStrategy.ALL).into(imageView); // 策略解說: // all:緩存源資源和轉換後的資源 // none:不作任何磁盤緩存 // source:緩存源資源 // result:緩存轉換後的資源
8.)設置加載動畫
//api也提供了幾個常用的動畫:比如crossFade() Glide.with(this).load(imageUrl).animate(R.anim.item_alpha_in).into(imageView);
9.)設置縮略圖支持
// 這樣會先加載縮略圖 然後在加載全圖 Glide.with(this).load(imageUrl).thumbnail(0.1f).into(imageView);
10.)設置加載尺寸
Glide.with(this).load(imageUrl).override(800, 800).into(imageView);
11.)設置動態轉換
Glide.with(this).load(imageUrl).centerCrop().into(imageView); // api提供了比如:centerCrop()、fitCenter()等函數也可以通過自定義Transformation // 自定義Transformation具體使用 Glide.with(this).load(imageUrl).transform(new GlideRoundTransform(this)).into(imageView);
12.)設置要加載的內容
// 項目中有很多需要先下載圖片然後再做一些合成的功能,比如項目中出現的圖文混////排,該如何實現目標下 Glide.with(this).load(imageUrl).centerCrop().into(new SimpleTarget<GlideDrawable>() { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { imageView.setImageDrawable(resource); } });
13 .)設置監聽請求接口 ,設置監聽的用處 可以用於監控請求發生錯誤來源,以及圖片來源 是內存還是磁盤
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.)設置動態GIF加載方式
Glide.with(this).load(imageUrl).asBitmap().into(imageView);//顯示gif靜態圖片 Glide.with(this).load(imageUrl).asGif().into(imageView);//顯示gif動態圖片
15.)緩存的動態清理
Glide.get(this).clearDiskCache();//清理磁盤緩存 需要在子線程中執行 Glide.get(this).clearMemory();//清理內存緩存 可以在UI主線程中進行
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持本站!
微博開發遇到很多bug 總結一下 我遇到BUG (1) :sso package or singn error 出現這個問題 是我沒有在 博客中填寫正確的包
這是從Philippe Breault的系列文章《Android Studio Tips Of the Day》中提取出來的自認為精華的部分。這些技巧在實際應用中能夠非常
隨著移動技術的深入發展,各種炫酷效果的更新,在我們追求UI與UE的同時一個不如忽視的問題逐漸暴露出來,那就是apk文件越來越大,可能有的童鞋會說現在都是wifi環境,ap
Android Studio常用插件轉載請注明出處: http://blog.csdn.net/crazy1235/article/details/48598803不得不