天天看點

Glide加載圓形圖檔(新版本4.0.0-RC1)

今天封裝圖檔加載架構時,想使用Glide加載圓形圖檔,發現有幾個坑,是以記錄一下:

Glide的使用方法,這個應該很熟悉了,如下:

ImageView image;
String url = "圖檔url位址";
Glide.with(image.getContext()).load(url).into(image);
           

但是我們加載圓形圖檔或者給圖檔設定參數時,需要用到RequestOptions對象,由RequestManager管理。RequestOptions有預設的構造方法和多種靜态構造方法,

比如圓形圖檔我們可以使用

RequestOptions requestOptions = RequestOptions.circleCropTransform();
           

傳回對象本身

當我們需要自己對bitmap圖檔進行自定義時,我們需要繼承BitmapTransformation這個類,這是一個抽象類,實作了Transformation<Bitmap>接口。

具體實作可參考GlideAPI裡面的CircleCrop類。這是一個實作了圓形圖檔的類。是以我們加載圓形圖檔時,可以使用

Glide.with(this).load(url).apply(RequestOptions.bitmapTransform(new CircleCrop())).into(imageView);
           

或者

RequestOptions requestOptions = RequestOptions.circleCropTransform();
Glide.with(this).load(url).apply(requestOptions).into(imageView);
           

需要注意不要和centerInside等圖檔屬性沖突。