wxr
2023-06-06 592974441a4df95fffd9167c90192da1a390b1c2
HDL_ON/UI/UI2/FuntionControlView/Video/View/ShowDialog.cs
@@ -1,23 +1,49 @@
using System;
using HDL_ON.UI.CSS;
using HDL_ON.UI.Music;
using Shared;
namespace HDL_ON.UI.UI2.FuntionControlView.Video.View
{
    public class ShowDialog
    {
        private static ShowDialog showDialog;
        public static ShowDialog Currnet
        {
            get
            {
                if (showDialog == null)
                {
                    showDialog = new ShowDialog();
                }
                return showDialog;
            }
        }
        public Dialog dialog;
        /// <summary>
        /// 
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="action1">回调函数</param>
        /// <param name="action2">回调函数</param>
        public void ClickBox(string title, Action<Dialog> action1, Action<Dialog> action2)
        /// <param name="jieTingAction">回调函数</param>
        /// <param name="guanBiAction">回调函数</param>
        public void ClickBox(string title, Action<Dialog> jieTingAction, Action<Dialog> guanBiAction)
        {
            Dialog dialog = new Dialog()
            if (dialog != null)
            {
                //防止二重界面
                dialog.Close();
            }
            dialog = new Dialog()
            {
                BackgroundColor = MusicColor.PopupBackgroundColor,
            };
            FrameLayout whiteView = new FrameLayout()
            {
                X = Application.GetRealWidth(56),
@@ -50,7 +76,7 @@
                TextColor = MusicColor.TextColor,
                TextSize = TextSize.Text16,
                TextAlignment = TextAlignment.CenterLeft,
                Text = "来自“围墙机”呼叫",
                Text = title,
            };
            whiteView.AddChidren(btnTitle);
@@ -77,14 +103,135 @@
            guaduanIconBtn.MouseUpEventHandler += (sender, e) =>
            {
                action1(dialog);
                guanBiAction(dialog);
            };
            jietingIconBtn.MouseUpEventHandler += (sender, e) =>
            {
                action2(dialog);
                jieTingAction(dialog);
            };
        }
        /// <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 ShowDialogBase(string titleStr, string msgStr, Action okAction, Action cancelAction, int cancelID = StringId.Cancel, int confirmID = StringId.Confirm, bool isAlarmColor = false)
        {
            if (dialog != null)
            {
                //防止二重界面
                dialog.Close();
            }
            dialog = new Dialog()
            {
                BackgroundColor = MusicColor.PopupBackgroundColor,
            };
            var bodyView = new FrameLayout();
            dialog.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) =>
            {
                dialog.Close();
                cancelAction?.Invoke();
            };
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                dialog.Close();
                okAction?.Invoke();
            };
            if (isAlarmColor)
            {
                btnTitle.TextColor = CSS_Color.WarningColor;
                btnConfirm.TextColor = CSS_Color.MainBackgroundColor;
                btnConfirm.BackgroundColor = CSS_Color.WarningColor;
            }
        }
@@ -94,7 +241,7 @@
        /// <param name="str1">标题</param>
        public void QRcode(string str1)
        {
            Dialog dialog = new Dialog()
            Dialog dialog = new Dialog()
            {
                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
            };
@@ -119,18 +266,18 @@
                TextSize = TextSize.Text16,
                TextAlignment = TextAlignment.Center,
                IsBold = true,
                TextID=StringId.linshimima,
                TextID = StringId.linshimima,
            };
            whiteView.AddChidren(btnTitle);
            //密码
            Button btnpaw = new Button()
            {
                X=Application.GetRealWidth(100),
                X = Application.GetRealWidth(100),
                Y = Application.GetRealHeight(62),
                Height = Application.GetRealHeight(32),
                Width = Application.GetRealWidth(82),
                TextColor = MusicColor.SelectedColor,
                TextSize =24,
                TextSize = 24,
                TextAlignment = TextAlignment.Center,
                IsBold = true,
                Text = str1,