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