From f3be12177c058dd33a7d78b3052587e1e5541416 Mon Sep 17 00:00:00 2001 From: jia Date: Sun, 1 Dec 2024 23:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E7=89=87=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iFish7/build.gradle | 7 ++ iFish7/src/main/AndroidManifest.xml | 13 ++ .../java/com/ifish/activity/MineActivity.java | 41 ++++++- .../java/com/ifish/utils/GlideEngine.java | 116 ++++++++++++++++++ 4 files changed, 173 insertions(+), 4 deletions(-) create mode 100644 iFish7/src/main/java/com/ifish/utils/GlideEngine.java diff --git a/iFish7/build.gradle b/iFish7/build.gradle index dded98722..1f39b9447 100644 --- a/iFish7/build.gradle +++ b/iFish7/build.gradle @@ -181,4 +181,11 @@ dependencies { // annotationProcessor 'com.github.bumptech.glide:compiler:3.7.0' implementation 'com.getui:gtsdk:3.3.7.0' //个推SDK implementation 'com.getui:gtc:3.2.16.0' //个推核心组件 + + implementation 'io.github.lucksiege:pictureselector:v3.11.2' + // 图片压缩 (按需引入) + implementation 'io.github.lucksiege:compress:v3.11.2' + + // 图片裁剪 (按需引入) + implementation 'io.github.lucksiege:ucrop:v3.11.2' } \ No newline at end of file diff --git a/iFish7/src/main/AndroidManifest.xml b/iFish7/src/main/AndroidManifest.xml index 7fe35afe6..7e72bca93 100644 --- a/iFish7/src/main/AndroidManifest.xml +++ b/iFish7/src/main/AndroidManifest.xml @@ -181,6 +181,19 @@ + + + + + + + + + + + + + () { + @Override + public void onResult(ArrayList result) { + + } + + @Override + public void onCancel() { + + } + }); + } /* diff --git a/iFish7/src/main/java/com/ifish/utils/GlideEngine.java b/iFish7/src/main/java/com/ifish/utils/GlideEngine.java new file mode 100644 index 000000000..84c8fd931 --- /dev/null +++ b/iFish7/src/main/java/com/ifish/utils/GlideEngine.java @@ -0,0 +1,116 @@ +package com.ifish.utils; +import android.content.Context; +import android.widget.ImageView; + +import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.ifish.activity.R; +import com.luck.picture.lib.engine.ImageEngine; +import com.luck.picture.lib.utils.ActivityCompatHelper; + +/** + * @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(Context context, String url, 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(Context context, String url, 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.umeng_socialize_share_pic) + .into(imageView); + } + + + /** + * 加载图片列表图片 + * + * @param context 上下文 + * @param url 图片路径 + * @param imageView 承载图片ImageView + */ + @Override + public void loadGridImage(Context context, String url, ImageView imageView) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context) + .load(url) + .override(200, 200) + .centerCrop() + .placeholder(R.drawable.umeng_socialize_share_pic) + .into(imageView); + } + + @Override + public void pauseRequests(Context context) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context).pauseRequests(); + } + + @Override + public void resumeRequests(Context context) { + if (!ActivityCompatHelper.assertValidRequest(context)) { + return; + } + Glide.with(context).resumeRequests(); + } + + private GlideEngine() { + } + + private static final class InstanceHolder { + static final GlideEngine instance = new GlideEngine(); + } + + public static GlideEngine createGlideEngine() { + return InstanceHolder.instance; + } +}