From dee21bf452a8979d0515d13e534fbb69ed9715dd Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 01 九月 2020 15:33:13 +0800
Subject: [PATCH] 上传一个版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs |   75 +++++++++++++++++++++++++++++++------
 1 files changed, 62 insertions(+), 13 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs
index 25cbd29..af99766 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/MessageControls/ShowMsgControl.cs
@@ -15,6 +15,14 @@
         /// </summary>
         public Action ConfirmClickEvent = null;
         /// <summary>
+        /// 鐐瑰嚮鍙栨秷鐨勪簨浠�
+        /// </summary>
+        public Action CancelClickEvent = null;
+        /// <summary>
+        /// 鐐瑰嚮鑳屾櫙鏄惁鍏抽棴寮圭獥
+        /// </summary>
+        public bool CloseByClickBack = true;
+        /// <summary>
         /// 淇℃伅绫诲瀷
         /// </summary>
         private ShowMsgType msgType = ShowMsgType.Confirm;
@@ -26,6 +34,10 @@
         /// 纭鎸夐挳鐨勬枃鏈�
         /// </summary>
         private string buttonOkText = null;
+        /// <summary>
+        /// 鍙栨秷鎸夐挳鐨勬枃鏈�
+        /// </summary>
+        private string buttonCancelText = null;
         /// <summary>
         /// 鎻愮ず鎺т欢
         /// </summary>
@@ -40,11 +52,13 @@
         /// </summary>
         /// <param name="i_msgType">淇℃伅绫诲瀷</param>
         /// <param name="i_msg">淇℃伅</param>
-        /// <param name="buttonText">纭鎸夐挳鐨勬枃鏈�</param>
-        public ShowMsgControl(ShowMsgType i_msgType, string i_msg, string buttonText = null)
+        /// <param name="i_buttonOkText">纭鎸夐挳鐨勬枃鏈�</param>
+        /// <param name="i_buttonCancelText">鍙栨秷鎸夐挳鐨勬枃鏈�</param>
+        public ShowMsgControl(ShowMsgType i_msgType, string i_msg, string i_buttonOkText = null, string i_buttonCancelText = null)
         {
             //纭鎸夐挳鏂囨湰
-            this.buttonOkText = buttonText == null ? Language.StringByID(R.MyInternationalizationString.OkMsg) : buttonText;
+            this.buttonOkText = i_buttonOkText == null ? Language.StringByID(R.MyInternationalizationString.OkMsg) : i_buttonOkText;
+            this.buttonCancelText = i_buttonCancelText == null ? Language.StringByID(R.MyInternationalizationString.uCancel) : i_buttonCancelText;
             this.msgType = i_msgType;
             this.msgText = i_msg;
 
@@ -90,14 +104,18 @@
         private void InitMsgControl()
         {
             //涓绘帶浠�
-            var frameMain = new FrameLayout();
+            var frameMain = new NormalFrameLayout();
+            frameMain.MainKey = "ShowMsg";
             frameMain.BackgroundColor = UserCenterColor.Current.DialogBackColor;
             Common.CommonPage.Instance.AddChidren(frameMain);
             frameMain.MouseUpEventHandler += (sender, e) =>
             {
-                //绉婚櫎鐣岄潰
-                frameMain.RemoveFromParent();
-                this.ConfirmClickEvent = null;
+                if (this.CloseByClickBack == true)
+                {
+                    //绉婚櫎鐣岄潰
+                    frameMain.RemoveFromParent();
+                    this.ConfirmClickEvent = null;
+                }
             };
 
             //鐧借壊鑳屾櫙妗�
@@ -160,23 +178,26 @@
         /// </summary>
         /// <param name="frameMain"></param>
         /// <param name="frameBack"></param>
-        private void InitBottomConfirmButton(FrameLayout frameMain, FrameLayout frameBack)
+        private void InitBottomConfirmButton(NormalFrameLayout frameMain, FrameLayout frameBack)
         {
             //鍙栨秷鎸夐挳
             var btnCancel = new BottomLeftClickButton(Application.GetRealWidth(396), Application.GetRealHeight(127));
             frameBack.AddChidren(btnCancel);
-            btnCancel.InitControl(Language.StringByID(R.MyInternationalizationString.uCancel));
+            btnCancel.InitControl(this.buttonCancelText);
             btnCancel.ButtonClickEvent += (sender, e) =>
             {
                 //绉婚櫎鐣岄潰
                 frameMain.RemoveFromParent();
+                //鍥炶皟鍑芥暟
+                this.CancelClickEvent?.Invoke();
                 this.ConfirmClickEvent = null;
+                this.CancelClickEvent = null;
             };
 
             //纭畾鎸夐挳
             var btnConfirm = new BottomRightClickButton(frameBack.Width - btnCancel.Width, btnCancel.Height);
             frameBack.AddChidren(btnConfirm);
-            btnConfirm.InitControl(buttonOkText);
+            btnConfirm.InitControl(this.buttonOkText);
             btnConfirm.ButtonClickEvent += (sender, e) =>
             {
                 //绉婚櫎鐣岄潰
@@ -184,6 +205,7 @@
                 //鍥炶皟鍑芥暟
                 this.ConfirmClickEvent?.Invoke();
                 this.ConfirmClickEvent = null;
+                this.CancelClickEvent = null;
             };
         }
 
@@ -192,7 +214,7 @@
         /// </summary>
         /// <param name="frameMain"></param>
         /// <param name="frameBack"></param>
-        private void InitBottomNormalButton(FrameLayout frameMain, FrameLayout frameBack)
+        private void InitBottomNormalButton(NormalFrameLayout frameMain, FrameLayout frameBack)
         {
 #if Android
             //纭
@@ -206,14 +228,14 @@
             //鎶婁笂鍦嗚瑕嗙洊涓烘柟瑙�
             var btnTopTemp2 = new NormalViewControl(frameConfirm.Width, Application.GetRealHeight(35), false);
             btnTopTemp2.BackgroundColor = UserCenterColor.Current.ClickButtonDefultColor;
-            frameConfirm.AddChidren(btnTopTemp2, ChidrenBindMode.BindEventOnly);
+            frameConfirm.AddChidren(btnTopTemp2, ChidrenBindMode.BindEvent);
             //纭鎸夐挳
             var btnConfirm = new NormalViewControl(frameConfirm.Width - Application.GetRealWidth(10), Application.GetRealHeight(60), false);
             btnConfirm.Gravity = Gravity.Center;
             btnConfirm.TextColor = UserCenterColor.Current.White;
             btnConfirm.Text = buttonOkText;
             btnConfirm.TextAlignment = TextAlignment.Center;
-            frameConfirm.AddChidren(btnConfirm, ChidrenBindMode.BindEventOnly);
+            frameConfirm.AddChidren(btnConfirm, ChidrenBindMode.BindEvent);
             frameConfirm.ButtonClickEvent += (sender, e) =>
             {
                 //绉婚櫎鐣岄潰
@@ -261,5 +283,32 @@
         }
 
         #endregion
+
+        #region 鈻� 鍏抽棴寮圭獥(澶栭儴璋冪敤)_________________
+
+        /// <summary>
+        /// 鍏抽棴鍏ㄩ儴鐨勫脊绐�
+        /// </summary>
+        public static void CloseAllMsgDialog()
+        {
+            while (true)
+            {
+                var myView = Common.CommonPage.Instance.GetChildren(Common.CommonPage.Instance.ChildrenCount - 1);
+                if (myView == null) { return; }
+                if (myView is NormalFrameLayout)
+                {
+                    if (((NormalFrameLayout)myView).MainKey != "ShowMsg")
+                    {
+                        return;
+                    }
+                    //绉婚櫎
+                    myView.RemoveFromParent();
+                    continue;
+                }
+                return;
+            }
+        }
+
+        #endregion
     }
 }

--
Gitblit v1.8.0