From 3f8f1590859188c334739f76f1d64c2b6c2bfd55 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 31 十月 2024 17:01:06 +0800
Subject: [PATCH] 2024年10月31日17:01:04

---
 app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java |   87 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 70 insertions(+), 17 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..887b410 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,14 @@
      * @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 +68,44 @@
      * @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 roundedCorners 璁剧疆鍥剧墖瑙掑害鍊�
+     */
+    public static void getRoundedCornersImage(Context context, String url, ImageView imageview, RoundedCorners roundedCorners) {
+        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://")) {
         Glide.with(context)
                 .load(url)
-                .apply(getRequestOptions(false))
-                .transform(granularRoundedCorners)//new GranularRoundedCorners(30f,80f,80f,30f)
+                .apply(new RequestOptions()
+                        .placeholder(R.drawable.plant_default_picture)
+                        .error(R.drawable.plant_default_picture)
+                        .fallback(R.drawable.plant_default_picture))
+                .transform(new CenterCrop(), roundedCorners)//Glide鍔犺浇鍥剧墖鍦嗚鏁堟灉涓嶪mageView鐨凷caleType鍐茬獊闂
+//                .transform(roundedCorners)
                 .into(imageview);
+//        } else {
+//            setDefaultImage(context, imageview, userImage);
+//        }
     }
 
     /**
@@ -85,15 +117,20 @@
      * @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;
         }
+//        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,14 +141,16 @@
      * @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);
     }
 
 
@@ -222,5 +261,19 @@
                 .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