From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java | 109 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 77 insertions(+), 32 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 d9aa883..a0e81c4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
@@ -9,9 +9,11 @@
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
+import android.text.TextUtils;
import android.widget.ImageView;
import androidx.annotation.Nullable;
+import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
@@ -28,6 +30,7 @@
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import java.io.InputStream;
@@ -46,10 +49,11 @@
* @param imageview 鏄剧ず鍥剧墖缁勪欢
*/
public static void getGeneralImage(Context context, String url, ImageView imageview) {
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(false))
- .into(imageview);
+ if (url.startsWith("http://") || url.startsWith("https://")) {
+ Glide.with(context).load(url).apply(getRequestOptions(false)).into(imageview);
+ } else {
+ setDefaultImage(context, imageview, true);
+ }
}
/**
@@ -61,11 +65,43 @@
* @param granularRoundedCorners 璁剧疆鍥剧墖瑙掑害
*/
public static void getGranularRoundedCornersImage(Context context, String url, ImageView imageview, GranularRoundedCorners granularRoundedCorners) {
+ if (url.startsWith("http://") || url.startsWith("https://")) {
+
+ Glide.with(context).load(url).apply(getRequestOptions(false)).transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
+ .into(imageview);
+ } else {
+ setDefaultImage(context, imageview, true);
+ }
+ }
+
+ /**
+ * 鍥剧墖鍥涗釜瑙掔粺涓�鎸囧畾
+ *
+ * @param context 涓婁笅鏂�
+ * @param url 鍥剧墖鍦板潃
+ * @param imageview 鏄剧ず鍥剧墖缁勪欢
+ * @param db 璁剧疆鍥剧墖瑙掑害鍊�
+ */
+ public static void getRoundedCornersImage(Context context, String url, ImageView imageview, int db) {
+ if (!(url.startsWith("http://") || url.startsWith("https://"))) {
+ imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.plant_default_picture));
+ return;
+ }
+// if (url.startsWith("http://") || url.startsWith("https://")) {
+
+ RequestOptions roundedCorners = new RequestOptions()
+ .transform(new CenterCrop(), new RoundedCorners((int) UnitConversionUtils.dpToPx(context, db)));
Glide.with(context)
.load(url)
- .apply(getRequestOptions(false))
- .transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
+ .apply(roundedCorners)
+ .placeholder(R.drawable.plant_default_picture)
+ .error(R.drawable.plant_default_picture)
+// .fallback(R.drawable.plant_default_picture)
+ //Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
.into(imageview);
+// } else {
+// setDefaultImage(context, imageview, userImage);
+// }
}
/**
@@ -77,12 +113,17 @@
* @param roundedCorners 璁剧疆鍥剧墖瑙掑害鍊�
*/
public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners, boolean userImage) {
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(userImage))
- .transform(new CenterCrop(), roundedCorners)//Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
+ if (!(url.startsWith("http://") || url.startsWith("https://"))) {
+ setDefaultImage(context, imageview, userImage);
+ return;
+ }
+// if (url.startsWith("http://") || url.startsWith("https://")) {
+ Glide.with(context).load(url).apply(getRequestOptions(userImage)).transform(new CenterCrop(), roundedCorners)//Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
// .transform(roundedCorners)
.into(imageview);
+// } else {
+// setDefaultImage(context, imageview, userImage);
+// }
}
/**
@@ -93,25 +134,20 @@
* @param imageview 鏄剧ず鍥剧墖缁勪欢
*/
public static void getCircleCropImage(Context context, String url, ImageView imageview, boolean userImage) {
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(userImage))
- .transform(new CircleCrop())
- .into(imageview);
+
+ if (url.startsWith("http://") || url.startsWith("https://")) {
+ Glide.with(context).load(url).apply(getRequestOptions(userImage)).transform(new CircleCrop()).into(imageview);
+ } else {
+ setDefaultImage(context, imageview, userImage);
+ }
}
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);
+ 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);
+ return new RequestOptions().placeholder(R.drawable.default_user).error(R.drawable.default_user).fallback(R.drawable.default_user);
// .override(113, 130);
}
@@ -154,8 +190,7 @@
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
- Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
- bitmap.getHeight(), Bitmap.Config.ARGB_8888);
+ Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
@@ -189,11 +224,8 @@
if (imageview == null) {
return;
}
- Glide.with(context)
- .asGif()
- .load(R.drawable.null_data_icon)//(res鎴栬�単if鐨剈rl閾炬帴)
- .diskCacheStrategy(DiskCacheStrategy.ALL)
- .listener(new RequestListener<GifDrawable>() {
+ 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;
@@ -204,8 +236,21 @@
// resource.setLoopCount(1);鎺у埗鎾斁娆℃暟
return false;
}
- })
- .into(imageview);
+ }).into(imageview);
+ }
+
+ private static void setDefaultImage(Context context, ImageView imageview, boolean userImage) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ if (userImage) {
+ imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.default_image));
+ } else {
+ imageview.setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.default_user));
+ }
+ }
+ });
+
}
--
Gitblit v1.8.0