From 9d6dd1ccc62eb2c7030eb0cc1e6aa05d7ee67458 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 20 三月 2024 10:11:10 +0800
Subject: [PATCH] 2024年03月20日10:11:04
---
app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java | 73 ++++++++++++++++++++++++++++++------
1 files changed, 61 insertions(+), 12 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
index 5faa058..eec8bb2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
@@ -11,15 +11,22 @@
import android.graphics.RectF;
import android.widget.ImageView;
+import androidx.annotation.Nullable;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.DataSource;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
import com.bumptech.glide.load.resource.bitmap.CircleCrop;
import com.bumptech.glide.load.resource.bitmap.GranularRoundedCorners;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
+import com.bumptech.glide.load.resource.gif.GifDrawable;
+import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.RequestOptions;
+import com.bumptech.glide.request.target.Target;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.other.HdlThreadLogic;
@@ -41,7 +48,7 @@
public static void getGeneralImage(Context context, String url, ImageView imageview) {
Glide.with(context)
.load(url)
- .apply(getRequestOptions())
+ .apply(getRequestOptions(false))
.into(imageview);
}
@@ -56,7 +63,7 @@
public static void getGranularRoundedCornersImage(Context context, String url, ImageView imageview, GranularRoundedCorners granularRoundedCorners) {
Glide.with(context)
.load(url)
- .apply(getRequestOptions())
+ .apply(getRequestOptions(false))
.transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
.into(imageview);
}
@@ -69,10 +76,10 @@
* @param imageview 鏄剧ず鍥剧墖缁勪欢
* @param roundedCorners 璁剧疆鍥剧墖瑙掑害鍊�
*/
- public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners) {
+ public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners, boolean userImage) {
Glide.with(context)
.load(url)
- .apply(getRequestOptions())
+ .apply(getRequestOptions(userImage))
.transform(new CenterCrop(), roundedCorners)//Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
// .transform(roundedCorners)
.into(imageview);
@@ -88,18 +95,25 @@
public static void getCircleCropImage(Context context, String url, ImageView imageview) {
Glide.with(context)
.load(url)
- .apply(getRequestOptions())
+ .apply(getRequestOptions(false))
.transform(new CircleCrop())
.into(imageview);
}
- private static RequestOptions getRequestOptions() {
- return new RequestOptions()
- .placeholder(R.mipmap.ic_launcher)
- .error(R.mipmap.ic_launcher)
- .fallback(R.mipmap.ic_launcher);
+ private static RequestOptions getRequestOptions(boolean userImage) {
+ if (userImage) {
+ return new RequestOptions()
+ .placeholder(R.drawable.default_image)
+ .error(R.drawable.default_image)
+ .fallback(R.drawable.default_image);
+ } else {
+ return new RequestOptions()
+ .placeholder(R.drawable.default_user)
+ .error(R.drawable.default_user)
+ .fallback(R.drawable.default_user);
// .override(113, 130);
+ }
}
@@ -112,7 +126,7 @@
*/
public static void getImage(String path, ImageView imageView, int pixels) {
- HdlThreadLogic.runThread(new Runnable() {
+ HdlThreadLogic.runSubThread(new Runnable() {
@Override
public void run() {
try {
@@ -123,7 +137,7 @@
if (conn.getResponseCode() == 200) {
InputStream inStream = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inStream);
- imageView.setImageBitmap(getRoundedCornerBitmap(bitmap,pixels));
+ imageView.setImageBitmap(getRoundedCornerBitmap(bitmap, pixels));
}
} catch (Exception e) {
}
@@ -160,4 +174,39 @@
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
+
+
+ /**
+ * 鐣岄潰绾挎暟鎹樉绀烘牱寮�
+ *
+ * @param context 涓婁笅鏂�
+ * @param imageview 鏄剧ず鍥剧墖缁勪欢
+ */
+ public static void getDrawableGifAnimation(Context context, ImageView imageview) {
+ if (context == null) {
+ return;
+ }
+ if (imageview == null) {
+ return;
+ }
+ Glide.with(context)
+ .asGif()
+ .load(R.drawable.null_data_icon)//(res鎴栬�単if鐨剈rl閾炬帴)
+ .diskCacheStrategy(DiskCacheStrategy.ALL)
+ .listener(new RequestListener<GifDrawable>() {
+ @Override
+ public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
+ return false;
+ }
+
+ @Override
+ public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
+// resource.setLoopCount(1);鎺у埗鎾斁娆℃暟
+ return false;
+ }
+ })
+ .into(imageview);
+ }
+
+
}
--
Gitblit v1.8.0