xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI0-Public/Widget/ConfirmDialog.cs
@@ -11,6 +11,14 @@
    /// </summary>
    public class ConfirmDialog : Dialog
    {
        /// bodyView
        /// </summary>
        FrameLayout bodyView;
        /// <summary>
        /// 是否加载报警颜色窗口(红色)
        /// </summary>
        bool isAlarmColor = false;
        /// <summary>
        /// 
        /// </summary>
@@ -18,12 +26,19 @@
        {
        }
        /// <summary>
        ///
        /// </summary>
        public ConfirmDialog(bool isAlarmColor)
        {
            this.isAlarmColor = isAlarmColor;
        }
        /// <summary>
        /// 初始化Dialog
        /// </summary>
        /// <param name="titleStr"></param>
        /// <param name="msgStr"></param>
        /// <param name="titleStr">标题</param>
        /// <param name="msgStr">提示信息</param>
        /// <param name="okAction"></param>
        /// <param name="cancelAction"></param>
        /// <param name="cancelID"></param>
@@ -31,6 +46,14 @@
        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()
            {
@@ -42,7 +65,7 @@
                BorderWidth = 0,
                Radius = (uint)Application.GetMinRealAverage(10),
            };
            this.AddChidren(contentView);
            bodyView.AddChidren(contentView);
            Button btnTitle = new Button()
            {
@@ -122,7 +145,13 @@
                okAction?.Invoke();
            };
            this.Show();
            //this.Show();
            if(isAlarmColor)
            {
                btnTitle.TextColor = CSS_Color.WarningColor;
                btnConfirm.TextColor = CSS_Color.MainBackgroundColor;
                btnConfirm.BackgroundColor = CSS_Color.WarningColor;
            }
        }
        /// <summary>
@@ -134,6 +163,7 @@
        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>
@@ -149,6 +179,7 @@
        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>
@@ -160,6 +191,7 @@
        public void ShowDialog(string titleStr, string msgStr, Action okAction, Action cancelAction = null)
        {
            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction);
            this.Show();
        }
        /// <summary>
@@ -175,7 +207,23 @@
        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 在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 RefreshDialog(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID, int confirmID)
        {
            this.ShowDialogBase(titleStr, msgStr, okAction, cancelAction, cancelID, confirmID);
            //this.Show();不需要show
        }
    }
}