From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 23 十二月 2020 15:51:54 +0800 Subject: [PATCH] 20201223-6 --- HDL_ON/UI/UI0-Public/PublicAssmebly.cs | 600 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 467 insertions(+), 133 deletions(-) diff --git a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs index 43c470b..4e3c6b1 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmebly.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmebly.cs @@ -1,4 +1,6 @@ 锘縰sing System; +using System.Collections.Generic; +using System.Text.RegularExpressions; using System.Threading; using HDL_ON.Entity; using HDL_ON.UI.CSS; @@ -8,12 +10,74 @@ { public partial class PublicAssmebly { + + 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() + { + 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, + }; + + btnConfirm.MouseUpEventHandler += (sender, e) => + { + var text = editText.Text.Trim(); + Regex regtest = new Regex(@"\p{Cs}"); + Match match = regtest.Match(text); + if (match.Success) + { + HDLCommon.Current.ShowAlert(Language.StringByID(StringId.CannotEnterSpecialCharacters)); + return; + } + if (string.IsNullOrEmpty(text) || list.Contains(text)) + { + //if (titleId == StringId.ModifyMemberNickname) + //{ + // return; + //} + string tipMsgString = ""; + if (string.IsNullOrEmpty(text)) + { + 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(text); + 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() { @@ -62,121 +126,101 @@ 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); + if(encryption) + { + etParater.SecureTextEntry = encryption; + } + + Button btnClear = new Button() + { + X = Application.GetRealWidth(218-25), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "Public/ClearIcon.png", + }; + editView.AddChidren(btnClear); + + btnClear.MouseUpEventHandler = (sender, e) => + { + etParater.Text = ""; + }; + + 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.MouseUpEventHandler += (sender, e) => { - btnConfirm.IsSelected = false; - //闇�瑕佹彁绀洪敊璇俊鎭湪绐楀彛寮圭獥涔嬩笂鐨� - if ((titleId == StringId.EditFloorName && etParater.Text.Trim() != editParater) || titleId == StringId.AddFloors) - { - var tipMsgString = titleId == StringId.EditFloorName ? Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist) : Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist); - - if (string.IsNullOrEmpty(etParater.Text.Trim())) - { - tipMsgString = Language.StringByID(StringId.FloorNameCannotBeEmpty); - return; - } - - 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), - Text = tipMsgString, - TextColor = CSS_Color.WarningColor, - TextSize = CSS_FontSize.TextFontSize, - }; - contentView.AddChidren(btnTip); - - return; - } - - callBackAction(etParater.Text.Trim()); - } - - if(titleId == StringId.RoomName || titleId == StringId.ChangeName || titleId == StringId.ResidenceName || titleId == StringId.UesrName) - { - if(editParater != etParater.Text.Trim()) - { - callBackAction(etParater.Text.Trim()); - } - } dialog.Close(); }; - + EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction, + contentView, btnLine, btnCancel, editView, dialog, titleId); } /// <summary> @@ -185,7 +229,7 @@ /// <param name="titleId"></param> /// <param name="msgId"></param> /// <param name="callBackAction"></param> - public void TipMsg(int titleId, int msgId, Action callBackAction) + public void TipOptionMsg(int titleId, int msgId, Action callBackAction) { Dialog dialog = new Dialog() { @@ -226,6 +270,7 @@ TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = msgId, + IsMoreLines = true, }; contentView.AddChidren(btnMsg); @@ -233,6 +278,7 @@ { Y = Application.GetRealHeight(96), Height = Application.GetRealHeight(1), + Width = Application.GetRealWidth(270 / 2), BackgroundColor = CSS.CSS_Color.DividingLineColor, }; contentView.AddChidren(btnLine); @@ -240,60 +286,52 @@ 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, 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 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.MouseDownEventHandler += (sender, e) => + //{ + // btnCancel.IsSelected = true; + //}; btnCancel.MouseUpEventHandler += (sender, e) => { - btnCancel.IsSelected = false; + //btnCancel.IsSelected = false; dialog.Close(); }; - btnConfirm.MouseDownEventHandler += (sender, e) => - { - btnConfirm.IsSelected = true; - }; + //btnConfirm.MouseDownEventHandler += (sender, e) => + //{ + // btnConfirm.IsSelected = true; + //}; btnConfirm.MouseUpEventHandler += (sender, e) => { - btnConfirm.IsSelected = false; + //btnConfirm.IsSelected = false; callBackAction(); dialog.Close(); }; @@ -305,22 +343,33 @@ /// </summary> /// <param name="msg"></param> /// <param name="isWhite"></param> - public void TipMsgAutoClose(string msg,bool isWhite) + public void TipMsgAutoClose(string msg, bool isWhite, int closeTime = 1500) { - Dialog dialog = new Dialog() + 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), - }; - - FrameLayout frame = new FrameLayout() - { 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() { @@ -340,18 +389,24 @@ TextSize = CSS_FontSize.TextFontSize, TextColor = isWhite ? CSS_Color.FirstLevelTitleColor : CSS_Color.MainBackgroundColor, Text = msg, + IsMoreLines = true, }; frame.AddChidren(btnTipMsg); dialog.Show(); - new Thread(() => { - Thread.Sleep(1500); + new Thread(() => + { + Thread.Sleep(closeTime); Application.RunOnMainThread(() => { - dialog.Close(); + if(dialog!=null) + { + dialog.Close(); + } }); - }) { IsBackground = true }.Start(); + }) + { IsBackground = true }.Start(); } /// <summary> @@ -359,7 +414,7 @@ /// </summary> /// <param name="titleId"></param> /// <param name="msgId"></param> - public void TipMsg(int titleId, int msgId) + public void TipMsg(int titleId, int msgId,Action action = null) { Dialog dialog = new Dialog() { @@ -400,6 +455,7 @@ TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextID = msgId, + IsMoreLines = true, }; contentView.AddChidren(btnMsg); @@ -433,6 +489,7 @@ btnConfirm.MouseUpEventHandler += (sender, e) => { btnConfirm.IsSelected = false; + action?.Invoke(); dialog.Close(); }; @@ -458,6 +515,283 @@ 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(Action<string> action,string changeDelay) + { + Button lastButton = new Button(); + 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() + { + X = Application.GetRealWidth(160), + Width = Application.GetRealWidth(160), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.Confirm, + }; + 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 = changeDelay == "30" + }; + 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 = changeDelay == "60" + }; + 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 = changeDelay == "120" + }; + 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 = changeDelay == "300" + }; + optionBaseView.AddChidren(btn4); + + + + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + btnConfrim.MouseUpEventHandler = (sender, e) => + { + action(changeDelay); + dialog.Close(); + }; + 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