Glide初步使用

2021-07-26 20:57:52 字數 3805 閱讀 4528

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);

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);

xml version="1.0" encoding="utf-8"

?>

<

set

xmlns:android

="">

<

alpha

android:duration

="500"

android:fromalpha

="0.0"

android:toalpha

="1.0"

/>

set>

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,舉例說明:比如乙個人圓角轉化器

public

class glideroundtransform extends

bitmaptransformation

public glideroundtransform(context context, int

dp)

@override

outheight)

private

if (source == null) return

null

; bitmap result =pool.get(source.getwidth(), source.getheight(), bitmap.config.argb_8888);

if (result == null

) canvas canvas = new

canvas(result);

paint paint = new

paint();

paint.setshader(

newbitmapshader(source, bitmapshader.tilemode.clamp, bitmapshader.tilemode.clamp));

paint.setantialias(

true

); rectf rectf = new

rectf(0f, 0f, source.getwidth(), source.getheight());

canvas.drawroundrect(rectf, radius, radius, paint);

return

result;

}@override

public

string getid()

}

具體使用

glide.with(this).load(imageurl).transform(new glideroundtransform(this)).into(imageview);
12.)設定要載入的內容

glide.with(this).load(imageurl).centercrop().into(new ******target() 

});

13 .)設定監聽請求介面

glide.with(this).load(imageurl).listener(new requestlistener() 

@override

public

boolean onresourceready(glidedrawable resource, string model, targettarget, boolean isfrommemorycache, boolean

isfirstresource)

}).into(imageview);

設定監聽的用處 可以用於監控請求發生錯誤**,以及** 是記憶體還是磁碟

15.)設定動態gif載入方式

glide.with(this).load(imageurl).asbitmap().into(imageview);//

顯示gif靜態

glide.with(this).load(imageurl).asgif().into(imageview);//

顯示gif動態

16.)快取的動態清理

glide.get(this).cleardiskcache();//

清理磁碟快取 需要在子執行緒中執行

glide.get(this).clearmemory();//

清理記憶體快取 可以在ui主線程中進行

小結:以上是glide的常規用法,基本上滿足開發需要了,然後再去學習一下其他相關知識。

Glide簡單使用

新增引用 build.gradle 中新增配置 compile com.github.bumptech.glide glide 3.7.0 設定載入中以及載入失敗 api裡面對placeholder error 函式中有多型實現 用的時候可以具體的熟悉一下 glide.with this load ...

Glide基本使用

glide是一款由bump technologies開發的載入框架,使得我們可以在android平台上以極度簡單的方式載入和展示。目前,glide最新的穩定版本是3.7.0,雖然4.0已經推出rc版了,但是暫時問題還比較多。因此,我們這個系列的部落格都會使用glide 3.7.0版本來進行講解,這個...

Glide使用詳解

以androidstudio為例,在build.gradle中新增依賴 dependenciesandroidmanifest.xml中宣告一下網路許可權 android name android.permission.internet 1載入string url glide.with this l...