wxr
2021-07-01 adc150efb13a0506f45a3c344c3ee2ef2dba8e90
HDL_ON/UI/UI0-Public/PublicAssmebly.cs
@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Threading;
using HDL_ON.Entity;
using HDL_ON.Stan;
using HDL_ON.UI.CSS;
using Shared;
@@ -11,7 +13,7 @@
    {
        void EditParaterEvent(Button btnConfirm, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> list, EditText editText, Action<string> callBackAction,
            FrameLayout contentView, Button btnLine, Button btnBottomLine, Button btnCancel, FrameLayout editView, Dialog dialog)
            FrameLayout contentView, Button btnLine, Button btnCancel, FrameLayout editView, Dialog dialog, int titleId)
        {
            var btnTip = new Button()
@@ -28,12 +30,18 @@
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = false;
                if (string.IsNullOrEmpty(editText.Text.Trim()) || list.Contains(editText.Text.Trim()))
                var text = editText.Text.Trim();
                Regex regtest = new Regex(@"\p{Cs}");
                Match match = regtest.Match(text);
                if (match.Success)
                {
                    HDLCommon.Current.ShowAlert(Language.StringByID(StringId.CannotEnterSpecialCharacters));
                    return;
                }
                if (string.IsNullOrEmpty(text) || list.Contains(text))
                {
                    string tipMsgString = "";
                    if (string.IsNullOrEmpty(editText.Text.Trim()))
                    if (string.IsNullOrEmpty(text))
                    {
                        tipMsgString = Language.StringByID(errorId_IsNullOrEmpty);
                    }
@@ -44,7 +52,6 @@
                    contentView.Height = Application.GetRealHeight(183);
                    btnLine.Y = Application.GetRealHeight(139);
                    btnBottomLine.Y = btnLine.Bottom;
                    btnCancel.Y = btnLine.Bottom;
                    btnConfirm.Y = btnLine.Bottom;
@@ -56,7 +63,7 @@
                }
                callBackAction(editText.Text.Trim());
                callBackAction(text);
                dialog.Close();
            };
        }
@@ -67,7 +74,7 @@
        /// 保存按钮事件需要将
        /// </summary>
        /// <param name="callBackAction">回调函数</param>
        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList,bool encryption = false)
        public void LoadDialog_EditParater(int titleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList, bool encryption = false, string confirmText = "")
        {
            Dialog dialog = new Dialog()
            {
@@ -118,20 +125,45 @@
                Text = editParater,
                TextColor = CSS_Color.FirstLevelTitleColor,
                TextSize = CSS_FontSize.TextFontSize,
                SecureTextEntry = encryption
                //SecureTextEntry = encryption,
                //TextAlignment = TextAlignment.CenterLeft ,
            };
            editView.AddChidren(etParater);
            if(encryption)
            {
                etParater.SecureTextEntry = encryption;
            }
            etParater.TextChangeEventHandler = (sender, e) => {
                if(etParater.Text.Length > 20)
            Button btnClear = new Button()
            {
                X = Application.GetRealWidth(218-25),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(24),
                Height = Application.GetRealWidth(24),
                UnSelectedImagePath = "Public/ClearIcon.png",
            };
            editView.AddChidren(btnClear);
            btnClear.MouseUpEventHandler = (sender, e) =>
            {
                etParater.Text = "";
            };
            etParater.TextChangeEventHandler = (sender, e) =>
            {
                if (etParater.Text.Length > 20)
                {
                    etParater.Text = etParater.Text.Remove(20);
#if __ANDROID__
                    etParater.SetSelectionEnd();
#endif
                }
            };
            Button btnLine = new Button()
            {
                Y = Application.GetRealHeight(128),
                Y = Application.GetRealHeight(129),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
@@ -140,244 +172,60 @@
            Button btnCancel = new Button()
            {
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(134),
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                //SelectedTextColor = CSS_Color.MainBackgroundColor,
                //SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Cancel,
            };
            contentView.AddChidren(btnCancel);
            Button btnBottomLine = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Bottom,
                Height = Application.GetRealHeight(43),
                Width = Application.GetRealWidth(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnBottomLine);
            Button btnConfirm = new Button()
            {
                X = btnBottomLine.Right,
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS.CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            dialog.Show();
            btnCancel.MouseDownEventHandler += (sender, e) => {
                btnCancel.IsSelected = true;
            };
            btnCancel.MouseUpEventHandler += (sender, e) => {
                btnCancel.IsSelected = false;
                dialog.Close();
            };
            btnConfirm.MouseDownEventHandler += (sender, e) => {
                btnConfirm.IsSelected = true;
            };
            EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
                contentView, btnLine, btnBottomLine, btnCancel, editView, dialog);
        }
        /// <summary>
        /// 加载修改参数的小弹窗
        /// 保存按钮事件需要将
        /// </summary>
        /// <param name="callBackAction">回调函数</param>
        public void LoadDialog_EditParater(int titleId,int tipTitleId, string editParater, Action<string> callBackAction, int errorId_IsNullOrEmpty, int errorId_ContainsPar, List<string> baseList)
        {
            Dialog dialog = new Dialog()
            {
                BackgroundColor = CSS_Color.DialogTransparentColor1,
            };
            FrameLayout contentView = new FrameLayout()
            {
                Gravity = Gravity.Center,
                Width = Application.GetRealWidth(270),
                Height = Application.GetRealHeight(192),
                BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                BorderColor = 0x00000000,
                BorderWidth = 0,
                Radius = (uint)Application.GetMinRealAverage(10),
            };
            dialog.AddChidren(contentView);
            Button btnTitle = new Button()
            {
                Y = Application.GetRealHeight(10),
                Height = Application.GetRealHeight(42),
                TextColor = CSS.CSS_Color.MainColor,
                TextSize = CSS.CSS_FontSize.SubheadingFontSize,
                TextAlignment = TextAlignment.Center,
                IsBold = true,
                TextID = titleId,
            };
            contentView.AddChidren(btnTitle);
            Button btnTipTitle = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = btnTitle.Bottom + Application.GetRealHeight(8),
                Width = Application.GetRealWidth(222),
                Height = Application.GetRealHeight(17+16),
                TextID = tipTitleId,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
            };
            contentView.AddChidren(btnTipTitle);
            FrameLayout editView = new FrameLayout()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = btnTipTitle.Bottom,
                Width = Application.GetRealWidth(222),
                Height = Application.GetRealHeight(40),
                BackgroundColor = CSS.CSS_Color.BackgroundColor,
                BorderColor = 0x00000000,
                BorderWidth = 0,
                Radius = (uint)Application.GetMinRealAverage(4),
            };
            contentView.AddChidren(editView);
            EditText etParater = new EditText()
            {
                X = Application.GetRealWidth(12),
                Width = Application.GetRealWidth(182),
                Text = editParater,
                TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                TextSize = CSS.CSS_FontSize.TextFontSize,
            };
            editView.AddChidren(etParater);
            Button btnLine = new Button()
            {
                Y = Application.GetRealHeight(153),
                Height = Application.GetRealHeight(1),
                BackgroundColor = CSS.CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnLine);
            Button btnCancel = new Button()
            {
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(134),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Cancel,
            };
            contentView.AddChidren(btnCancel);
            Button btnBottomLine = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Bottom,
                Height = Application.GetRealHeight(43),
                Width = Application.GetRealWidth(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnBottomLine);
            Button btnConfirm = new Button()
            {
                X = btnBottomLine.Right,
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS.CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            dialog.Show();
            btnCancel.MouseDownEventHandler += (sender, e) => {
                btnCancel.IsSelected = true;
            };
            btnCancel.MouseUpEventHandler += (sender, e) => {
                btnCancel.IsSelected = false;
                dialog.Close();
            };
            btnConfirm.MouseDownEventHandler += (sender, e) => {
                btnConfirm.IsSelected = true;
            };
            EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
                contentView, btnLine, btnBottomLine, btnCancel, editView, dialog);
            //btnConfirm.MouseUpEventHandler += (sender, e) =>
            //Button btnBottomLine = new Button()
            //{
            //    btnConfirm.IsSelected = false;
            //    //需要提示错误信息在窗口弹窗之上的
            //    if ((titleId == StringId.EditFloorName && etParater.Text.Trim() != editParater) || titleId == StringId.AddFloors)
            //    {
            //        var tipMsgString = titleId == StringId.EditFloorName ? Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist) : Language.StringByID(StringId.AddFloorFailed_FloorAlreadyExist);
            //        if (string.IsNullOrEmpty(etParater.Text.Trim()))
            //        {
            //            tipMsgString = Language.StringByID(StringId.FloorNameCannotBeEmpty);
            //            return;
            //        }
            //        if (DB_ResidenceData.residenceData.floors.Contains(etParater.Text.Trim()))
            //        {
            //            contentView.Height = Application.GetRealHeight(183);
            //            btnLine.Y = Application.GetRealHeight(139);
            //            btnBottomLine.Y = btnLine.Bottom;
            //            btnCancel.Y = btnLine.Bottom;
            //            btnConfirm.Y = btnLine.Bottom;
            //            var btnTip = new Button()
            //            {
            //                X = editView.X,
            //                Y = editView.Bottom,
            //                Width = Application.GetRealWidth(182),
            //                Height = Application.GetRealHeight(30),
            //                Text = tipMsgString,
            //                TextColor = CSS_Color.WarningColor,
            //                TextSize = CSS_FontSize.TextFontSize,
            //            };
            //            contentView.AddChidren(btnTip);
            //            return;
            //        }
            //        callBackAction(etParater.Text.Trim());
            //    }
            //    if (titleId == StringId.RoomName || titleId == StringId.ChangeName || titleId == StringId.ResidenceName || titleId == StringId.UesrName)
            //    {
            //        if (editParater != etParater.Text.Trim())
            //        {
            //            callBackAction(etParater.Text.Trim());
            //        }
            //    }
            //    dialog.Close();
            //    X = btnCancel.Right,
            //    Y = btnLine.Bottom,
            //    Height = Application.GetRealHeight(43),
            //    Width = Application.GetRealWidth(1),
            //    BackgroundColor = CSS_Color.DividingLineColor,
            //};
            //contentView.AddChidren(btnBottomLine);
            Button btnConfirm = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Y,
                Width = Application.GetRealWidth(137),
                Height = Application.GetRealHeight(43 + 1),
                TextAlignment = TextAlignment.Center,
                //TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.MainBackgroundColor,
                BackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            //自定义btnConfirm标题
            if (!string.IsNullOrEmpty(confirmText))
            {
                btnConfirm.Text = confirmText;
            }
            int mRectCornerID = HDLUtils.RectCornerBottomRight;
            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
            dialog.Show();
            btnCancel.MouseUpEventHandler += (sender, e) =>
            {
                dialog.Close();
            };
            EditParaterEvent(btnConfirm, errorId_IsNullOrEmpty, errorId_ContainsPar, baseList, etParater, callBackAction,
                contentView, btnLine, btnCancel, editView, dialog, titleId);
        }
        /// <summary>
        /// 加载提示弹窗
@@ -385,7 +233,7 @@
        /// <param name="titleId"></param>
        /// <param name="msgId"></param>
        /// <param name="callBackAction"></param>
        public void TipMsg(int titleId, int msgId, Action callBackAction)
        public void TipOptionMsg(int titleId, int msgId, Action callBackAction)
        {
            Dialog dialog = new Dialog()
            {
@@ -426,6 +274,7 @@
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextID = msgId,
                IsMoreLines = true,
            };
            contentView.AddChidren(btnMsg);
@@ -433,6 +282,7 @@
            {
                Y = Application.GetRealHeight(96),
                Height = Application.GetRealHeight(1),
                Width = Application.GetRealWidth(270 / 2),
                BackgroundColor = CSS.CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnLine);
@@ -440,60 +290,52 @@
            Button btnCancel = new Button()
            {
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(134),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Cancel,
            };
            contentView.AddChidren(btnCancel);
            Button btnBottomLine = new Button()
            {
                X = btnCancel.Right,
                Y = btnLine.Bottom,
                Height = Application.GetRealHeight(43),
                Width = Application.GetRealWidth(1),
                BackgroundColor = CSS_Color.DividingLineColor,
            };
            contentView.AddChidren(btnBottomLine);
            Button btnConfirm = new Button()
            {
                X = btnBottomLine.Right,
                Y = btnLine.Bottom,
                Width = Application.GetRealWidth(135),
                Height = Application.GetRealHeight(43),
                TextAlignment = TextAlignment.Center,
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                SelectedTextColor = CSS_Color.MainBackgroundColor,
                SelectedBackgroundColor = CSS_Color.MainColor,
                //SelectedTextColor = CSS_Color.MainBackgroundColor,
                //SelectedBackgroundColor = CSS_Color.MainColor,
                TextID = StringId.Cancel,
            };
            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 = StringId.Confirm,
            };
            contentView.AddChidren(btnConfirm);
            //例:右下圆角 大小为50
            int mRectCornerID = HDLUtils.RectCornerBottomRight;
            btnConfirm.SetCornerWithSameRadius((uint)Application.GetMinRealAverage(10), mRectCornerID);
            dialog.Show();
            btnCancel.MouseDownEventHandler += (sender, e) =>
            {
                btnCancel.IsSelected = true;
            };
            //btnCancel.MouseDownEventHandler += (sender, e) =>
            //{
            //    btnCancel.IsSelected = true;
            //};
            btnCancel.MouseUpEventHandler += (sender, e) =>
            {
                btnCancel.IsSelected = false;
                //btnCancel.IsSelected = false;
                dialog.Close();
            };
            btnConfirm.MouseDownEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = true;
            };
            //btnConfirm.MouseDownEventHandler += (sender, e) =>
            //{
            //    btnConfirm.IsSelected = true;
            //};
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = false;
                //btnConfirm.IsSelected = false;
                callBackAction();
                dialog.Close();
            };
@@ -505,22 +347,33 @@
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="isWhite"></param>
        public void TipMsgAutoClose(string msg,bool isWhite,int closeTime = 1500)
        public void TipMsgAutoClose(string msg, bool isWhite, int closeTime = 1500)
        {
            Dialog dialog = new Dialog()
            Dialog dialog = new Dialog();
            FrameLayout dialogBody = new FrameLayout();
            dialog.AddChidren(dialogBody);
            dialogBody.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
                dialog = null;
            };
            FrameLayout frame = new FrameLayout()
            {
                X = Application.GetRealWidth(89),
                Y = Application.GetRealHeight(285),
                Width = Application.GetRealWidth(198),
                Height = Application.GetRealHeight(98),
            };
            FrameLayout frame = new FrameLayout()
            {
                BackgroundColor = isWhite ? 0xE6FFFFFF : CSS_Color.DialogTransparentColor1,
                Radius = (uint)Application.GetRealWidth(12),
            };
            dialog.AddChidren(frame);
            frame.MouseUpEventHandler = (sender, e) =>
            {
                dialog.Close();
                dialog = null;
            };
            Button btnTipIcon = new Button()
            {
@@ -540,18 +393,24 @@
                TextSize = CSS_FontSize.TextFontSize,
                TextColor = isWhite ? CSS_Color.FirstLevelTitleColor : CSS_Color.MainBackgroundColor,
                Text = msg,
                IsMoreLines = true,
            };
            frame.AddChidren(btnTipMsg);
            dialog.Show();
            new Thread(() => {
            new Thread(() =>
            {
                Thread.Sleep(closeTime);
                Application.RunOnMainThread(() =>
                {
                    dialog.Close();
                    if(dialog!=null)
                    {
                        dialog.Close();
                    }
                });
            }) { IsBackground = true }.Start();
            })
            { IsBackground = true }.Start();
        }
        /// <summary>
@@ -559,7 +418,7 @@
        /// </summary>
        /// <param name="titleId"></param>
        /// <param name="msgId"></param>
        public void TipMsg(int titleId, int msgId)
        public void TipMsg(int titleId, int msgId,Action action = null)
        {
            Dialog dialog = new Dialog()
            {
@@ -600,6 +459,7 @@
                TextColor = CSS_Color.TextualColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                TextID = msgId,
                IsMoreLines = true,
            };
            contentView.AddChidren(btnMsg);
@@ -633,6 +493,7 @@
            btnConfirm.MouseUpEventHandler += (sender, e) =>
            {
                btnConfirm.IsSelected = false;
                action?.Invoke();
                dialog.Close();
            };
@@ -702,10 +563,344 @@
            frame.AddChidren(btnTipMsg);
            dialog.Show();
            return new Action(() => {
            return new Action(() =>
            {
                dialog.Close();
            });
        }
        /// <summary>
        /// 场景延时设置弹窗
        /// </summary>
        /// <param name="function"></param>
        public void SetSceneDelayDialog(Action<string> action,string curItemKey)//Dictionary<string,string>items,
        {
            List<int> mRange = new List<int>();
            List<int> sRange = new List<int>();
            for (int i = 0; i <= 59; i++)
            {
                mRange.Add(i);
                sRange.Add(i);
            }
            sRange.Add(60);
            BottomTimeSelectControl timeControl = new BottomTimeSelectControl(mRange, sRange, 5, Language.StringByID(StringId.SceneDelay));
            timeControl.RowHeight = Application.GetRealHeight(50);
            timeControl.InitControl(0, 0, 262, false);
            //timeControl.ChangePickerEvent2();
            timeControl.FinishEvent = (type, hours, min) =>
            {
                if(type == 1)
                {
                    curItemKey = (hours * 60 + min).ToString();
                    action(curItemKey);
                }
            };
            return;
            //    Button lastButton = new Button();
            //Dialog dialog = new Dialog();
            //var pView = new FrameLayout()
            //{
            //    BackgroundColor = CSS_Color.DialogTransparentColor1,
            //};
            //dialog.AddChidren(pView);
            //var itemCount = items.Count;
            //var optionBaseViewHeight = ((itemCount > 3 ? itemCount : 3) + 1) * Application.GetRealHeight(50);
            //var optionBaseView = new FrameLayout()
            //{
            //    //Y = Application.GetRealHeight(439),
            //    Y = Application.GetRealHeight(647) - optionBaseViewHeight,
            //    Gravity = Gravity.CenterHorizontal,
            //    Width = Application.GetRealWidth(343),
            //    //Height = Application.GetRealHeight(208),
            //    Height = optionBaseViewHeight,
            //    //AnimateSpeed = 0.3f,
            //    //Animate = Animate.DownToUp,
            //    BackgroundColor = CSS_Color.MainBackgroundColor,
            //    Radius = (uint)Application.GetRealWidth(12),
            //};
            //pView.AddChidren(optionBaseView);
            //var topView = new FrameLayout()
            //{
            //    Gravity = Gravity.CenterHorizontal,
            //    Width = Application.GetRealWidth(343),
            //    Height = Application.GetRealHeight(50),
            //    BackgroundColor = CSS_Color.MainBackgroundColor,
            //    Radius = (uint)Application.GetRealWidth(12),
            //};
            //optionBaseView.AddChidren(topView);
            //var btnTitle = new Button()
            //{
            //    Gravity = Gravity.CenterHorizontal,
            //    TextAlignment = TextAlignment.Center,
            //    Width = Application.GetRealWidth(100),
            //    TextID = StringId.SceneDelay,
            //    IsBold = true,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //};
            //topView.AddChidren(btnTitle);
            //var btnCancel = new Button()
            //{
            //    X = Application.GetRealWidth(21),
            //    Width = Application.GetRealWidth(100),
            //    TextAlignment = TextAlignment.CenterLeft,
            //    TextColor = CSS_Color.PromptingColor1,
            //    TextSize = CSS_FontSize.TextFontSize,
            //    TextID = StringId.Cancel,
            //};
            //topView.AddChidren(btnCancel);
            //var btnConfrim = new Button()
            //{
            //    X = Application.GetRealWidth(160),
            //    Width = Application.GetRealWidth(160),
            //    TextAlignment = TextAlignment.CenterRight,
            //    TextColor = CSS_Color.MainColor,
            //    TextSize = CSS_FontSize.TextFontSize,
            //    TextID = StringId.Confirm,
            //};
            //topView.AddChidren(btnConfrim);
            //var itemsView = new VerticalScrolViewLayout()
            //{
            //    Y = topView.Bottom,
            //    Height = optionBaseViewHeight - Application.GetRealHeight(50),
            //    ScrollEnabled = itemCount > 4,
            //};
            //optionBaseView.AddChidren(itemsView);
            //bool isFrist = true;
            //Button btnLastSelectedTip = null;
            //foreach (var item in items)
            //{
            //    if (isFrist)
            //    {
            //        isFrist = false;
            //    }
            //    else
            //    {
            //        itemsView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
            //    }
            //    var row = new FrameLayout()
            //    {
            //        Height = Application.GetRealHeight(50),
            //    };
            //    itemsView.AddChidren(row);
            //    var btnTipSelected = new Button()
            //    {
            //        X = Application.GetRealWidth(303),
            //        Gravity = Gravity.CenterVertical,
            //        Width = Application.GetRealWidth(28),
            //        Height= Application.GetRealWidth(28),
            //        UnSelectedImagePath = "Public/ChooseIcon.png",
            //        SelectedImagePath = "Public/ChooseOnIcon.png",
            //    };
            //    row.AddChidren(btnTipSelected);
            //    if( item.Key == curItemKey)
            //    {
            //        btnTipSelected.IsSelected = true;
            //        btnLastSelectedTip = btnTipSelected;
            //    }
            //    var btnRowTitle = new Button()
            //    {
            //        X = Application.GetRealWidth(16),
            //        Text = item.Value,
            //        TextSize = CSS_FontSize.TextFontSize,
            //        TextColor = CSS_Color.FirstLevelTitleColor,
            //        TextAlignment = TextAlignment.CenterLeft,
            //    };
            //    row.AddChidren(btnRowTitle);
            //    btnRowTitle.MouseUpEventHandler = (sender, e) =>
            //    {
            //        if (btnTipSelected.IsSelected)
            //        {
            //            curItemKey = "0";
            //            btnTipSelected.IsSelected = false;
            //            btnLastSelectedTip = null;
            //        }
            //        else
            //        {
            //            curItemKey = item.Key;
            //            if (btnLastSelectedTip != null)
            //            {
            //                btnLastSelectedTip.IsSelected = false;
            //            }
            //            btnTipSelected.IsSelected = true;
            //            btnLastSelectedTip = btnTipSelected;
            //        }
            //    };
            //}
            //Button btn1 = new Button()
            //{
            //    Width = Application.GetRealWidth(128),
            //    Height = Application.GetRealWidth(44),
            //    TextAlignment = TextAlignment.Center,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    Text = "30s",
            //    BorderColor = CSS_Color.PromptingColor1,
            //    BorderWidth = 1,
            //    Radius = (uint)Application.GetRealWidth(8),
            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
            //    SelectedBackgroundColor = CSS_Color.MainColor,
            //    X = Application.GetRealWidth(20),
            //    Y = Application.GetRealHeight(80),
            //    IsSelected = curItemKey == "30"
            //};
            //optionBaseView.AddChidren(btn1);
            //Button btn2 = new Button()
            //{
            //    Width = Application.GetRealWidth(128),
            //    Height = Application.GetRealWidth(44),
            //    TextAlignment = TextAlignment.Center,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    Text = "1min",
            //    BorderColor = CSS_Color.PromptingColor1,
            //    BorderWidth = 1,
            //    Radius = (uint)Application.GetRealWidth(8),
            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
            //    SelectedBackgroundColor = CSS_Color.MainColor,
            //    X = Application.GetRealWidth(195),
            //    Y = Application.GetRealHeight(80),
            //    IsSelected = curItemKey == "60"
            //};
            //optionBaseView.AddChidren(btn2);
            //Button btn3 = new Button()
            //{
            //    Width = Application.GetRealWidth(128),
            //    Height = Application.GetRealWidth(44),
            //    TextAlignment = TextAlignment.Center,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    Text = "2min",
            //    BorderColor = CSS_Color.PromptingColor1,
            //    BorderWidth = 1,
            //    Radius = (uint)Application.GetRealWidth(8),
            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
            //    SelectedBackgroundColor = CSS_Color.MainColor,
            //    X = Application.GetRealWidth(20),
            //    Y = Application.GetRealHeight(140),
            //    IsSelected = curItemKey == "120"
            //};
            //optionBaseView.AddChidren(btn3);
            //Button btn4 = new Button()
            //{
            //    Width = Application.GetRealWidth(128),
            //    Height = Application.GetRealWidth(44),
            //    TextAlignment = TextAlignment.Center,
            //    TextSize = CSS_FontSize.SubheadingFontSize,
            //    TextColor = CSS_Color.FirstLevelTitleColor,
            //    Text = "5min",
            //    BorderColor = CSS_Color.PromptingColor1,
            //    BorderWidth = 1,
            //    Radius = (uint)Application.GetRealWidth(8),
            //    SelectedTextColor = CSS_Color.MainBackgroundColor,
            //    SelectedBackgroundColor = CSS_Color.MainColor,
            //    X = Application.GetRealWidth(195),
            //    Y = Application.GetRealHeight(140),
            //    IsSelected = curItemKey == "300"
            //};
            //optionBaseView.AddChidren(btn4);
            //dialog.Show();
            //pView.MouseUpEventHandler = (sender, e) =>
            //{
            //    dialog.Close();
            //};
            //btnCancel.MouseUpEventHandler = (sender, e) =>
            //{
            //    dialog.Close();
            //};
            //btnConfrim.MouseUpEventHandler = (sender, e) =>
            //{
            //    action(curItemKey);
            //    dialog.Close();
            //};
            //btn1.MouseUpEventHandler = (sender, e) => {
            //    btn1.IsSelected = !btn1.IsSelected;
            //    btn2.IsSelected = false;
            //    btn3.IsSelected = false;
            //    btn4.IsSelected = false;
            //    if(btn1.IsSelected)
            //    {
            //        curItemKey = "30";
            //    }
            //    else
            //    {
            //        curItemKey = "0";
            //    }
            //};
            //btn2.MouseUpEventHandler = (sender, e) => {
            //    btn2.IsSelected = !btn2.IsSelected;
            //    btn1.IsSelected = false;
            //    btn3.IsSelected = false;
            //    btn4.IsSelected = false;
            //    if (btn2.IsSelected)
            //    {
            //        curItemKey = "60";
            //    }
            //    else
            //    {
            //        curItemKey = "0";
            //    }
            //};
            //btn3.MouseUpEventHandler = (sender, e) => {
            //    btn3.IsSelected = !btn3.IsSelected;
            //    btn2.IsSelected = false;
            //    btn1.IsSelected = false;
            //    btn4.IsSelected = false;
            //    if (btn3.IsSelected)
            //    {
            //        curItemKey = "120";
            //    }
            //    else
            //    {
            //        curItemKey = "0";
            //    }
            //};
            //btn4.MouseUpEventHandler = (sender, e) => {
            //    btn4.IsSelected = !btn4.IsSelected;
            //    btn2.IsSelected = false;
            //    btn3.IsSelected = false;
            //    btn1.IsSelected = false;
            //    if (btn4.IsSelected)
            //    {
            //        curItemKey = "300";
            //    }
            //    else
            //    {
            //        curItemKey = "0";
            //    }
            //};
        }
    }
}
}