119 lines
3.2 KiB
Java
119 lines
3.2 KiB
Java
package com.uiuios.aios.base;
|
||
|
||
import android.content.Context;
|
||
import android.widget.ImageView;
|
||
|
||
import androidx.annotation.NonNull;
|
||
|
||
import com.bumptech.glide.Glide;
|
||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||
import com.luck.picture.lib.engine.ImageEngine;
|
||
import com.luck.picture.lib.utils.ActivityCompatHelper;
|
||
import com.uiuios.aios.R;
|
||
|
||
/**
|
||
* @author:luck
|
||
* @date:2019-11-13 17:02
|
||
* @describe:Glide加载引擎
|
||
*/
|
||
public class GlideEngine implements ImageEngine {
|
||
|
||
/**
|
||
* 加载图片
|
||
*
|
||
* @param context 上下文
|
||
* @param url 资源url
|
||
* @param imageView 图片承载控件
|
||
*/
|
||
@Override
|
||
public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||
return;
|
||
}
|
||
Glide.with(context)
|
||
.load(url)
|
||
.into(imageView);
|
||
}
|
||
|
||
@Override
|
||
public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) {
|
||
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||
return;
|
||
}
|
||
Glide.with(context)
|
||
.load(url)
|
||
.override(maxWidth, maxHeight)
|
||
.into(imageView);
|
||
}
|
||
|
||
/**
|
||
* 加载相册目录封面
|
||
*
|
||
* @param context 上下文
|
||
* @param url 图片路径
|
||
* @param imageView 承载图片ImageView
|
||
*/
|
||
@Override
|
||
public void loadAlbumCover(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||
return;
|
||
}
|
||
Glide.with(context)
|
||
.asBitmap()
|
||
.load(url)
|
||
.override(180, 180)
|
||
.sizeMultiplier(0.5f)
|
||
.transform(new CenterCrop(), new RoundedCorners(8))
|
||
.placeholder(R.drawable.ps_image_placeholder)
|
||
.into(imageView);
|
||
}
|
||
|
||
|
||
/**
|
||
* 加载图片列表图片
|
||
*
|
||
* @param context 上下文
|
||
* @param url 图片路径
|
||
* @param imageView 承载图片ImageView
|
||
*/
|
||
@Override
|
||
public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||
return;
|
||
}
|
||
Glide.with(context)
|
||
.load(url)
|
||
.override(200, 200)
|
||
.centerCrop()
|
||
.placeholder(R.drawable.ps_image_placeholder)
|
||
.into(imageView);
|
||
}
|
||
|
||
@Override
|
||
public void pauseRequests(Context context) {
|
||
Glide.with(context).pauseRequests();
|
||
}
|
||
|
||
@Override
|
||
public void resumeRequests(Context context) {
|
||
Glide.with(context).resumeRequests();
|
||
}
|
||
|
||
private GlideEngine() {
|
||
}
|
||
|
||
private static GlideEngine instance;
|
||
|
||
public static GlideEngine createGlideEngine() {
|
||
if (null == instance) {
|
||
synchronized (GlideEngine.class) {
|
||
if (null == instance) {
|
||
instance = new GlideEngine();
|
||
}
|
||
}
|
||
}
|
||
return instance;
|
||
}
|
||
}
|