using System; using Shared; using HDL_ON; using HDL_ON.UI.CSS; namespace HDL_ON { public class HDLCommon { #region ■ 变量声明___________________________ /// /// 通用方法 /// private static HDLCommon m_Current = null; /// /// 通用方法 /// public static HDLCommon Current { get { if (m_Current == null) { m_Current = new HDLCommon(); } return m_Current; } } #endregion #region ■ Alter弹窗提示_______________________ /// /// 弹窗提示 /// /// public void ShowAlert(string mes) { new Alert("", mes, Language.StringByID(StringId.Close)).Show(); } /// /// 弹窗提示 /// /// 弹窗提示信息 /// 确认按钮事件 public void ShowActionAlert(string mes, Action okAction) { Alert alert = new Alert("", mes, Language.StringByID(StringId.Cancel), Language.StringByID(StringId.Confirm)); alert.ResultEventHandler += (sender2, e2) => { if (e2) { okAction?.Invoke(); } }; alert.Show(); } #endregion #region ■ 通用Dialog_______________________ /// /// 加载提示Dialog /// /// /// /// void ShowConfirmDialogBase(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm) { 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_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_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, TextID = cancelID, }; 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 = confirmID, }; contentView.AddChidren(btnConfirm); //例:右下圆角 大小为50 int mRectCornerID = HDLUtils.RectCornerBottomRight; btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID); dialog.Show(); btnCancel.MouseUpEventHandler += (sender, e) => { dialog.Close(); cancelAction?.Invoke(); }; btnConfirm.MouseUpEventHandler += (sender, e) => { dialog.Close(); okAction?.Invoke(); }; } /// /// 加载提示Dialog /// /// /// /// public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction = null) { ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction); } /// /// 加载提示Dialog /// 可以自定义按钮文字 /// /// /// /// /// /// /// public void ShowConfirmDialog(int titleId, int msgId, Action okAction, Action cancelAction, int cancelID, int confirmID) { ShowConfirmDialogBase(titleId, msgId, okAction, cancelAction, cancelID, confirmID); } #endregion } }