From 44ba605a4e850efa757020da5fb4cf02bdf6e3ab Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 08 九月 2025 10:55:18 +0800
Subject: [PATCH] 2025年09月08日10:55:15
---
app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java | 107 ++++++++++++++++++++++++++++++++++-------------------
1 files changed, 69 insertions(+), 38 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 5343b61..a0e81c4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java
@@ -13,6 +13,7 @@
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;
@@ -48,13 +49,11 @@
* @param imageview 鏄剧ず鍥剧墖缁勪欢
*/
public static void getGeneralImage(Context context, String url, ImageView imageview) {
- if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
- return;
+ if (url.startsWith("http://") || url.startsWith("https://")) {
+ Glide.with(context).load(url).apply(getRequestOptions(false)).into(imageview);
+ } else {
+ setDefaultImage(context, imageview, true);
}
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(false))
- .into(imageview);
}
/**
@@ -66,14 +65,43 @@
* @param granularRoundedCorners 璁剧疆鍥剧墖瑙掑害
*/
public static void getGranularRoundedCornersImage(Context context, String url, ImageView imageview, GranularRoundedCorners granularRoundedCorners) {
- if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
+ 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);
+// }
}
/**
@@ -85,15 +113,17 @@
* @param roundedCorners 璁剧疆鍥剧墖瑙掑害鍊�
*/
public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners, boolean userImage) {
- if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
+ if (!(url.startsWith("http://") || url.startsWith("https://"))) {
+ setDefaultImage(context, imageview, userImage);
return;
}
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(userImage))
- .transform(new CenterCrop(), roundedCorners)//Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
+// 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);
+// }
}
/**
@@ -104,28 +134,20 @@
* @param imageview 鏄剧ず鍥剧墖缁勪欢
*/
public static void getCircleCropImage(Context context, String url, ImageView imageview, boolean userImage) {
- if (TextUtils.isEmpty(url) || !url.startsWith("http://")) {
- return;
+
+ 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);
}
- Glide.with(context)
- .load(url)
- .apply(getRequestOptions(userImage))
- .transform(new CircleCrop())
- .into(imageview);
}
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);
}
@@ -168,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();
@@ -203,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;
@@ -218,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