From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1

---
 HDL_ON/UI/UI0-Public/PublicAssmebly.cs |  903 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 580 insertions(+), 323 deletions(-)

diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
index b05407d..70ba919 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -1,245 +1,79 @@
 锘縰sing System;
+using System.Collections.Generic;
+using System.Threading;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Shared;
 
 namespace HDL_ON.UI
 {
-    public class PublicAssmebly
+    public partial class PublicAssmebly
     {
-        /// <summary>
-        /// 鍚慺ramelayout娣诲姞椤堕儴鍖哄煙
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="tilte"></param>
-        public void LoadTopView(FrameLayout frame, string tilte)
+
+        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)
         {
-            FrameLayout view = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(64),
-                BackgroundColor = CSS_Color.TopViewColor,
-            };
-            frame.AddChidren(view);
 
-            Button btnBack = new Button()
+            var btnTip = new Button()
             {
-                X = Application.GetRealWidth(10),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetRealWidth(40),
-                Height = Application.GetRealHeight(28),
-                UnSelectedImagePath = "Public/BackIcon.png",
-            };
-            frame.AddChidren(btnBack);
-            btnBack.MouseUpEventHandler += (sender, e) =>
-            {
-                frame.RemoveFromParent();
+                X = editView.X,
+                Y = editView.Bottom,
+                Width = Application.GetRealWidth(182),
+                Height = Application.GetRealHeight(30),
+                TextColor = CSS_Color.WarningColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsMoreLines = true,
+                TextAlignment = TextAlignment.CenterLeft,
             };
 
-            Button btnTilte = new Button()
+            btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(30),
-                Width = Application.GetRealWidth(150),
-                Height = Application.GetRealHeight(25),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.HeadlineFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = tilte
-            };
-            frame.AddChidren(btnTilte);
-        }
-
-        /// <summary>
-        /// 鍚慸ialog娣诲姞椤堕儴鍖哄煙
-        /// </summary>
-        /// <param name="dialog"></param>
-        /// <param name="frame"></param>
-        /// <param name="tilte"></param>
-        public void LoadTopView(Dialog dialog, FrameLayout frame, string tilte)
-        {
-            FrameLayout view = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(64),
-                BackgroundColor = CSS_Color.TopViewColor,
-            };
-            frame.AddChidren(view);
-
-            Button btnBack = new Button()
-            {
-                X = Application.GetRealWidth(10),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetRealWidth(40),
-                Height = Application.GetRealHeight(28),
-                UnSelectedImagePath = "Public/BackIcon.png",
-            };
-            frame.AddChidren(btnBack);
-            btnBack.MouseUpEventHandler += (sender, e) =>
-            {
-                dialog.Close();
-            };
-
-            Button btnTilte = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(30),
-                Width = Application.GetRealWidth(150),
-                Height = Application.GetRealHeight(25),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.HeadlineFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = tilte
-            };
-            frame.AddChidren(btnTilte);
-        }
-
-        /// <summary>
-        /// 鍚慺ramelayout娣诲姞椤堕儴鍖哄煙,鎷ユ湁鍔熻兘閰嶇疆鎸夐挳
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="tilte"></param>
-        public void LoadTopView(FrameLayout frame, string tilte,Function function)
-        {
-            FrameLayout view = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(64),
-                BackgroundColor = CSS_Color.TopViewColor,
-            };
-            frame.AddChidren(view);
-
-            Button btnBack = new Button()
-            {
-                X = Application.GetRealWidth(10),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetRealWidth(40),
-                Height = Application.GetRealHeight(28),
-                UnSelectedImagePath = "Public/BackIcon.png",
-            };
-            frame.AddChidren(btnBack);
-            btnBack.MouseUpEventHandler += (sender, e) =>
-            {
-                frame.RemoveFromParent();
-            };
-
-            Button btnTilte = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(30),
-                Width = Application.GetRealWidth(150),
-                Height = Application.GetRealHeight(25),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.HeadlineFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = tilte
-            };
-            frame.AddChidren(btnTilte);
-
-            var btnSetting = new Button()
-            {
-                X = Application.GetRealWidth(337),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetMinRealAverage(28),
-                Height = Application.GetMinRealAverage(28),
-                UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
-            };
-            frame.AddChidren(btnSetting);
-
-            btnSetting.MouseUpEventHandler += (sender, e) => {
-                var infoView = new FunctionBaseInfoSetPage(function);
-                MainPage.BasePageView.AddChidren(infoView);
-                infoView.LoadPage();
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
-        }
-
-
-        /// <summary>
-        /// 鍚慺ramelayout娣诲姞椤堕儴鍖哄煙,鎷ユ湁鍔熻兘閰嶇疆鎸夐挳
-        /// </summary>
-        /// <param name="frame"></param>
-        /// <param name="tilte"></param>
-        public void LoadTopView(FrameLayout frame, string tilte, string type,Action<string,string> callBack)
-        {
-            FrameLayout view = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(64),
-                BackgroundColor = CSS_Color.TopViewColor,
-            };
-            frame.AddChidren(view);
-
-            Button btnBack = new Button()
-            {
-                X = Application.GetRealWidth(10),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetRealWidth(40),
-                Height = Application.GetRealHeight(28),
-                UnSelectedImagePath = "Public/BackIcon.png",
-            };
-            frame.AddChidren(btnBack);
-            btnBack.MouseUpEventHandler += (sender, e) =>
-            {
-                frame.RemoveFromParent();
-            };
-
-            Button btnTilte = new Button()
-            {
-                Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(30),
-                Width = Application.GetRealWidth(150),
-                Height = Application.GetRealHeight(25),
-                TextAlignment = TextAlignment.Center,
-                TextSize = CSS_FontSize.HeadlineFontSize,
-                TextColor = CSS_Color.FirstLevelTitleColor,
-                Text = tilte
-            };
-            frame.AddChidren(btnTilte);
-
-            var btnAddIcon = new Button()
-            {
-                X = Application.GetRealWidth(337),
-                Y = Application.GetRealHeight(29),
-                Width = Application.GetMinRealAverage(28),
-                Height = Application.GetMinRealAverage(28),
-                UnSelectedImagePath = "Public/AddIcon.png",
-            };
-            frame.AddChidren(btnAddIcon);
-
-            btnAddIcon.MouseUpEventHandler += (sender, e) => {
-                switch (type)
+                //btnConfirm.IsSelected = false;
+                if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim()))
                 {
-                    case "floors":
-                        Action<string> callBackAction = (floorName) =>
-                        {
-                            if (DB_ResidenceData.residenceData.floors.Contains(floorName))
-                            {
-                                return;
-                            }
-                            else
-                            {
-                                DB_ResidenceData.residenceData.floors.Add(floorName);
-                                DB_ResidenceData.residenceData.SaveResidenceData();
-                                callBack("add", floorName);
-                            }
-                        };
-                        LoadDialog_EditParater(StringId.AddFloors, DB_ResidenceData.residenceData.floors.Count + 1 + " F", callBackAction);
-                        break;
-                    case "rooms":
-                        callBack("", "");
-                        break;
+                    if (titleId == StringId.ModifyMemberNickname)
+                    {
+                        return;
+                    }
+                    string tipMsgString = "";
+                    if (string.IsNullOrEmpty(editText.Text.Trim()))
+                    {
+                        tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
+                    }
+                    else
+                    {
+                        tipMsgString = Language.StringByID(errorId_ContainsPar);
+                    }
+
+                    contentView.Height = Application.GetRealHeight(183);
+                    btnLine.Y = Application.GetRealHeight(139);
+                    btnCancel.Y = btnLine.Bottom;
+                    btnConfirm.Y = btnLine.Bottom;
+
+                    btnTip.Text = tipMsgString;
+
+                    contentView.AddChidren(btnTip);
+
+                    return;
                 }
 
+
+                callBackAction(editText.Text.Trim());
+                dialog.Close();
             };
         }
 
 
         /// <summary>
         /// 鍔犺浇淇敼鍙傛暟鐨勫皬寮圭獥
+        /// 淇濆瓨鎸夐挳浜嬩欢闇�瑕佸皢
         /// </summary>
         /// <param name="callBackAction">鍥炶皟鍑芥暟</param>
-        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction)
+        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false)
         {
             Dialog dialog = new Dialog()
             {
-                BackgroundColor = 0x99000000,
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
             };
 
             FrameLayout contentView = new FrameLayout()
@@ -284,111 +118,89 @@
                 X = Application.GetRealWidth(12),
                 Width = Application.GetRealWidth(182),
                 Text = editParater,
-                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
-                TextSize = CSS.CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                SecureTextEntry = encryption,
+                //TextAlignment = TextAlignment.CenterLeft ,
             };
             editView.AddChidren(etParater);
 
+            etParater.TextChangeEventHandler = (sender, e) =>
+            {
+                if (etParater.Text.Length > 20)
+                {
+                    etParater.Text = etParater.Text.Remove(20);
+
+#if __ANDROID__
+                    etParater.SetSelectionEnd();
+#endif
+                }
+            };
+
             Button btnLine = new Button()
             {
-                Y = Application.GetRealHeight(128),
+                Y = Application.GetRealHeight(129),
                 Height = Application.GetRealHeight(1),
-                BackgroundColor = CSS.CSS_Color.DividingLineColor,
+                BackgroundColor = CSS_Color.DividingLineColor,
             };
             contentView.AddChidren(btnLine);
 
             Button btnCancel = new Button()
             {
                 Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(134),
+                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,
+                //SelectedTextColor = CSS_Color.MainBackgroundColor,
+                //SelectedBackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Cancel,
             };
             contentView.AddChidren(btnCancel);
 
-            Button btnBottomLine = new Button()
-            {
-                X = btnCancel.Right,
-                Y = btnLine.Bottom,
-                Height = Application.GetRealHeight(43),
-                Width = Application.GetRealWidth(1),
-                BackgroundColor = CSS_Color.DividingLineColor,
-            };
-            contentView.AddChidren(btnBottomLine);
+            //Button btnBottomLine = new Button()
+            //{
+            //    X = btnCancel.Right,
+            //    Y = btnLine.Bottom,
+            //    Height = Application.GetRealHeight(43),
+            //    Width = Application.GetRealWidth(1),
+            //    BackgroundColor = CSS_Color.DividingLineColor,
+            //};
+            //contentView.AddChidren(btnBottomLine);
 
             Button btnConfirm = new Button()
             {
-                X = btnBottomLine.Right,
-                Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(135),
-                Height = Application.GetRealHeight(43),
+                X = btnCancel.Right,
+                Y = btnLine.Y,
+                Width = Application.GetRealWidth(137),
+                Height = Application.GetRealHeight(43 + 1),
                 TextAlignment = TextAlignment.Center,
-                TextColor = CSS.CSS_Color.TextualColor,
+                //TextColor = CSS_Color.TextualColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
-                SelectedTextColor = CSS_Color.MainBackgroundColor,
-                SelectedBackgroundColor = CSS_Color.MainColor,
+                TextColor = CSS_Color.MainBackgroundColor,
+                BackgroundColor = CSS_Color.MainColor,
                 TextID = StringId.Confirm,
             };
             contentView.AddChidren(btnConfirm);
+            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) =>
+            //btnCancel.MouseDownEventHandler += (sender, e) => {
+            //    btnCancel.IsSelected = true;
+            //};
+            btnCancel.MouseUpEventHandler += (sender, e) =>
             {
-                btnConfirm.IsSelected = false;
-                if ((titleId == StringId.EditFloorName && etParater.Text.Trim() != editParater) || titleId == StringId.AddFloors)
-                {
-                    if (DB_ResidenceData.residenceData.floors.Contains(etParater.Text.Trim()))
-                    {
-                        contentView.Height = Application.GetRealHeight(183);
-                        btnLine.Y = Application.GetRealHeight(139);
-                        btnBottomLine.Y = btnLine.Bottom;
-                        btnCancel.Y = btnLine.Bottom;
-                        btnConfirm.Y = btnLine.Bottom;
-
-
-                        var btnTip = new Button()
-                        {
-                            X = editView.X,
-                            Y = editView.Bottom,
-                            Width = Application.GetRealWidth(182),
-                            Height = Application.GetRealHeight(30),
-                            TextID = StringId.AddFloorFailed_FloorAlreadyExist,
-                            TextColor = CSS_Color.WarningColor,
-                            TextSize = CSS_FontSize.TextFontSize,
-                        };
-                        contentView.AddChidren(btnTip);
-                        return;
-                    }
-
-                    callBackAction(etParater.Text.Trim());
-                }
-
-                if(titleId == StringId.RoomName)
-                {
-                    if(editParater != etParater.Text.Trim())
-                    {
-                        callBackAction(etParater.Text.Trim());
-                    }
-                }
+                //btnCancel.IsSelected = false;
                 dialog.Close();
             };
-
+            //btnConfirm.MouseDownEventHandler += (sender, e) => {
+            //    btnConfirm.IsSelected = true;
+            //};
+            EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
+                contentView, btnLine, btnCancel, editView, dialog, titleId);
         }
 
         /// <summary>
@@ -401,7 +213,190 @@
         {
             Dialog dialog = new Dialog()
             {
-                BackgroundColor = 0x99000000,
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+
+            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,
+                TextID = titleId,
+            };
+            contentView.AddChidren(btnTitle);
+
+            Button btnMsg = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Height = Application.GetRealHeight(25),
+                Y = btnTitle.Bottom,
+                Width = Application.GetRealHeight(200),
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                TextID = msgId,
+            };
+            contentView.AddChidren(btnMsg);
+
+            Button btnLine = new Button()
+            {
+                Y = Application.GetRealHeight(96),
+                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 btnConfirm = new Button()
+            {
+                X = btnCancel.Right,
+                Y = btnLine.Y,
+                Width = Application.GetRealWidth(135),
+                Height = Application.GetRealHeight(45),
+                TextAlignment = TextAlignment.Center,
+                //TextColor = CSS_Color.TextualColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                BackgroundColor = CSS_Color.MainColor,
+                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();
+            };
+
+        }
+
+        /// <summary>
+        /// 淇℃伅鎻愮ず绐楀彛锛岃嚜鍔ㄥ叧闂�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <param name="isWhite"></param>
+        public void TipMsgAutoClose(string msg, bool isWhite, int closeTime = 1500)
+        {
+            Dialog dialog = new Dialog();
+
+            FrameLayout dialogBody = new FrameLayout();
+            dialog.AddChidren(dialogBody);
+            dialogBody.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                dialog = null;
+            };
+
+            FrameLayout frame = new FrameLayout()
+            {
+                X = Application.GetRealWidth(89),
+                Y = Application.GetRealHeight(285),
+                Width = Application.GetRealWidth(198),
+                Height = Application.GetRealHeight(98),
+                BackgroundColor = isWhite ? 0xE6FFFFFF : CSS_Color.DialogTransparentColor1,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            dialog.AddChidren(frame);
+            frame.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                dialog = null;
+            };
+
+            Button btnTipIcon = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(15),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = isWhite ? "Public/MsgIcon/TipIconBlack.png" : "Public/MsgIcon/TipIconWhite.png",
+            };
+            frame.AddChidren(btnTipIcon);
+
+            Button btnTipMsg = new Button()
+            {
+                Y = Application.GetRealHeight(47),
+                Height = Application.GetRealHeight(50),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = isWhite ? CSS_Color.FirstLevelTitleColor : CSS_Color.MainBackgroundColor,
+                Text = msg,
+            };
+            frame.AddChidren(btnTipMsg);
+
+            dialog.Show();
+
+            new Thread(() =>
+            {
+                Thread.Sleep(closeTime);
+                Application.RunOnMainThread(() =>
+                {
+                    if(dialog!=null)
+                    {
+                        dialog.Close();
+                    }
+                });
+            })
+            { IsBackground = true }.Start();
+        }
+
+        /// <summary>
+        /// 鍔犺浇鎻愮ず寮圭獥
+        /// </summary>
+        /// <param name="titleId"></param>
+        /// <param name="msgId"></param>
+        public void TipMsg(int titleId, int msgId)
+        {
+            Dialog dialog = new Dialog()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
             };
 
             FrameLayout contentView = new FrameLayout()
@@ -449,35 +444,9 @@
             };
             contentView.AddChidren(btnLine);
 
-            Button btnCancel = new Button()
-            {
-                Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(134),
-                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 btnBottomLine = new Button()
-            {
-                X = btnCancel.Right,
-                Y = btnLine.Bottom,
-                Height = Application.GetRealHeight(43),
-                Width = Application.GetRealWidth(1),
-                BackgroundColor = CSS_Color.DividingLineColor,
-            };
-            contentView.AddChidren(btnBottomLine);
-
             Button btnConfirm = new Button()
             {
-                X = btnBottomLine.Right,
                 Y = btnLine.Bottom,
-                Width = Application.GetRealWidth(135),
                 Height = Application.GetRealHeight(43),
                 TextAlignment = TextAlignment.Center,
                 TextColor = CSS_Color.TextualColor,
@@ -490,15 +459,6 @@
 
             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;
@@ -506,13 +466,310 @@
             btnConfirm.MouseUpEventHandler += (sender, e) =>
             {
                 btnConfirm.IsSelected = false;
-                callBackAction();
                 dialog.Close();
             };
 
         }
 
+        /// <summary>
+        /// 鍔犺浇绛夊緟鐣岄潰
+        /// </summary>
+        public void LoadPage_WaitPage(Thread thread, FrameLayout bodyView, Loading waitPage)
+        {
+            bodyView.AddChidren(waitPage);
+            waitPage.Start(Language.StringByID(StringId.PleaseWait));
+            var showedTime = DateTime.Now;
+            //濡傛灉绛夊緟浜嬩欢杩囬暱锛屽彲浠ュ厑璁哥敤鎴峰彇娑堝綋鍓嶆搷浣�
+            waitPage.MouseUpEventHandler += (sender, e) =>
+            {
+                if (showedTime.AddSeconds(30) > DateTime.Now)
+                {
+                    thread.Abort();
+                    waitPage.RemoveFromParent();
+                }
+            };
+            thread.Start();
+        }
 
+        /// <summary>
+        /// 鍔犺浇鏄剧ず绛夊緟绐楀彛
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns>杩斿洖鍏抽棴绐楀彛Action</returns>
+        public Action TipLoadingMsgDialog(string msg)
+        {
+            Dialog dialog = new Dialog()
+            {
+                X = Application.GetRealWidth(89),
+                Y = Application.GetRealHeight(285),
+                Width = Application.GetRealWidth(198),
+                Height = Application.GetRealHeight(98),
+            };
+
+            FrameLayout frame = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            dialog.AddChidren(frame);
+
+            Button btnTipIcon = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealHeight(15),
+                Width = Application.GetRealWidth(32),
+                Height = Application.GetRealWidth(32),
+                UnSelectedImagePath = "Public/MsgIcon/LoadingIcon.png",
+            };
+            frame.AddChidren(btnTipIcon);
+
+            Button btnTipMsg = new Button()
+            {
+                Y = Application.GetRealHeight(47),
+                Height = Application.GetRealHeight(50),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextColor = CSS_Color.MainBackgroundColor,
+                Text = msg,
+            };
+            frame.AddChidren(btnTipMsg);
+
+            dialog.Show();
+            return new Action(() =>
+            {
+                dialog.Close();
+            });
+        }
+
+        /// <summary>
+        /// 鍦烘櫙寤舵椂璁剧疆寮圭獥
+        /// </summary>
+        /// <param name="function"></param>
+        public void SetSceneDelayDialog(Scene  scene,Button btn)
+        {
+            Button lastButton = new Button();
+            int changeDelay = 0;
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(439),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(208),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(50),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+
+            var btnTitle = new Button()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                TextAlignment = TextAlignment.Center,
+                Width = Application.GetRealWidth(100),
+                TextID = StringId.SceneDelay,
+                IsBold = true,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+            };
+            topView.AddChidren(btnTitle);
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                Width = Application.GetRealWidth(320),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Complete,
+            };
+            topView.AddChidren(btnConfrim);
+
+            Button btn1 = new Button()
+            {
+                Width = Application.GetRealWidth(128),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = "30s",
+                BorderColor = CSS_Color.PromptingColor1,
+                BorderWidth = 1,
+                Radius = (uint)Application.GetRealWidth(8),
+                SelectedTextColor = CSS_Color.MainBackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                X = Application.GetRealWidth(20),
+                Y = Application.GetRealHeight(80),
+                IsSelected = scene.delayText == "30s"
+            };
+            optionBaseView.AddChidren(btn1);
+
+
+            Button btn2 = new Button()
+            {
+                Width = Application.GetRealWidth(128),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = "1min",
+                BorderColor = CSS_Color.PromptingColor1,
+                BorderWidth = 1,
+                Radius = (uint)Application.GetRealWidth(8),
+                SelectedTextColor = CSS_Color.MainBackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                X = Application.GetRealWidth(195),
+                Y = Application.GetRealHeight(80),
+                IsSelected = scene.delayText == "1min"
+            };
+            optionBaseView.AddChidren(btn2);
+
+
+            Button btn3 = new Button()
+            {
+                Width = Application.GetRealWidth(128),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = "2min",
+                BorderColor = CSS_Color.PromptingColor1,
+                BorderWidth = 1,
+                Radius = (uint)Application.GetRealWidth(8),
+                SelectedTextColor = CSS_Color.MainBackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                X = Application.GetRealWidth(20),
+                Y = Application.GetRealHeight(140),
+                IsSelected = scene.delayText == "2min"
+            };
+            optionBaseView.AddChidren(btn3);
+
+
+            Button btn4 = new Button()
+            {
+                Width = Application.GetRealWidth(128),
+                Height = Application.GetRealWidth(44),
+                TextAlignment = TextAlignment.Center,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                Text = "5min",
+                BorderColor = CSS_Color.PromptingColor1,
+                BorderWidth = 1,
+                Radius = (uint)Application.GetRealWidth(8),
+                SelectedTextColor = CSS_Color.MainBackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainColor,
+                X = Application.GetRealWidth(195),
+                Y = Application.GetRealHeight(140),
+                IsSelected = scene.delayText == "5min"
+            };
+            optionBaseView.AddChidren(btn4);
+
+
+
+
+            dialog.Show();
+
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
+                dialog.Close();
+                scene.delay = changeDelay;
+                btn.Text = scene.delayText;
+            };
+            btn1.MouseUpEventHandler = (sender, e) => {
+                btn1.IsSelected = !btn1.IsSelected;
+                btn2.IsSelected = false;
+                btn3.IsSelected = false;
+                btn4.IsSelected = false;
+                if(btn1.IsSelected)
+                {
+                    changeDelay = 30;
+                }
+                else
+                {
+                    changeDelay = 0;
+                }       
+            };
+            btn2.MouseUpEventHandler = (sender, e) => {
+                btn2.IsSelected = !btn2.IsSelected;
+                btn1.IsSelected = false;
+                btn3.IsSelected = false;
+                btn4.IsSelected = false;
+                if (btn2.IsSelected)
+                {
+                    changeDelay = 60;
+                }
+                else
+                {
+                    changeDelay = 0;
+                }
+            };
+            btn3.MouseUpEventHandler = (sender, e) => {
+                btn3.IsSelected = !btn3.IsSelected;
+                btn2.IsSelected = false;
+                btn1.IsSelected = false;
+                btn4.IsSelected = false;
+                if (btn3.IsSelected)
+                {
+                    changeDelay = 120;
+                }
+                else
+                {
+                    changeDelay = 0;
+                }
+            };
+            btn4.MouseUpEventHandler = (sender, e) => {
+                btn4.IsSelected = !btn4.IsSelected;
+                btn2.IsSelected = false;
+                btn3.IsSelected = false;
+                btn1.IsSelected = false;
+                if (btn4.IsSelected)
+                {
+                    changeDelay = 300;
+                }
+                else
+                {
+                    changeDelay = 0;
+                }
+            };
+
+        }
 
     }
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0