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 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) => { //btnConfirm.IsSelected = false; if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim())) { 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(); }; } /// /// 加载修改参数的小弹窗 /// 保存按钮事件需要将 /// /// 回调函数 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, //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(129), Height = Application.GetRealHeight(1), BackgroundColor = 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 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 = btnCancel.Right, Y = btnLine.Y, Width = Application.GetRealWidth(135), Height = Application.GetRealHeight(43 + 1), 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); 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; //}; EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction, contentView, btnLine, btnCancel, editView, dialog, titleId); } /// /// 加载提示弹窗 /// /// /// /// 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), 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(); }; } /// /// 信息提示窗口,自动关闭 /// /// /// 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(); } /// /// 加载提示弹窗 /// /// /// 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(); }); } /// /// 场景延时设置弹窗 /// /// public void SetSceneDelayDialog(Function function,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 = function.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 = function.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 = function.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 = function.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(); function.delay = changeDelay; btn.Text = function.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; } }; } } }