陈嘉乐
2021-03-09 83df0ebfbd306d0fb5a51a21a7ef2271c0c507ec
HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/View/TipView.cs
@@ -20,7 +20,7 @@
        /// 输入框
        /// </summary>
        /// <param name="confirmAction">回调函数</param>
        public void InputBox(string tnputEditTxet, Action<string> confirmAction)
        public void InputBox(string tnputEditTxet, Action<string, Dialog> confirmAction,bool if_bool=true)
        {
            Dialog dialog = new Dialog()
            {
@@ -163,15 +163,341 @@
                {
                    return;
                }
                confirmAction(editText.Text.Trim());
                dialog.Close();
                confirmAction(editText.Text.Trim(), dialog);
                if (if_bool) {
                    dialog.Close();
                }
            };
        }
        /// <summary>
        /// 输入框
        /// </summary>
        /// <param name="confirmAction">回调函数</param>
        public void InputBox(FrameLayout frameLayout,string tnputEditTxet, Action<string, FrameLayout> confirmAction, bool if_bool = true)
        {
            FrameLayout frame = new FrameLayout()
            {
                BackgroundColor = MusicColor.PopupBackgroundColor,
            };
            frameLayout.AddChidren(frame);
            FrameLayout whiteView = new FrameLayout()
            {
                //Gravity = Gravity.Center,
                X = Application.GetRealWidth(53),
                Y = Application.GetRealHeight(264),
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(201),
                BackgroundColor = MusicColor.WhiteColor,
                BorderColor = 0x00000000,
                BorderWidth = 0,
                Radius = (uint)Application.GetRealHeight(RradiusFrameLayout),
            };
            frame.AddChidren(whiteView);
            Button btnTitle = new Button()
            {
                Y = Application.GetRealHeight(20),
                X = Application.GetRealWidth(35),
                Height = Application.GetRealHeight(22),
                Width = Application.GetRealWidth(200),
                TextColor = MusicColor.SelectedColor,
                TextSize = TextSize.Text16,
                TextAlignment = TextAlignment.Center,
                TextID = StringId.shuruyaokongqimingcheng,
            };
            whiteView.AddChidren(btnTitle);
            FrameLayout editBjView = new FrameLayout()
            {
                // Gravity = Gravity.CenterHorizontal,
                Y = btnTitle.Bottom + Application.GetRealHeight(16),
                X = Application.GetRealWidth(24),
                Width = Application.GetRealWidth(222),
                Height = Application.GetRealHeight(40),
                BackgroundColor = MusicColor.ViewColor,
                BorderColor = 0x00000000,
                BorderWidth = 0,
                Radius = (uint)Application.GetMinRealAverage(radiusEditFrameLayout),
            };
            whiteView.AddChidren(editBjView);
            EditText editText = new EditText()
            {
                X = Application.GetRealWidth(12),
                Y = Application.GetRealHeight(10),
                Width = Application.GetRealWidth(160),
                Height = Application.GetRealHeight(20),
                Text = tnputEditTxet,
                TextColor = MusicColor.TextColor,
                TextSize = TextSize.Text14,
                TextAlignment = TextAlignment.CenterLeft,
            };
            editBjView.AddChidren(editText);
            Button clearIconBtn = new Button
            {
                X = Application.GetRealWidth(194),
                Y = Application.GetRealHeight(8),
                Width = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                UnSelectedImagePath = "MusicIcon/clear.png",
            };
            editBjView.AddChidren(clearIconBtn);
            clearIconBtn.MouseUpEventHandler += (sender, e) =>
            {
                editText.Text = "";
            };
            Button btnTipText = new Button
            {
                X = Application.GetRealWidth(24),
                Y = editBjView.Bottom + Application.GetRealHeight(12),
                Width = Application.GetRealWidth(211),
                Height = Application.GetRealHeight(35),
                Text = Language.StringByID(StringId.fengleichazhao).Replace("{\\r\\n}", "\r\n"),
                IsMoreLines = true,
                TextColor = MusicColor.MusicNoTxetColor,
                TextSize = TextSize.Text12,
                TextAlignment = TextAlignment.CenterLeft,
            };
            whiteView.AddChidren(btnTipText);
            Button btnLine = new Button()
            {
                Y = whiteView.Height - Application.GetRealHeight(44 + 1),
                Height = Application.GetRealHeight(1),
                BackgroundColor = MusicColor.LineColor,
            };
            whiteView.AddChidren(btnLine);
            Button btnCancel = new Button()
            {
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.Center,
                TextColor = MusicColor.TextCancelColor,
                TextSize = TextSize.Text16,
                TextID = StringId.cancelMusic,
                Gravity = Gravity.BottomLeft,
            };
            whiteView.AddChidren(btnCancel);
            btnCancel.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomLeft);
            Button btnConfirm = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.Center,
                TextColor = MusicColor.WhiteColor,
                IsBold = true,
                TextSize = TextSize.Text16,
                TextID = StringId.confirmMusic,
                BackgroundColor = MusicColor.SelectedColor,
                Gravity = Gravity.BottomRight,
            };
            whiteView.AddChidren(btnConfirm);
            btnConfirm.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomRight);
            btnCancel.MouseUpEventHandler += (sender, e) =>
            {
                frame.RemoveFromParent();
            };
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                if (string.IsNullOrEmpty(editText.Text.Trim()))
                {
                    return;
                }
                confirmAction(editText.Text.Trim(), frame);
                if (if_bool)
                {
                    frame.RemoveFromParent();
                }
            };
        }
        /// <summary>
        /// 确定提示框
        /// </summary>
        /// <param name="titleId">标题文本</param>
        /// <param name="tipTxet">自定义提示文本</param>
        /// <param name="confirmAction">回调函数</param>
        public void TipBox(int titleId, int tipTxet, Action confirmAction)
        {
            Dialog dialog = new Dialog()
            {
                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
            };
            FrameLayout whiteView = new FrameLayout()
            {
                //Gravity = Gravity.Center,
                X = Application.GetRealWidth(53),
                Y = Application.GetRealHeight(264),
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(140),
                BackgroundColor = CSS_Color.view,
                BorderColor = CSS_Color.viewTranslucence,
                BorderWidth = 0,
                Radius = (uint)Application.GetRealHeight(RradiusFrameLayout),
            };
            dialog.AddChidren(whiteView);
            Button titleBtn = new Button()
            {
                Y = Application.GetRealHeight(20),
                X = Application.GetRealWidth(35),
                Height = Application.GetRealHeight(22),
                Width = Application.GetRealWidth(270 - 35 * 2),
                TextColor = CSS_Color.textConfirmColor,
                TextSize = TextSize.Text16,
                TextAlignment = TextAlignment.Center,
                TextID = titleId,
            };
            whiteView.AddChidren(titleBtn);
            Button tipBtn = new Button()
            {
                Y = titleBtn.Bottom + Application.GetRealHeight(8),
                X = Application.GetRealWidth(20),
                Height = Application.GetRealHeight(22),
                Width = Application.GetRealWidth(270 - 20 * 2),
                TextColor = CSS_Color.textTipColor,
                TextSize = TextSize.Text12,
                TextAlignment = TextAlignment.Center,
                TextID = tipTxet,
            };
            whiteView.AddChidren(tipBtn);
            Button btnLine = new Button()
            {
                Y = whiteView.Height - Application.GetRealHeight(44 + 1),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.viewLine,
            };
            whiteView.AddChidren(btnLine);
            Button btnCancel = new Button()
            {
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.textTipColor,
                TextSize = TextSize.Text16,
                TextID = StringId.cancelMusic,
                Gravity = Gravity.BottomLeft,
            };
            whiteView.AddChidren(btnCancel);
            btnCancel.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomLeft);
            Button btnConfirm = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.view,
                IsBold = true,
                TextSize = TextSize.Text16,
                TextID = StringId.confirmMusic,
                BackgroundColor = CSS_Color.textConfirmColor,
                Gravity = Gravity.BottomRight,
            };
            whiteView.AddChidren(btnConfirm);
            btnConfirm.SetCornerWithSameRadius(Application.GetRealHeight(RradiusFrameLayout), HDLUtils.RectCornerBottomRight);
            dialog.Show();
            btnCancel.MouseUpEventHandler += (sender, e) =>
            {
                dialog.Close();
            };
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                confirmAction();
                dialog.Close();
            };
        }
        /// <summary>
        /// 错误信息提示窗口,手动确定关闭
        /// </summary>
        /// <param name="titleId">标题文本</param>
        /// <param name="msgId">提示错误文本</param>
        public void TipBox(int titleId, int msgId)
        {
            Dialog dialog = new Dialog()
            {
                BackgroundColor = CSS_Color.viewTrans60lucence,
            };
            FrameLayout contentView = new FrameLayout()
            {
                Gravity = Gravity.Center,
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(140),
                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                Radius = (uint)Application.GetRealHeight(RradiusFrameLayout),
            };
            dialog.AddChidren(contentView);
            Button btnTitle = new Button()
            {
                Y = Application.GetRealHeight(20),
                Height = Application.GetRealHeight(22),
                TextColor = CSS_Color.MainColor,
                TextSize =TextSize.Text16,
                TextAlignment = TextAlignment.Center,
                TextID = titleId,
            };
            contentView.AddChidren(btnTitle);
            Button btnMsg = new Button()
            {
                Height = Application.GetRealHeight(17),
                Y = Application.GetRealHeight(50),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = TextSize.Text12,
                TextID = msgId,
            };
            contentView.AddChidren(btnMsg);
            Button btnLine = new Button()
            {
                Y = Application.GetRealHeight(96),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.viewLine,
            };
            contentView.AddChidren(btnLine);
            Button btnConfirm = new Button()
            {
                Y = btnLine.Bottom,
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.MainColor,
                TextSize = TextSize.Text16,
                TextID = StringId.Close,
            };
            contentView.AddChidren(btnConfirm);
            dialog.Show();
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                dialog.Close();
            };
        }
    }
}