using System; using System.Collections.Generic; using System.Threading; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI { public partial class PublicAssmebly { void EditParaterEvent(Button btnConfirm, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List list, EditText editText, Action callBackAction, FrameLayout contentView, Button btnLine, Button btnBottomLine, Button btnCancel, FrameLayout editView, Dialog dialog) { 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) => { btnConfirm.IsSelected = false; if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim())) { 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); btnBottomLine.Y = btnLine.Bottom; btnCancel.Y = btnLine.Bottom; btnConfirm.Y = btnLine.Bottom; btnTip.Text = tipMsgString; contentView.AddChidren(btnTip); return; } callBackAction(editText.Text.Trim()); dialog.Close(); }; } /// /// 加载修改参数的小弹窗 /// 保存按钮事件需要将 /// /// 回调函数 public void LoadDialog_EditParater(int titleId, string editParater, Action callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List baseList,bool encryption = false) { Dialog dialog = new Dialog() { BackgroundColor = CSS_Color.DialogTransparentColor1, }; FrameLayout contentView = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(172), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(10), }; dialog.AddChidren(contentView); Button btnTitle = new Button() { Y = Application.GetRealHeight(10), Height = Application.GetRealHeight(42), TextColor = CSS.CSS_Color.MainColor, TextSize = CSS.CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, TextID = titleId, }; contentView.AddChidren(btnTitle); FrameLayout editView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = btnTitle.Bottom + Application.GetRealHeight(6), Width = Application.GetRealWidth(222), Height = Application.GetRealHeight(40), BackgroundColor = CSS.CSS_Color.BackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(4), }; contentView.AddChidren(editView); EditText etParater = new EditText() { X = Application.GetRealWidth(12), Width = Application.GetRealWidth(182), Text = editParater, TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, SecureTextEntry = encryption }; editView.AddChidren(etParater); etParater.TextChangeEventHandler = (sender, e) => { if(etParater.Text.Length > 20) { etParater.Text = etParater.Text.Remove(20); } }; Button btnLine = new Button() { Y = Application.GetRealHeight(128), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor, }; 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.CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, SelectedTextColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.MainColor, TextID = StringId.Confirm, }; contentView.AddChidren(btnConfirm); 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; }; EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction, contentView, btnLine, btnBottomLine, btnCancel, editView, dialog); } /// /// 加载修改参数的小弹窗 /// 保存按钮事件需要将 /// /// 回调函数 public void LoadDialog_EditParater(int titleId,int tipTitleId, string editParater, Action callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List baseList) { Dialog dialog = new Dialog() { BackgroundColor = CSS_Color.DialogTransparentColor1, }; FrameLayout contentView = new FrameLayout() { Gravity = Gravity.Center, Width = Application.GetRealWidth(270), Height = Application.GetRealHeight(192), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(10), }; dialog.AddChidren(contentView); Button btnTitle = new Button() { Y = Application.GetRealHeight(10), Height = Application.GetRealHeight(42), TextColor = CSS.CSS_Color.MainColor, TextSize = CSS.CSS_FontSize.SubheadingFontSize, TextAlignment = TextAlignment.Center, IsBold = true, TextID = titleId, }; contentView.AddChidren(btnTitle); Button btnTipTitle = new Button() { Gravity = Gravity.CenterHorizontal, Y = btnTitle.Bottom + Application.GetRealHeight(8), Width = Application.GetRealWidth(222), Height = Application.GetRealHeight(17+16), TextID = tipTitleId, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.TextualColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, }; contentView.AddChidren(btnTipTitle); FrameLayout editView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = btnTipTitle.Bottom, Width = Application.GetRealWidth(222), Height = Application.GetRealHeight(40), BackgroundColor = CSS.CSS_Color.BackgroundColor, BorderColor = 0x00000000, BorderWidth = 0, Radius = (uint)Application.GetMinRealAverage(4), }; contentView.AddChidren(editView); EditText etParater = new EditText() { X = Application.GetRealWidth(12), Width = Application.GetRealWidth(182), Text = editParater, TextColor = CSS.CSS_Color.FirstLevelTitleColor, TextSize = CSS.CSS_FontSize.TextFontSize, }; editView.AddChidren(etParater); Button btnLine = new Button() { Y = Application.GetRealHeight(153), Height = Application.GetRealHeight(1), BackgroundColor = CSS.CSS_Color.DividingLineColor, }; 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.CSS_Color.TextualColor, TextSize = CSS_FontSize.SubheadingFontSize, SelectedTextColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.MainColor, TextID = StringId.Confirm, }; contentView.AddChidren(btnConfirm); 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; }; EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction, contentView, btnLine, btnBottomLine, btnCancel, editView, dialog); //btnConfirm.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(); //}; } /// /// 加载提示弹窗 /// /// /// /// public void TipMsg(int titleId, int msgId, Action callBackAction) { Dialog dialog = new Dialog() { 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), BackgroundColor = CSS.CSS_Color.DividingLineColor, }; 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, TextSize = CSS_FontSize.SubheadingFontSize, SelectedTextColor = CSS_Color.MainBackgroundColor, SelectedBackgroundColor = CSS_Color.MainColor, TextID = StringId.Confirm, }; contentView.AddChidren(btnConfirm); 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(); }; } /// /// 信息提示窗口,自动关闭 /// /// /// public void TipMsgAutoClose(string msg,bool isWhite,int closeTime = 1500) { 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 = isWhite ? 0xE6FFFFFF : 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 = 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(() => { dialog.Close(); }); }) { IsBackground = true }.Start(); } /// /// 加载提示弹窗 /// /// /// public void TipMsg(int titleId, int msgId) { Dialog dialog = new Dialog() { 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), 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; dialog.Close(); }; } /// /// 加载等待界面 /// 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(); } /// /// 加载显示等待窗口 /// /// /// 返回关闭窗口Action 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(); }); } } }