From f9181a9c8125136f597add7c30cb2ff508d54ba7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:34:32 +0800
Subject: [PATCH] 2024年07月25日17:33:40

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  359 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 265 insertions(+), 94 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index 7734924..151ee2f 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -11,12 +11,16 @@
 {
     public partial class PublicAssmebly
     {
+        public Button btnTip;
+
+        public int entryMaxLength = 20;
+        //public Action entrylistener;
 
         void EditParaterEvent(Button btnConfirm, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> list, EditText editText, Action<string> callBackAction,
             FrameLayout contentView, Button btnLine, Button btnCancel, FrameLayout editView, Dialog dialog, int titleId)
         {
 
-            var btnTip = new Button()
+            btnTip = new Button()
             {
                 X = editView.X,
                 Y = editView.Bottom,
@@ -151,13 +155,14 @@
 
             etParater.TextChangeEventHandler = (sender, e) =>
             {
-                if (etParater.Text.Length > 20)
+                if (System.Text.Encoding.Unicode.GetBytes(etParater.Text).Length > entryMaxLength)
                 {
-                    etParater.Text = etParater.Text.Remove(20);
+                    etParater.Text = etParater.Text.Remove(etParater.Text.Length-1);
 
 #if __ANDROID__
                     etParater.SetSelectionEnd();
 #endif
+                    //entrylistener?.Invoke();
                 }
             };
 
@@ -225,6 +230,8 @@
             };
             EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
                 contentView, btnLine, btnCancel, editView, dialog, titleId);
+
+            etParater.Foucs = true;
         }
 
         /// <summary>
@@ -243,7 +250,7 @@
         /// <param name="titleId"></param>
         /// <param name="msgId"></param>
         /// <param name="callBackAction"></param>
-        public void TipOptionMsg(int titleId, string msg, Action callBackAction)
+        public void TipOptionMsg(int titleId, string msg, Action callBackAction,int extraHeight = 0)
         {
             Dialog dialog = new Dialog()
             {
@@ -253,8 +260,8 @@
             FrameLayout contentView = new FrameLayout()
             {
                 Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(270),
-                Height = Application.GetRealHeight(140),
+                Width = Application.GetRealWidth(270 ),
+                Height = Application.GetRealHeight(140 + extraHeight),
                 BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                 BorderColor = 0x00000000,
                 BorderWidth = 0,
@@ -277,7 +284,7 @@
             Button btnMsg = new Button()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight(35),
+                Height = Application.GetRealHeight(35 + extraHeight),
                 Y = btnTitle.Bottom,
                 Width = Application.GetRealHeight(200),
                 TextAlignment = TextAlignment.Center,
@@ -290,7 +297,7 @@
 
             Button btnLine = new Button()
             {
-                Y = Application.GetRealHeight(96),
+                Y = Application.GetRealHeight(96 + extraHeight),
                 Height = Application.GetRealHeight(1),
                 Width = Application.GetRealWidth(270 / 2),
                 BackgroundColor = CSS.CSS_Color.DividingLineColor,
@@ -352,6 +359,125 @@
 
         }
 
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ず寮圭獥
+        /// </summary>
+        /// <param name="titleId"></param>
+        /// <param name="msgId"></param>
+        /// <param name="callBackAction"></param>
+        public void TipOptionMsgNotTitle(string msg, Action callBackAction, int extraHeight = 0)
+        {
+            Dialog dialog = new Dialog()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+
+            FrameLayout contentView = new FrameLayout()
+            {
+                Gravity = Gravity.Center,
+                Width = Application.GetRealWidth(270),
+                Height = Application.GetRealHeight(140 + extraHeight),
+                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+                BorderColor = 0x00000000,
+                BorderWidth = 0,
+                Radius = (uint)Application.GetMinRealAverage(10),
+            };
+            dialog.AddChidren(contentView);
+
+            Button btnMsg = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Height = Application.GetRealHeight(40 + extraHeight),
+                Y = Application.GetRealHeight(40),
+                Width = Application.GetRealHeight(200),
+                TextAlignment = TextAlignment.Center,
+                TextColor = 0xFF222222,
+                TextSize = CSS_FontSize.TextFontSize,
+                Text = msg,
+                IsMoreLines = true,
+            };
+            contentView.AddChidren(btnMsg);
+
+            Button btnLine = new Button()
+            {
+                Y = Application.GetRealHeight(96 + extraHeight),
+                Height = Application.GetRealHeight(1),
+                Width = Application.GetRealWidth(270 / 2),
+                BackgroundColor = CSS.CSS_Color.DividingLineColor,
+            };
+            contentView.AddChidren(btnLine);
+
+            Button btnCancel = new Button()
+            {
+                Y = btnLine.Bottom,
+                Width = Application.GetRealWidth(135),
+                Height = Application.GetRealHeight(43),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                //SelectedTextColor = CSS_Color.MainBackgroundColor,
+                //SelectedBackgroundColor = CSS_Color.MainColor,
+                TextID = StringId.Cancel,
+            };
+            contentView.AddChidren(btnCancel);
+
+
+            Button btnLine11 = new Button()
+            {
+                Y = btnLine.Bottom,
+                X = btnCancel.Right,
+                Width = 1,
+                Height = Application.GetRealHeight(43),
+                BackgroundColor = CSS.CSS_Color.DividingLineColor,
+
+            };
+            contentView.AddChidren(btnCancel);
+
+            Button btnConfirm = new Button()
+            {
+                X = btnLine11.Right,
+                Y = btnLine.Bottom,
+                Width = Application.GetRealWidth(135),
+                Height = Application.GetRealHeight(45),
+                TextAlignment = TextAlignment.Center,
+                //TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainColor,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                TextID = StringId.Confirm,
+            };
+            contentView.AddChidren(btnConfirm);
+            //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
+            int mRectCornerID = HDLUtils.RectCornerBottomRight;
+            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
+            dialog.Show();
+
+            //btnCancel.MouseDownEventHandler += (sender, e) =>
+            //{
+            //    btnCancel.IsSelected = true;
+            //};
+            btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                //btnCancel.IsSelected = false;
+                dialog.Close();
+            };
+            //btnConfirm.MouseDownEventHandler += (sender, e) =>
+            //{
+            //    btnConfirm.IsSelected = true;
+            //};
+            btnConfirm.MouseUpEventHandler += (sender, e) =>
+            {
+                //btnConfirm.IsSelected = false;
+                callBackAction();
+                dialog.Close();
+            };
+
+        }
+
+
+        static Dialog dialogTipMsgAutoClose;
+
         /// <summary>
         /// 淇℃伅鎻愮ず绐楀彛锛岃嚜鍔ㄥ叧闂�
         /// </summary>
@@ -359,14 +485,31 @@
         /// <param name="isWhite"></param>
         public void TipMsgAutoClose(string msg, bool isWhite, int closeTime = 1500)
         {
-            Dialog dialog = new Dialog();
+            if (dialogTipMsgAutoClose == null)
+            {
+                dialogTipMsgAutoClose = new Dialog();
+            }
+            else
+            {
+                try
+                {
+                    if (dialogTipMsgAutoClose != null)
+                    {
+                        dialogTipMsgAutoClose.Close();
+                    }
+                    dialogTipMsgAutoClose = null;
+                }
+                catch { }
+                dialogTipMsgAutoClose = new Dialog();
+
+            }
 
             FrameLayout dialogBody = new FrameLayout();
-            dialog.AddChidren(dialogBody);
+            dialogTipMsgAutoClose.AddChidren(dialogBody);
             dialogBody.MouseUpEventHandler = (sender, e) =>
             {
-                dialog.Close();
-                dialog = null;
+                dialogTipMsgAutoClose.Close();
+                dialogTipMsgAutoClose = null;
             };
 
             FrameLayout frame = new FrameLayout()
@@ -378,11 +521,11 @@
                 BackgroundColor = isWhite ? 0xE6FFFFFF : CSS_Color.DialogTransparentColor1,
                 Radius = (uint)Application.GetRealWidth(12),
             };
-            dialog.AddChidren(frame);
+            dialogTipMsgAutoClose.AddChidren(frame);
             frame.MouseUpEventHandler = (sender, e) =>
             {
-                dialog.Close();
-                dialog = null;
+                dialogTipMsgAutoClose.Close();
+                dialogTipMsgAutoClose = null;
             };
 
             Button btnTipIcon = new Button()
@@ -407,17 +550,22 @@
             };
             frame.AddChidren(btnTipMsg);
 
-            dialog.Show();
+            dialogTipMsgAutoClose.Show();
 
             new Thread(() =>
             {
                 Thread.Sleep(closeTime);
                 Application.RunOnMainThread(() =>
                 {
-                    if(dialog!=null)
+                    try
                     {
-                        dialog.Close();
+                        if (dialogTipMsgAutoClose != null)
+                        {
+                            dialogTipMsgAutoClose.Close();
+                        }
+                        dialogTipMsgAutoClose = null;
                     }
+                    catch { }
                 });
             })
             { IsBackground = true }.Start();
@@ -428,86 +576,105 @@
         /// <param name="title"></param>
         /// <param name="msg"></param>
         /// <param name="action"></param>
-        public void TipMsg(string title, string msg, Action action = null)
+        public void TipMsg(string title, string msg, Action action = null,bool again = true)
         {
-
-            Dialog dialog = new Dialog()
+            try
             {
-                BackgroundColor = CSS_Color.DialogTransparentColor1,
-            };
+                Dialog dialog = new Dialog()
+                {
+                    BackgroundColor = CSS_Color.DialogTransparentColor1,
+                };
 
-            FrameLayout contentView = new FrameLayout()
+                FrameLayout contentView = new FrameLayout()
+                {
+                    Gravity = Gravity.Center,
+                    Width = Application.GetRealWidth(270),
+                    Height = Application.GetRealHeight(140),
+                    BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+                    BorderColor = 0x00000000,
+                    BorderWidth = 0,
+                    Radius = (uint)Application.GetMinRealAverage(10),
+                };
+                dialog.AddChidren(contentView);
+
+                Button btnTitle = new Button()
+                {
+                    Y = Application.GetRealHeight(16),
+                    Height = Application.GetRealHeight(30),
+                    TextColor = CSS_Color.MainColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextAlignment = TextAlignment.Center,
+                    IsBold = true,
+                    Text = title
+                };
+                contentView.AddChidren(btnTitle);
+
+                Button btnMsg = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Height = Application.GetRealHeight(35),
+                    Y = btnTitle.Bottom,
+                    Width = Application.GetRealHeight(200),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.TextualColor,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                    Text = msg,
+                    IsMoreLines = true,
+                };
+                contentView.AddChidren(btnMsg);
+
+                Button btnLine = new Button()
+                {
+                    Y = Application.GetRealHeight(96),
+                    Height = Application.GetRealHeight(1),
+                    BackgroundColor = CSS.CSS_Color.DividingLineColor,
+                };
+                contentView.AddChidren(btnLine);
+
+                Button btnConfirm = new Button()
+                {
+                    Y = btnLine.Bottom,
+                    Height = Application.GetRealHeight(43),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.TextualColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    SelectedTextColor = CSS_Color.MainBackgroundColor,
+                    SelectedBackgroundColor = CSS_Color.MainColor,
+                    TextID = StringId.Confirm,
+                };
+                contentView.AddChidren(btnConfirm);
+
+                dialog.Show();
+
+                btnConfirm.MouseDownEventHandler += (sender, e) =>
+                {
+                    btnConfirm.IsSelected = true;
+                };
+                btnConfirm.MouseUpEventHandler += (sender, e) =>
+                {
+                    btnConfirm.IsSelected = false;
+                    action?.Invoke();
+                    dialog.Close();
+                };
+            }catch(Exception ex)
             {
-                Gravity = Gravity.Center,
-                Width = Application.GetRealWidth(270),
-                Height = Application.GetRealHeight(140),
-                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
-                BorderColor = 0x00000000,
-                BorderWidth = 0,
-                Radius = (uint)Application.GetMinRealAverage(10),
-            };
-            dialog.AddChidren(contentView);
-
-            Button btnTitle = new Button()
+                MainPage.Log($"lc add fail:{ex.Message}");
+                if (again)
+                {
+                    new System.Threading.Thread(() =>
+                    {
+                        System.Threading.Thread.Sleep(500);
+                        Application.RunOnMainThread(() =>
+                        {
+                            TipMsg(title, msg, action, false);
+                        });
+                    }).Start() ;
+                }
+            }
+            finally
             {
-                Y = Application.GetRealHeight(16),
-                Height = Application.GetRealHeight(30),
-                TextColor = CSS_Color.MainColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                TextAlignment = TextAlignment.Center,
-                IsBold = true,
-                Text = title
-            };
-            contentView.AddChidren(btnTitle);
-
-            Button btnMsg = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Height = Application.GetRealHeight(35),
-                Y = btnTitle.Bottom,
-                Width = Application.GetRealHeight(200),
-                TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = msg,
-                IsMoreLines = true,
-            };
-            contentView.AddChidren(btnMsg);
-
-            Button btnLine = new Button()
-            {
-                Y = Application.GetRealHeight(96),
-                Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS.CSS_Color.DividingLineColor,
-            };
-            contentView.AddChidren(btnLine);
-
-            Button btnConfirm = new Button()
-            {
-                Y = btnLine.Bottom,
-                Height = Application.GetRealHeight(43),
-                TextAlignment = TextAlignment.Center,
-                TextColor = CSS_Color.TextualColor,
-                TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
-                TextID = StringId.Confirm,
-            };
-            contentView.AddChidren(btnConfirm);
-
-            dialog.Show();
-
-            btnConfirm.MouseDownEventHandler += (sender, e) =>
-            {
-                btnConfirm.IsSelected = true;
-            };
-            btnConfirm.MouseUpEventHandler += (sender, e) =>
-            {
-                btnConfirm.IsSelected = false;
-                action?.Invoke();
-                dialog.Close();
-            };
-
+                
+            }
         }
 
 
@@ -610,9 +777,13 @@
                 sRange.Add(i);
             }
             sRange.Add(60);
+
+            int curValus = 0;
+            int.TryParse(curItemKey, out curValus);
+
             BottomTimeSelectControl timeControl = new BottomTimeSelectControl(mRange, sRange, 5, Language.StringByID(StringId.SceneDelay));
             timeControl.RowHeight = Application.GetRealHeight(50);
-            timeControl.InitControl(0, 0, 262, false);
+            timeControl.InitControl(curValus / 60, curValus % 60, 262, false);
             //timeControl.ChangePickerEvent2();
             timeControl.FinishEvent = (type, hours, min) =>
             {

--
Gitblit v1.8.0