2021SC@SDUSC
导入库:
implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
应用例子:
package io.rong.callkit.util;
import android.content.Context;
import android.net.Uri;
import android.widget.ImageView;
import cn.rongcloud.rtc.utils.FinLog;
import com.bumptech.glide.Glide;
import com.bumptech.glide.Priority;
import com.bumptech.glide.request.RequestOptions;
import io.rong.callkit.R;
/** Created by dengxudong on 2018/5/18. */
public class GlideUtils {
private static final String TAG = GlideUtils.class.getSimpleName();
public static void showBlurTransformation(Context context, ImageView imageView, Uri val) {
if (val == null) {
return;
}
try {
Glide.with(context)
.load(val)
.apply(RequestOptions.bitmapTransform(new GlideBlurformation(context)))
.apply(new RequestOptions().centerCrop())
.into(imageView);
} catch (Exception e) {
e.printStackTrace();
FinLog.e(TAG, "Glide Utils Error=" + e.getMessage());
} catch (NoSuchMethodError noSuchMethodError) {
noSuchMethodError.printStackTrace();
FinLog.e(TAG, "Glide NoSuchMethodError = " + noSuchMethodError.getMessage());
}
}
public static void showRemotePortrait(Context context, ImageView imageView, Uri val) {
RequestOptions requestOptions = new RequestOptions();
requestOptions.transform(new GlideRoundTransform());
requestOptions.priority(Priority.HIGH);
requestOptions.placeholder(R.drawable.rc_default_portrait);
if (val == null) {
Glide.with(context)
.load(R.drawable.rc_default_portrait)
.apply(requestOptions)
.into(imageView);
} else {
Glide.with(context).load(val).apply(requestOptions).into(imageView);
}
}
}
三部曲with,load,into
首先是with:
Glide.with() 生命周期控制
- with(Context context). 使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制。(这里使用的是Context )
- with(Activity activity). 使用Activity作为上下文,Glide的请求会受到Activity生命周期控制。
- with(FragmentActivity activity).Glide的请求会受到FragmentActivity生命周期控制。
- with(android.app.Fragment fragment).Glide的请求会受到Fragment 生命周期控制。
- with(android.support.v4.app.Fragment fragment).Glide的请求会受到Fragment生命周期控制。
然后是load
这里使用的是Uri类型
最后into到ImageView 中。