修改名称。
This commit is contained in:
@@ -0,0 +1,325 @@
|
||||
package com.xscm.moduleutil.utils;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.widget.ImageView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
|
||||
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import com.bumptech.glide.request.target.BitmapImageViewTarget;
|
||||
import com.luck.picture.lib.engine.ImageEngine;
|
||||
import com.xscm.moduleutil.R;
|
||||
|
||||
/**
|
||||
* @author:luck
|
||||
* @date:2019-11-13 17:02
|
||||
* @describe:Glide加载引擎
|
||||
*/
|
||||
public class GlideEngine implements ImageEngine {
|
||||
|
||||
/**
|
||||
* 加载图片
|
||||
*
|
||||
* @param context
|
||||
* @param url
|
||||
* @param imageView
|
||||
*/
|
||||
@Override
|
||||
public void loadImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||||
Glide.with(context)
|
||||
.load(url)
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) {
|
||||
Glide.with(context).load(url).into(imageView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadAlbumCover(Context context, String url, ImageView imageView) {
|
||||
Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(url)
|
||||
.override(180, 180)
|
||||
.centerCrop()
|
||||
.sizeMultiplier(0.5f)
|
||||
.apply(new RequestOptions().placeholder(R.mipmap.default_image))
|
||||
.into(new BitmapImageViewTarget(imageView) {
|
||||
@Override
|
||||
protected void setResource(Bitmap resource) {
|
||||
RoundedBitmapDrawable circularBitmapDrawable =
|
||||
RoundedBitmapDrawableFactory.
|
||||
create(context.getResources(), resource);
|
||||
circularBitmapDrawable.setCornerRadius(8);
|
||||
imageView.setImageDrawable(circularBitmapDrawable);
|
||||
}
|
||||
});
|
||||
}
|
||||
@Override
|
||||
public void loadGridImage(Context context, String url, ImageView imageView) {
|
||||
Glide.with(context)
|
||||
.load(url)
|
||||
.override(200, 200)
|
||||
.centerCrop()
|
||||
.apply(new RequestOptions().placeholder(R.mipmap.default_image))
|
||||
.into(imageView);
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 加载网络图片适配长图方案
|
||||
// * # 注意:此方法只有加载网络图片才会回调
|
||||
// *
|
||||
// * @param context
|
||||
// * @param url
|
||||
// * @param imageView
|
||||
// * @param longImageView
|
||||
// * @param callback 网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#}
|
||||
// */
|
||||
// @Override
|
||||
// public void loadImage(@NonNull Context context, @NonNull String url,
|
||||
// @NonNull ImageView imageView,
|
||||
// SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) {
|
||||
// Glide.with(context)
|
||||
// .asBitmap()
|
||||
// .load(url)
|
||||
// .into(new ImageViewTarget<Bitmap>(imageView) {
|
||||
// @Override
|
||||
// public void onLoadStarted(@Nullable Drawable placeholder) {
|
||||
// super.onLoadStarted(placeholder);
|
||||
// if (callback != null) {
|
||||
// callback.onShowLoading();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
||||
// super.onLoadFailed(errorDrawable);
|
||||
// if (callback != null) {
|
||||
// callback.onHideLoading();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void setResource(@Nullable Bitmap resource) {
|
||||
// if (callback != null) {
|
||||
// callback.onHideLoading();
|
||||
// }
|
||||
// if (resource != null) {
|
||||
// boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
|
||||
// resource.getHeight());
|
||||
// longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
|
||||
// imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
|
||||
// if (eqLongImage) {
|
||||
// // 加载长图
|
||||
// longImageView.setQuickScaleEnabled(true);
|
||||
// longImageView.setZoomEnabled(true);
|
||||
// longImageView.setDoubleTapZoomDuration(100);
|
||||
// longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
|
||||
// longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
|
||||
// longImageView.setImage(ImageSource.bitmap(resource),
|
||||
// new ImageViewState(0, new PointF(0, 0), 0));
|
||||
// } else {
|
||||
// // 普通图片
|
||||
// imageView.setImageBitmap(resource);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 加载网络图片适配长图方案
|
||||
// * # 注意:此方法只有加载网络图片才会回调
|
||||
// *
|
||||
// * @param context
|
||||
// * @param url
|
||||
// * @param imageView
|
||||
// * @param longImageView
|
||||
// * @ 已废弃
|
||||
// */
|
||||
// @Override
|
||||
// public void loadImage(@NonNull Context context, @NonNull String url,
|
||||
// @NonNull ImageView imageView,
|
||||
// SubsamplingScaleImageView longImageView) {
|
||||
// Glide.with(context)
|
||||
// .asBitmap()
|
||||
// .load(url)
|
||||
// .into(new ImageViewTarget<Bitmap>(imageView) {
|
||||
// @Override
|
||||
// protected void setResource(@Nullable Bitmap resource) {
|
||||
// if (resource != null) {
|
||||
// boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
|
||||
// resource.getHeight());
|
||||
// longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
|
||||
// imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
|
||||
// if (eqLongImage) {
|
||||
// // 加载长图
|
||||
// longImageView.setQuickScaleEnabled(true);
|
||||
// longImageView.setZoomEnabled(true);
|
||||
// longImageView.setDoubleTapZoomDuration(100);
|
||||
// longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
|
||||
// longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
|
||||
// longImageView.setImage(ImageSource.bitmap(resource),
|
||||
// new ImageViewState(0, new PointF(0, 0), 0));
|
||||
// } else {
|
||||
// // 普通图片
|
||||
// imageView.setImageBitmap(resource);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 加载相册目录
|
||||
// *
|
||||
// * @param context 上下文
|
||||
// * @param url 图片路径
|
||||
// * @param imageView 承载图片ImageView
|
||||
// */
|
||||
// @Override
|
||||
// public void loadFolderImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||||
// Glide.with(context)
|
||||
// .asBitmap()
|
||||
// .load(url)
|
||||
// .override(180, 180)
|
||||
// .centerCrop()
|
||||
// .sizeMultiplier(0.5f)
|
||||
// .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.picture_image_placeholder))
|
||||
// .into(new BitmapImageViewTarget(imageView) {
|
||||
// @Override
|
||||
// protected void setResource(Bitmap resource) {
|
||||
// RoundedBitmapDrawable circularBitmapDrawable =
|
||||
// RoundedBitmapDrawableFactory.
|
||||
// create(context.getResources(), resource);
|
||||
// circularBitmapDrawable.setCornerRadius(8);
|
||||
// imageView.setImageDrawable(circularBitmapDrawable);
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
// /**
|
||||
// * 加载gif
|
||||
// *
|
||||
// * @param context 上下文
|
||||
// * @param url 图片路径
|
||||
// * @param imageView 承载图片ImageView
|
||||
// */
|
||||
// @Override
|
||||
// public void loadAsGifImage(@NonNull Context context, @NonNull String url,
|
||||
// @NonNull ImageView imageView) {
|
||||
// Glide.with(context)
|
||||
// .asGif()
|
||||
// .load(url)
|
||||
// .into(imageView);
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * 加载图片列表图片
|
||||
// *
|
||||
// * @param context 上下文
|
||||
// * @param url 图片路径
|
||||
// * @param imageView 承载图片ImageView
|
||||
// */
|
||||
// @Override
|
||||
// public void loadGridImage(@NonNull Context context, @NonNull String url, @NonNull ImageView imageView) {
|
||||
// Glide.with(context)
|
||||
// .load(url)
|
||||
// .override(200, 200)
|
||||
// .centerCrop()
|
||||
// .apply(new RequestOptions().placeholder(com.luck.picture.lib.R.drawable.ps_ic_placeholder))
|
||||
// .into(imageView);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void pauseRequests(Context context) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resumeRequests(Context context) {
|
||||
|
||||
}
|
||||
// /**
|
||||
// * 加载网络图片适配长图方案
|
||||
// * # 注意:此方法只有加载网络图片才会回调
|
||||
// *
|
||||
// * @param context
|
||||
// * @param url
|
||||
// * @param imageView
|
||||
// * @param longImageView
|
||||
// * @param callback 网络图片加载回调监听 {link after version 2.5.1 Please use the #OnImageCompleteCallback#}
|
||||
// */
|
||||
// @Override
|
||||
// public void loadImage(@NonNull Context context, @NonNull String url,
|
||||
// @NonNull ImageView imageView,
|
||||
// SubsamplingScaleImageView longImageView, OnImageCompleteCallback callback) {
|
||||
// Glide.with(context)
|
||||
// .asBitmap()
|
||||
// .load(url)
|
||||
// .into(new ImageViewTarget<Bitmap>(imageView) {
|
||||
// @Override
|
||||
// public void onLoadStarted(@Nullable Drawable placeholder) {
|
||||
// super.onLoadStarted(placeholder);
|
||||
// if (callback != null) {
|
||||
// callback.onShowLoading();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
||||
// super.onLoadFailed(errorDrawable);
|
||||
// if (callback != null) {
|
||||
// callback.onHideLoading();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void setResource(@Nullable Bitmap resource) {
|
||||
// if (callback != null) {
|
||||
// callback.onHideLoading();
|
||||
// }
|
||||
// if (resource != null) {
|
||||
// boolean eqLongImage = MediaUtils.isLongImg(resource.getWidth(),
|
||||
// resource.getHeight());
|
||||
// longImageView.setVisibility(eqLongImage ? View.VISIBLE : View.GONE);
|
||||
// imageView.setVisibility(eqLongImage ? View.GONE : View.VISIBLE);
|
||||
// if (eqLongImage) {
|
||||
// // 加载长图
|
||||
// longImageView.setQuickScaleEnabled(true);
|
||||
// longImageView.setZoomEnabled(true);
|
||||
// longImageView.setPanEnabled(true);
|
||||
// longImageView.setDoubleTapZoomDuration(100);
|
||||
// longImageView.setMinimumScaleType(SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);
|
||||
// longImageView.setDoubleTapZoomDpi(SubsamplingScaleImageView.ZOOM_FOCUS_CENTER);
|
||||
// longImageView.setImage(ImageSource.bitmap(resource),
|
||||
// new ImageViewState(0, new PointF(0, 0), 0));
|
||||
// } else {
|
||||
// // 普通图片
|
||||
// imageView.setImageBitmap(resource);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
// }
|
||||
|
||||
|
||||
private static GlideEngine instance;
|
||||
|
||||
public static GlideEngine createGlideEngine() {
|
||||
if (null == instance) {
|
||||
synchronized (GlideEngine.class) {
|
||||
if (null == instance) {
|
||||
instance = new GlideEngine();
|
||||
}
|
||||
}
|
||||
}
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user