From 90d5f028ccdaaaf64286f9d632cb335a4d0544b9 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 07 一月 2025 09:40:52 +0800
Subject: [PATCH] Merge branch '1.5.1'

---
 app/src/main/java/com/hdl/photovoltaic/widget/FlashingIconBoxDialog.java |  129 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 129 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/FlashingIconBoxDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/FlashingIconBoxDialog.java
new file mode 100644
index 0000000..b8e8d37
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/FlashingIconBoxDialog.java
@@ -0,0 +1,129 @@
+
+package com.hdl.photovoltaic.widget;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.BaseDialog;
+import com.hdl.photovoltaic.databinding.DialogFlashingIconBoxBinding;
+
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * 鑷畾涔夎嚜鍔ㄥ叧闂璬ialog
+ */
+public class FlashingIconBoxDialog extends BaseDialog {
+
+    private DialogFlashingIconBoxBinding viewBinding;
+
+    private Drawable mDrawable;
+    private String mContentStr;
+
+    private boolean mIsShow = true;
+
+    //榛樿1500姣
+    private int mMillisecond = 1500;
+
+    public FlashingIconBoxDialog(@NonNull Context context) {
+        super(context, R.style.Custom_List_Dialog);
+    }
+
+    /**
+     * @param context     涓婁笅鏂�
+     * @param millisecond 璁剧疆寤舵椂鏃堕棿鍏抽棴寮圭獥(鍗曚綅ms)
+     */
+    public FlashingIconBoxDialog(@NonNull Context context, int millisecond) {
+        this(context);
+        this.mMillisecond = millisecond;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        viewBinding = DialogFlashingIconBoxBinding.inflate(getLayoutInflater());
+        setContentView(viewBinding.getRoot());
+        if (mIsShow) {
+            viewBinding.tipImageTv.setVisibility(View.VISIBLE);
+        } else {
+            viewBinding.tipImageTv.setVisibility(View.GONE);
+        }
+        if (this.mDrawable != null) {
+            viewBinding.tipImageTv.setBackground(this.mDrawable);
+        }
+        if (!TextUtils.isEmpty(this.mContentStr)) {
+            viewBinding.tipContentTv.setText(this.mContentStr);
+        }
+        flashing();
+    }
+
+    /**
+     * 璁剧疆鍥炬爣
+     *
+     * @param drawable 鎴愬姛鎴栬�呭け璐�,鎻愮ず鍥炬爣
+     */
+    public void setImage(Drawable drawable) {
+        this.mDrawable = drawable;
+        if (viewBinding != null && this.mDrawable != null) {
+            viewBinding.tipImageTv.setBackground(drawable);
+        }
+    }
+
+    /**
+     * 璁剧疆鍥炬爣鏄惁鏄剧ず
+     *
+     * @param isShow (true=鍥炬爣,鍚﹀垯涓嶆樉绀�)
+     */
+    public void isShowImage(boolean isShow) {
+        this.mIsShow = isShow;
+        if (isShow) {
+            viewBinding.tipImageTv.setVisibility(View.VISIBLE);
+        } else {
+            viewBinding.tipImageTv.setVisibility(View.GONE);
+        }
+    }
+
+    /**
+     * 璁剧疆鎻愮ず鏂囨湰
+     *
+     * @param content 鏂囨湰
+     */
+    public void setContent(String content) {
+        this.mContentStr = content;
+        if (viewBinding != null && !TextUtils.isEmpty(content)) {
+            viewBinding.tipContentTv.setText(content);
+        }
+    }
+
+    /**
+     * 璁剧疆寤舵椂鏃堕棿鍏抽棴寮圭獥
+     *
+     * @param millisecond 鏃堕棿(鍗曚綅ms)
+     */
+    public void setDelayTime(int millisecond) {
+        this.mMillisecond = millisecond;
+    }
+
+    /**
+     * 涓夌鍚庤嚜鍔ㄥ叧闂璬ialog
+     */
+    private void flashing() {
+        //涓夌鍚庤嚜鍔ㄥ叧闂璬ialog
+        final Timer timer = new Timer();
+        timer.schedule(new TimerTask() {
+            public void run() {
+                timer.cancel();
+                dismiss();
+            }
+        }, this.mMillisecond);
+
+    }
+
+
+}

--
Gitblit v1.8.0