From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新

---
 HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs |   85 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 68 insertions(+), 17 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
index 865e6dc..b753ef8 100644
--- a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
+++ b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
@@ -1,4 +1,5 @@
-锘縰sing System;
+锘�
+using System;
 using Shared;
 using HDL_ON.UI.CSS;
 
@@ -6,23 +7,38 @@
 {
     /// <summary>
     /// 閫氱敤浜屾纭鐣岄潰
-    /// 鍙互鑷畾涔夋寜閽枃瀛�
+    /// 鍙互鑷畾涔夋寜閽枃瀛椼�佹彁绀哄唴瀹规敮鎸佸琛屾樉绀�
     /// </summary>
     public class ConfirmDialog : Dialog
     {
+        /// bodyView
+        /// </summary>
+        FrameLayout bodyView;
+        /// <summary>
+        /// 鏄惁鍔犺浇鎶ヨ棰滆壊绐楀彛(绾㈣壊)
+        /// </summary>
+        bool isAlarmColor = false;
+
         /// <summary>
         /// 
         /// </summary>
         public ConfirmDialog()
         {
-           
+
+        }
+        /// <summary>
+        /// 
+        /// </summary>
+        public ConfirmDialog(bool isAlarmColor)
+        {
+            this.isAlarmColor = isAlarmColor;
         }
 
         /// <summary>
         /// 鍒濆鍖朌ialog
         /// </summary>
-        /// <param name="titleStr"></param>
-        /// <param name="msgStr"></param>
+        /// <param name="titleStr">鏍囬</param>
+        /// <param name="msgStr">鎻愮ず淇℃伅</param>
         /// <param name="okAction"></param>
         /// <param name="cancelAction"></param>
         /// <param name="cancelID"></param>
@@ -30,6 +46,14 @@
         void ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm)
         {
             this.BackgroundColor = CSS_Color.DialogTransparentColor1;
+
+            if (bodyView != null && bodyView.Parent != null)
+            {
+                bodyView.RemoveFromParent();
+            }
+
+            bodyView = new FrameLayout();
+            this.AddChidren(bodyView);
 
             FrameLayout contentView = new FrameLayout()
             {
@@ -41,12 +65,12 @@
                 BorderWidth = 0,
                 Radius = (uint)Application.GetMinRealAverage(10),
             };
-            this.AddChidren(contentView);
+            bodyView.AddChidren(contentView);
 
             Button btnTitle = new Button()
             {
-                Y = Application.GetRealHeight(16),
-                Height = Application.GetRealHeight(30),
+                Y = Application.GetRealHeight(20),
+                Height = Application.GetRealHeight(22),
                 TextColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 TextAlignment = TextAlignment.Center,
@@ -54,17 +78,19 @@
                 Text = titleStr,
             };
             contentView.AddChidren(btnTitle);
-
+            int Width135 = Application.GetRealWidth(135);
+            //鎻愮ず鍐呭鎸夐挳
             Button btnMsg = new Button()
             {
-                Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight(25),
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealHeight(200),
+                Y = btnTitle.Bottom + Application.GetRealHeight(4),
+                X = Application.GetRealWidth(6),
+                Height = Application.GetRealHeight(46),
+                Width = Application.GetRealWidth(258),
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 Text = msgStr,
+                IsMoreLines = true,
             };
             contentView.AddChidren(btnMsg);
 
@@ -80,7 +106,7 @@
             Button btnCancel = new Button()
             {
                 Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(135),
+                Width = Width135,
                 Height = Application.GetRealHeight(43),
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
@@ -91,9 +117,9 @@
 
             Button btnConfirm = new Button()
             {
-                X = btnCancel.Right,
+                X = contentView.Width - Width135,
                 Y = btnLine.Y,
-                Width = Application.GetRealWidth(135),
+                Width = Width135,
                 Height = Application.GetRealHeight(45),
                 TextAlignment = TextAlignment.Center,
                 //TextColor = CSS_Color.TextualColor,
@@ -119,7 +145,13 @@
                 okAction?.Invoke();
             };
 
-            this.Show();
+            //this.Show();
+            if(isAlarmColor)
+            {
+                btnTitle.TextColor = CSS_Color.WarningColor;
+                btnConfirm.TextColor = CSS_Color.MainBackgroundColor;
+                btnConfirm.BackgroundColor = CSS_Color.WarningColor;
+            }
         }
 
         /// <summary>
@@ -131,6 +163,7 @@
         public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction = null)
         {
             this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction);
+            this.Show();
         }
 
         /// <summary>
@@ -146,6 +179,7 @@
         public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID)
         {
             this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction, cancelID, confirmID);
+            this.Show();
         }
 
         /// <summary>
@@ -157,6 +191,7 @@
         public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction = null)
         {
             this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction);
+            this.Show();
         }
 
         /// <summary>
@@ -172,7 +207,23 @@
         public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID)
         {
             this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID);
+            this.Show();
         }
 
+        /// <summary>
+        /// RefreshDialog 鍦―ialog娌″叧闂儏鍐典笅璋冪敤
+        /// 鍙互鑷畾涔夋寜閽枃瀛�
+        /// </summary>
+        /// <param name="titleStr"></param>
+        /// <param name="msgStr"></param>
+        /// <param name="okAction"></param>
+        /// <param name="cancelAction"></param>
+        /// <param name="cancelID"></param>
+        /// <param name="confirmID"></param>
+        public void RefreshDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID)
+        {
+            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID);
+            //this.Show();涓嶉渶瑕乻how
+        }
     }
 }

--
Gitblit v1.8.0