From adc150efb13a0506f45a3c344c3ee2ef2dba8e90 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 01 七月 2021 15:19:13 +0800 Subject: [PATCH] 合并嘉乐lc代码 --- HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs | 229 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 229 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs new file mode 100644 index 0000000..a8d8520 --- /dev/null +++ b/HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs @@ -0,0 +1,229 @@ +锘� +using System; +using Shared; +using HDL_ON.UI.CSS; + +namespace HDL_ON.UI +{ + /// <summary> + /// 閫氱敤浜屾纭鐣岄潰 + /// 鍙互鑷畾涔夋寜閽枃瀛椼�佹彁绀哄唴瀹规敮鎸佸琛屾樉绀� + /// </summary> + public class ConfirmDialog : Dialog + { + /// bodyView + /// </summary> + FrameLayout bodyView; + /// <summary> + /// 鏄惁鍔犺浇鎶ヨ棰滆壊绐楀彛(绾㈣壊) + /// </summary> + bool isAlarmColor = false; + + /// <summary> + /// + /// </summary> + public ConfirmDialog() + { + + } + /// <summary> + /// + /// </summary> + public ConfirmDialog(bool isAlarmColor) + { + this.isAlarmColor = isAlarmColor; + } + + /// <summary> + /// 鍒濆鍖朌ialog + /// </summary> + /// <param name="titleStr"></param> + /// <param name="msgStr"></param> + /// <param name="okAction"></param> + /// <param name="cancelAction"></param> + /// <param name="cancelID"></param> + /// <param name="confirmID"></param> + void ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm) + { + this.BackgroundColor = CSS_Color.DialogTransparentColor1; + + if (bodyView != null && bodyView.Parent != null) + { + bodyView.RemoveFromParent(); + } + + bodyView = new FrameLayout(); + this.AddChidren(bodyView); + + FrameLayout contentView = new FrameLayout() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(140), + BackgroundColor = CSS_Color.MainBackgroundColor, + BorderColor = 0x00000000, + BorderWidth = 0, + Radius = (uint)Application.GetMinRealAverage(10), + }; + bodyView.AddChidren(contentView); + + Button btnTitle = new Button() + { + Y = Application.GetRealHeight(20), + Height = Application.GetRealHeight(22), + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextAlignment = TextAlignment.Center, + IsBold = true, + Text = titleStr, + }; + contentView.AddChidren(btnTitle); + int Width135 = Application.GetRealWidth(135); + //鎻愮ず鍐呭鎸夐挳 + Button btnMsg = new Button() + { + Y = btnTitle.Bottom + Application.GetRealHeight(4), + X = Application.GetRealWidth(6), + Height = Application.GetRealHeight(46), + Width = Application.GetRealWidth(258), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = msgStr, + IsMoreLines = true, + }; + contentView.AddChidren(btnMsg); + + Button btnLine = new Button() + { + Y = Application.GetRealHeight(96), + Height = Application.GetRealHeight(1), + Width = Application.GetRealWidth(270 / 2), + BackgroundColor = CSS_Color.DividingLineColor, + }; + contentView.AddChidren(btnLine); + + Button btnCancel = new Button() + { + Y = btnLine.Bottom, + Width = Width135, + Height = Application.GetRealHeight(43), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextID = cancelID, + }; + contentView.AddChidren(btnCancel); + + Button btnConfirm = new Button() + { + X = contentView.Width - Width135, + Y = btnLine.Y, + Width = Width135, + Height = Application.GetRealHeight(45), + TextAlignment = TextAlignment.Center, + //TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.MainBackgroundColor, + BackgroundColor = CSS_Color.MainColor, + TextID = confirmID, + }; + contentView.AddChidren(btnConfirm); + //渚嬶細鍙充笅鍦嗚 澶у皬涓�50 + int mRectCornerID = HDLUtils.RectCornerBottomRight; + btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); + + btnCancel.MouseUpEventHandler += (sender, e) => + { + this.Close(); + cancelAction?.Invoke(); + }; + + btnConfirm.MouseUpEventHandler += (sender, e) => + { + this.Close(); + okAction?.Invoke(); + }; + + //this.Show(); + if(isAlarmColor) + { + btnTitle.TextColor = CSS_Color.WarningColor; + btnConfirm.TextColor = CSS_Color.MainBackgroundColor; + btnConfirm.BackgroundColor = CSS_Color.WarningColor; + } + } + + /// <summary> + /// 鍔犺浇鎻愮ずDialog + /// </summary> + /// <param name="titleId"></param> + /// <param name="msgId"></param> + /// <param name="callBackAction"></param> + public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction = null) + { + this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction); + this.Show(); + } + + /// <summary> + /// 鍔犺浇鎻愮ずDialog + /// 鍙互鑷畾涔夋寜閽枃瀛� + /// </summary> + /// <param name="titleId"></param> + /// <param name="msgId"></param> + /// <param name="okAction"></param> + /// <param name="cancelAction"></param> + /// <param name="cancelID"></param> + /// <param name="confirmID"></param> + public void ShowDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID) + { + this.ShowDialogBase(Language.StringByID(titleId), Language.StringByID(msgId), okAction, cancelAction, cancelID, confirmID); + this.Show(); + } + + /// <summary> + /// 鍔犺浇鎻愮ずDialog + /// </summary> + /// <param name="titleId"></param> + /// <param name="msgId"></param> + /// <param name="callBackAction"></param> + public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction = null) + { + this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction); + this.Show(); + } + + /// <summary> + /// 鍔犺浇鎻愮ずDialog + /// 鍙互鑷畾涔夋寜閽枃瀛� + /// </summary> + /// <param name="titleStr"></param> + /// <param name="msgStr"></param> + /// <param name="okAction"></param> + /// <param name="cancelAction"></param> + /// <param name="cancelID"></param> + /// <param name="confirmID"></param> + public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID) + { + this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID); + this.Show(); + } + + /// <summary> + /// RefreshDialog 鍦―ialog娌″叧闂儏鍐典笅璋冪敤 + /// 鍙互鑷畾涔夋寜閽枃瀛� + /// </summary> + /// <param name="titleStr"></param> + /// <param name="msgStr"></param> + /// <param name="okAction"></param> + /// <param name="cancelAction"></param> + /// <param name="cancelID"></param> + /// <param name="confirmID"></param> + public void RefreshDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID) + { + this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID); + //this.Show();涓嶉渶瑕乻how + } + } +} -- Gitblit v1.8.0