From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 15:02:30 +0800 Subject: [PATCH] Merge branch '1.2.0' --- 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