From ba84a556dc93fcf75e6ec76f999344d3f96ad788 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 02 二月 2024 18:05:24 +0800 Subject: [PATCH] 2024年02月02日18:04:36 --- app/src/main/java/com/hdl/photovoltaic/utils/GlideUtils.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 47 insertions(+), 5 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..c76747d 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; @@ -96,9 +103,9 @@ private static RequestOptions getRequestOptions() { return new RequestOptions() - .placeholder(R.mipmap.ic_launcher) - .error(R.mipmap.ic_launcher) - .fallback(R.mipmap.ic_launcher); + .placeholder(R.drawable.default_user) + .error(R.drawable.default_user) + .fallback(R.drawable.default_user); // .override(113, 130); } @@ -112,7 +119,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 +130,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 +167,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