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
}
}