gxc
2019-10-29 081ea8d273048fd03756718ac6fb48a3c09218e9
ZigbeeApp/Shared/Phone/Device/Logic/TimePoint.cs
@@ -13,7 +13,7 @@
        {
            Tag = "Logic";
        }
        public bool IsDeviceEditor;
        Dictionary<string, string> timeifon=new Dictionary<string, string>();
        Button beforeClickButton = new Button();
        TimeView timeview = new TimeView
@@ -22,9 +22,25 @@
            BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor,
            Width = Application.GetRealWidth(1080),
        };
        /// <summary>
        /// 标记(新加/进来编辑)
        /// </summary>
        public bool IsEditor;
        /// <summary>
        /// 记录进来之前的分钟
        /// </summary>
        public string StartMin;
        /// <summary>
        /// 记录进来之前的小时
        /// </summary>
        public string StartHour;
        /// <summary>
        /// 记录进来之前的时间(延时/提前)
        /// </summary>
        public string AdjustTime;
        /// <summary>
        /// 记录时刻的类型(日出/日落/正常)
        /// </summary>
        public string DateType;
        public void Show(Dictionary<string, string> dictionary)
        {
@@ -50,51 +66,65 @@
                timeifon.Add("AdjustTime", dictionary["AdjustTime"]);
                AdjustTime = dictionary["AdjustTime"];
            }
            this.BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor;
            this.AddChidren(new Button
            {
                Height = Application.GetRealHeight(80),
            });
            }
            var topFrameLayout = new FrameLayout
            #region  最上面的布局代码
            var topRowLayout = new RowLayout
            {
                Height = Application.GetRealHeight(140),
                Y = Application.GetRealHeight(80),
                BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
                Height = Application.GetRealHeight(184),
                LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
            };
            AddChidren(topFrameLayout);
            this.AddChidren(topRowLayout);
            var titleName = new Button
            {
                Text = Language.StringByID(MyInternationalizationString.addtime),
                TextSize = 17,
                TextSize = 16,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextAlignment = TextAlignment.CenterLeft,
                X = Application.GetRealWidth(150),
                X = Application.GetRealWidth(176),
                Width = Application.GetRealWidth(400),
                Height = Application.GetRealHeight(69),
                Y = Application.GetRealHeight(92),
                TextID = MyInternationalizationString.addtime,
            };
            topFrameLayout.AddChidren(titleName);
            topRowLayout.AddChidren(titleName);
            var clickBtn = new Button
            {
                Width = Application.GetRealWidth(81 + 51),
                Height = Application.GetRealHeight(58 + 40),
                Y = Application.GetRealHeight(98 - 40),
            };
            topRowLayout.AddChidren(clickBtn);
            clickBtn.MouseDownEventHandler += (sender, e) =>
            {
                RemoveFromParent();
            };
            var back = new Button
            {
                Width = Application.GetRealWidth(110),
                Height = Application.GetRealHeight(110),
                X = Application.GetRealWidth(20),
                Gravity = Gravity.CenterVertical,
                UnSelectedImagePath = "ZigeeLogic/Back.png",
                Width = Application.GetRealWidth(30),
                Height = Application.GetRealHeight(51),
                X = Application.GetRealWidth(81),
                Y = Application.GetRealHeight(98),
                //Gravity = Gravity.CenterVertical;
                UnSelectedImagePath = "ZigeeLogic/back.png",
            };
            topFrameLayout.AddChidren(back);
            back.MouseDownEventHandler += (sender, e) =>
            {
            topRowLayout.AddChidren(back);
            back.MouseDownEventHandler += (sender, e) => {
                RemoveFromParent();
                IsDeviceEditor = false;
            };
            #endregion
            var middle = new VerticalScrolViewLayout();
            middle.Y = topFrameLayout.Bottom;
            middle.Height = Application.GetRealHeight(1920 - 220 - 200);
            middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            var middle = new FrameLayout
            {
                Y = topRowLayout.Bottom,
                Height = Application.GetRealHeight(1920 - 184-260),
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
            };
            this.AddChidren(middle);
            SelectedTimeTypeView(middle,TypeValue);
@@ -106,96 +136,122 @@
        /// </summary>
        /// <param name="middle">Middle.</param>
        /// <param name="TypeValue">Type value.</param>
        void SelectedTimeTypeView(VerticalScrolViewLayout middle, int TypeValue)
        void SelectedTimeTypeView(FrameLayout middle, int TypeValue)
        {
            middle.RemoveAll();
            #region   -----立即执行
            var row = new RowLayout
            {
                Height = Application.GetRealHeight(250),
            };
            middle.AddChidren(row);
            var btnTextTitle = new Button
            var typeFramelayout = new FrameLayout
            {
                Height = Application.GetRealHeight(50),
                Width = Application.GetRealWidth(800),
                Y = Application.GetRealHeight(20),
                X = Application.GetRealWidth(40),
                //Text = "请选择时间类型",
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextID=MyInternationalizationString.Selectedtimetype,
                Height = Application.GetRealHeight(160),
                BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
            };
            row.AddChidren(btnTextTitle);
            middle.AddChidren(typeFramelayout);
            var typeRowlayout = new RowLayout
            {
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(965),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(58),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            typeFramelayout.AddChidren(typeRowlayout);
            var btnTypeTextTitle = new Button
            {
                Y = Application.GetRealHeight(20 + 50),
                //Text = "类型",
                TextID = MyInternationalizationString.type,
                X = Application.GetRealWidth(40),
                Text = Language.StringByID(MyInternationalizationString.type),
                TextAlignment = TextAlignment.CenterLeft,
                Height = Application.GetRealHeight(180),
                Width = Application.GetRealWidth(400),
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                Width = Application.GetRealWidth(265)
            };
            row.AddChidren(btnTypeTextTitle);
            typeRowlayout.AddChidren(btnTypeTextTitle);
            var btnTypeText = new Button
            ///显示时间类型的控件
            var btnimmediateexecution = new Button
            {
                Y = Application.GetRealHeight(20 + 50),
                X = Application.GetRealWidth(1080 - 500 - 40),
                //Text = "立即执行",
                TextID = MyInternationalizationString.immediateexecution,
                X = btnTypeTextTitle.Right,
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(630),
                TextAlignment = TextAlignment.CenterRight,
                Height = Application.GetRealHeight(180),
                Width = Application.GetRealWidth(500),
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextID=MyInternationalizationString.immediateexecution,
            };
            row.AddChidren(btnTypeText);
            typeRowlayout.AddChidren(btnimmediateexecution);
            var btnimmediateexecutionBack = new Button
            {
                Width = Application.GetRealWidth(58),
                Height = Application.GetRealHeight(58),
                UnSelectedImagePath = "ZigeeLogic/next.png",
                X = btnimmediateexecution.Right + Application.GetRealWidth(12),
                Gravity = Gravity.CenterVertical,
            };
            typeRowlayout.AddChidren(btnimmediateexecutionBack);
            #endregion
            #region   -----时刻
            var timetypeFramelayout = new FrameLayout
            {
                Height = Application.GetRealHeight(160),
                BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                Y= typeFramelayout.Bottom,
            };
            middle.AddChidren(timetypeFramelayout);
            var rowSelectedTimeType = new RowLayout
            {
                Height = Application.GetRealHeight(180),
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(965),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(58),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            middle.AddChidren(rowSelectedTimeType);
            timetypeFramelayout.AddChidren(rowSelectedTimeType);
            var btnTimeText = new Button
            {
                //Text = "时刻",
                TextID = MyInternationalizationString.moment,
                Text = Language.StringByID(MyInternationalizationString.moment),
                TextAlignment = TextAlignment.CenterLeft,
                Width = Application.GetRealWidth(150),
                X = Application.GetRealWidth(40),
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                Width=Application.GetRealWidth(265)
            };
            rowSelectedTimeType.AddChidren(btnTimeText);
            ///显示时间类型的控件
            var btnTimeTpye = new Button
            {
                X = Application.GetRealWidth(300),
                X = btnTimeText.Right,
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(600),
                Width = Application.GetRealWidth(630),
                TextAlignment = TextAlignment.CenterRight,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
            };
            rowSelectedTimeType.AddChidren(btnTimeTpye);
            var btnTimeTpyeBack = new Button
            {
                Width = Application.GetRealWidth(110),
                Height = Application.GetRealHeight(110),
                Width = Application.GetRealWidth(58),
                Height = Application.GetRealHeight(58),
                UnSelectedImagePath = "ZigeeLogic/next.png",
                SelectedImagePath = "ZigeeLogic/NextSelecte.png",
                X = Application.GetRealWidth(1080 - 140),
                X = btnTimeTpye.Right+ Application.GetRealWidth(12),
                Gravity = Gravity.CenterVertical,
            };
            rowSelectedTimeType.AddChidren(btnTimeTpyeBack);
            EventHandler<MouseEventArgs> timetpyeclick = (sedner, e) =>
            {
                TimeTypeView(middle, TypeValue);
@@ -204,6 +260,7 @@
            btnTimeText.MouseUpEventHandler += timetpyeclick;
            btnTimeTpye.MouseUpEventHandler += timetpyeclick;
            btnTimeTpyeBack.MouseUpEventHandler += timetpyeclick;
            timetypeFramelayout.MouseUpEventHandler += timetpyeclick;
            #endregion
@@ -273,8 +330,20 @@
            {
                #region   -----自定义时间
                rowSelectedTimeType.LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
                btnTimeTpyeBack.UnSelectedImagePath = "ZigeeLogic/dropdown.png";
                var linebtn = new Button
                {
                    Y = timetypeFramelayout.Bottom,
                    Height = Application.GetRealHeight(5),
                    BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    X=Application.GetRealWidth(58),
                    Width = Application.GetRealWidth(965),
                };
                middle.AddChidren(linebtn);
                var rowTimeView = new RowLayout
                {
                    Y = linebtn.Bottom,
                    Height = Application.GetRealHeight(600),
                };
                middle.AddChidren(rowTimeView);
@@ -286,49 +355,143 @@
            {
                #region   -----提前/延时
                var delayFramelayout = new FrameLayout
                {
                    Height = Application.GetRealHeight(160),
                    BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                    Y = timetypeFramelayout.Bottom,
                };
                middle.AddChidren(delayFramelayout);
                var rowDelayType = new RowLayout
                {
                    Height = Application.GetRealHeight(180),
                    Y = Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(965),
                    Height = Application.GetRealHeight(130),
                    X = Application.GetRealWidth(58),
                    LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                };
                middle.AddChidren(rowDelayType);
                delayFramelayout.AddChidren(rowDelayType);
                var btnDelayTimeText = new Button
                {
                    //Text = "提前/延时",
                    TextID = MyInternationalizationString.Advancedelay,
                    Text = Language.StringByID(MyInternationalizationString.Advancedelay),
                    TextAlignment = TextAlignment.CenterLeft,
                    Width = Application.GetRealWidth(250),
                    X = Application.GetRealWidth(40),
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    Width = Application.GetRealWidth(265)
                };
                rowDelayType.AddChidren(btnDelayTimeText);
                ///显示时间类型的控件
                var btnDelayTime = new Button
                {
                    X = Application.GetRealWidth(300),
                    X = btnTimeText.Right,
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(600),
                    Width = Application.GetRealWidth(630),
                    TextAlignment = TextAlignment.CenterRight,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    Text = textvalue,
                };
                rowDelayType.AddChidren(btnDelayTime);
                var btnDelayTimeBack = new Button
                {
                    Width = Application.GetRealWidth(110),
                    Height = Application.GetRealHeight(110),
                    Width = Application.GetRealWidth(58),
                    Height = Application.GetRealHeight(58),
                    UnSelectedImagePath = "ZigeeLogic/next.png",
                    SelectedImagePath = "ZigeeLogic/NextSelecte.png",
                    X = Application.GetRealWidth(1080 - 140),
                    X = btnTimeTpye.Right + Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                };
                rowDelayType.AddChidren(btnDelayTimeBack);
                EventHandler<MouseEventArgs> timeclick = (sedner, e) =>
                {
                    DelayView(middle, textvalue, TypeValue);
                    var mList = new List<string>();
                    mList.Add(Language.StringByID(MyInternationalizationString.advance));
                    mList.Add(Language.StringByID(MyInternationalizationString.nothing));
                    mList.Add(Language.StringByID(MyInternationalizationString.delayed));
                    var listValues = new List<string>();
                    for (int i = 1; i < 61; i++)
                    {
                        if (i < 10)
                        {
                            var a = "0" + i.ToString();
                            listValues.Add(a + " " + Language.StringByID(MyInternationalizationString.minute));
                        }
                        else
                        {
                            listValues.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.minute));
                        }
                    }
                    var mList2 = new List<List<string>>();
                    mList2.Add(listValues);
                    mList2.Add(new List<string> { "0" });
                    mList2.Add(listValues);
                    int timevalue = 0;
                    int selectIndex = 1;
                    if (int.Parse(timeifon["AdjustTime"]) > 0)
                    {
                        selectIndex = 2;
                        timevalue = Math.Abs(int.Parse(timeifon["AdjustTime"]));
                    }
                    else if (int.Parse(timeifon["AdjustTime"]) < 0)
                    {
                        selectIndex = 0;
                        timevalue = Math.Abs(int.Parse(timeifon["AdjustTime"]));
                    }
                    else
                    {
                        selectIndex = 1;
                        timevalue = 1;
                    }
                    PickerView.ShowSecondary(mList, mList2, (selectIndex1, selectIndex2) =>
                    {
                        switch (selectIndex1)
                        {
                            case 0:
                            case 2:
                                {
                                    timevalue = int.Parse(listValues[selectIndex2].Split(' ')[0]);
                                    if (selectIndex1 == 0)
                                    {
                                        timevalue = timevalue * -1;
                                    }
                                }
                                break;
                            case 1:
                                timevalue = 0;
                                break;
                        }
                        if (timeifon.ContainsKey("StartHour"))
                        {
                            timeifon.Remove("StartHour");
                        }
                        if (timeifon.ContainsKey("StartMin"))
                        {
                            timeifon.Remove("StartMin");
                        }
                        if (timeifon.ContainsKey("AdjustTime"))
                        {
                            timeifon.Remove("AdjustTime");
                        }
                        timeifon.Add("AdjustTime", timevalue.ToString());
                        UserView.HomePage.Instance.ScrollEnabled = false;
                        SelectedTimeTypeView(middle, TypeValue);
                    }, selectIndex, timevalue - 1, Language.StringByID(MyInternationalizationString.Advancedelay));
                };
                delayFramelayout.MouseUpEventHandler += timeclick;
                rowDelayType.MouseUpEventHandler += timeclick;
                btnDelayTimeText.MouseUpEventHandler += timeclick;
                btnDelayTime.MouseUpEventHandler += timeclick;
@@ -341,18 +504,19 @@
            var fra = new FrameLayout
            {
                Y = middle.Bottom,
                Height = Application.GetRealHeight(200),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                Height = Application.GetRealHeight(260),
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
            };
            this.AddChidren(fra);
           this.AddChidren(fra);
            var btnsave = new Button
            {
                X = Application.GetRealWidth(290),
                Height = Application.GetRealHeight(150),//194
                Width = Application.GetRealWidth(500),
                Radius = (uint)Application.GetRealHeight(50),
                BackgroundColor = ZigbeeColor.Current.LogicButtonBlueColor,
                X = Application.GetRealWidth(85),
                Height = Application.GetRealHeight(130),//194
                Width = Application.GetRealWidth(910),
                Radius = (uint)Application.GetRealHeight(60),
                BackgroundColor =ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
                TextID = MyInternationalizationString.Save,
                TextColor= ZigbeeColor.Current.LogicBtnSaveTextColor,
            };
            fra.AddChidren(btnsave);
            btnsave.MouseUpEventHandler += (sender, e) =>
@@ -375,7 +539,7 @@
                    timeifon.Add("StartMin", timeview.Minute.ToString());
                }
                if (IsDeviceEditor)
                if (IsEditor)
                {
                    for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
                    {
@@ -400,7 +564,7 @@
                            }
                        }
                    }
                    IsDeviceEditor = false;
                    IsEditor = false;
                }
                else
                {
@@ -418,10 +582,10 @@
        /// 处理选中时间类型的方法
        /// </summary>
        /// <param name="middle">Middle.</param>
        void TimeTypeView(VerticalScrolViewLayout middle,int TypeValue)
        void TimeTypeView(FrameLayout middle, int TypeValue)
        {
            UserView.HomePage.Instance.ScrollEnabled = false;
            var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
            var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
            this.AddChidren(flMain);
            flMain.MouseUpEventHandler += (sender12, e12) =>
            {
@@ -429,269 +593,267 @@
                flMain.RemoveFromParent();
            };
            var fraview = new FrameLayout {
                Width = Application.GetRealWidth(1080 - 80),
                Height = Application.GetRealHeight(160*6),
                Y = Application.GetRealHeight(1920 - 50 - 960),
                X = Application.GetRealWidth(40),
            var fraview1 = new FrameLayout
            {
                Width = Application.GetRealWidth(1080),
                Height = Application.GetRealHeight(100),
                Y = Application.GetRealHeight(1920 - 100),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                Radius = (uint)Application.GetRealHeight(40),
            };
            flMain.AddChidren(fraview1);
            var fraview = new FrameLayout
            {
                Width = Application.GetRealWidth(1080),
                Height = Application.GetRealHeight(850),
                Y = Application.GetRealHeight(1920 - 850),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                Radius = (uint)Application.GetRealHeight(60),
            };
            flMain.AddChidren(fraview);
            var textBtn = new Button {
                Width = Application.GetRealWidth(1080 - 80),
                Height = Application.GetRealHeight(120),
                TextAlignment=TextAlignment.Center,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextID=MyInternationalizationString.selectcommontimetype,
            };
            fraview.AddChidren(textBtn);
            var timetypeframelayout = new VerticalScrolViewLayout
            #region  -------取消   完成
            var timetype = new RowLayout
            {
                Width = Application.GetRealWidth(1080 - 80),
                Height = Application.GetRealHeight(160*4),
                Y = textBtn.Bottom,
                Height = Application.GetRealHeight(140),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            fraview.AddChidren(timetypeframelayout);
            var cancelBtn = new Button
            fraview.AddChidren(timetype);
            var Btncancel = new Button
            {
                Width = Application.GetRealWidth(1080 - 80),
                Height = Application.GetRealHeight(160),
                TextAlignment = TextAlignment.Center,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextID = MyInternationalizationString.cancel,
                Y = timetypeframelayout.Bottom+Application.GetRealHeight(40),
                BackgroundColor= ZigbeeColor.Current.LogicTopViewBackgroundColor,
            };
            fraview.AddChidren(cancelBtn);
            cancelBtn.MouseUpEventHandler += (sender,e) => {
                UserView.HomePage.Instance.ScrollEnabled = true;
                flMain.RemoveFromParent();
            };
            List<string> timetypelist = new List<string> {
                Language.StringByID(MyInternationalizationString.sunrise),
                Language.StringByID(MyInternationalizationString.sunset),
                Language.StringByID(MyInternationalizationString.noon),
                Language.StringByID(MyInternationalizationString.logiccustom),
               };
            foreach (var typename in timetypelist)
            {
                var timerowlayout = new RowLayout
                {
                    Height = Application.GetRealHeight(160),
                };
                timetypeframelayout.AddChidren(timerowlayout);
                var btntimetext = new Button
                {
                    Text = typename,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    TextAlignment=TextAlignment.CenterLeft,
                    X=Application.GetRealWidth(40),
                };
                timerowlayout.AddChidren(btntimetext);
                EventHandler<MouseEventArgs> timesclick = (sender, e) =>
                {
                    UserView.HomePage.Instance.ScrollEnabled = true;
                    flMain.RemoveFromParent();
                    int a = 0;
                    if(btntimetext.Text==Language.StringByID(MyInternationalizationString.logiccustom)){
                        a = 0;
                    }
                    else if(btntimetext.Text == Language.StringByID(MyInternationalizationString.sunrise)){
                        a = 1;
                    }
                    else if (btntimetext.Text == Language.StringByID(MyInternationalizationString.sunset)) {
                        a = 2;
                    }
                    else if (btntimetext.Text == Language.StringByID(MyInternationalizationString.noon)) {
                        a = 3;
                    }
                    if (a == TypeValue)
                    {
                        UserView.HomePage.Instance.ScrollEnabled = true;
                        flMain.RemoveFromParent();
                        return;
                    }
                   if (timeifon.ContainsKey("StartHour"))
                    {
                        timeifon.Remove("StartHour");
                    }
                    if (timeifon.ContainsKey("StartMin"))
                    {
                        timeifon.Remove("StartMin");
                    }
                    if (timeifon.ContainsKey("AdjustTime"))
                    {
                        timeifon.Remove("AdjustTime");
                    }
                    if (timeifon.ContainsKey("DateType"))
                    {
                        timeifon.Remove("DateType");
                    }
                    timeifon.Add("DateType", a.ToString());
                    if (a == 0)
                    {
                        timeifon.Add("StartHour", "12");
                        timeifon.Add("StartMin", "0");
                    }
                    else
                    {
                        timeifon.Add("AdjustTime", "0");
                    }
                    SelectedTimeTypeView(middle, a);
                };
                timerowlayout.MouseUpEventHandler += timesclick;
                btntimetext.MouseUpEventHandler += timesclick;
            }
        }
        /// <summary>
        /// 选中延时时间的处理方法
        /// </summary>
        /// <param name="middle">Middle.</param>
        void DelayView(VerticalScrolViewLayout middle,string timename,int TypeValue)
        {
           UserView.HomePage.Instance.ScrollEnabled = false;
            var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
            this.AddChidren(flMain);
            flMain.MouseUpEventHandler += (sender12, e12) =>
            {
                UserView.HomePage.Instance.ScrollEnabled = true;
                flMain.RemoveFromParent();
            };
            var fraDelay = new FrameLayout
            {
                Width = Application.GetRealWidth(1080 - 80),
                X = Application.GetRealWidth(40),
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                Radius = (uint)Application.GetRealHeight(50),
                Height=Application.GetRealHeight(1260-250),
                Y=Application.GetRealHeight(1920-1260+250),
            };
            flMain.AddChidren(fraDelay);
            var titleTextfra = new FrameLayout
            {
                Height = Application.GetRealHeight(180),
            };
            fraDelay.AddChidren(titleTextfra);
            var btnTxet = new Button
            {
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                Height = Application.GetRealHeight(180),
                Width = Application.GetRealWidth(400),
                //Text = "请选择时间",
                TextID=MyInternationalizationString.selectedtime,
                X = Application.GetRealWidth(300),
            };
            titleTextfra.AddChidren(btnTxet);
            var btnSave = new Button
            {
                TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(180),
                Text = Language.StringByID(MyInternationalizationString.complete),
                TextColor = ZigbeeColor.Current.LogicTextBlueColor,
                X = Application.GetRealWidth(1000 - 200),
                X = Application.GetRealWidth(80),
                TextAlignment = TextAlignment.CenterLeft,
            };
            titleTextfra.AddChidren(btnSave);
            var timetypeframelayout = new VerticalScrolViewLayout
            timetype.AddChidren(Btncancel);
            Btncancel.MouseUpEventHandler += (sender16, e16) =>
            {
                Width = Application.GetRealWidth(1080 - 80),
                Height = Application.GetRealHeight(900-250+20),
                Y =titleTextfra.Bottom,
                BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                flMain.RemoveFromParent();
                UserView.HomePage.Instance.ScrollEnabled = true;
            };
            fraDelay.AddChidren(timetypeframelayout);
            var cancel = new Button
            var Btntitle = new Button
            {
                TextID = MyInternationalizationString.type,
                TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(320),
                TextAlignment = TextAlignment.Center,
                X = Btncancel.Right + Application.GetRealWidth(100),
                TextSize = 16,
            };
            timetype.AddChidren(Btntitle);
            var Btncomplete = new Button
            {
                TextID = MyInternationalizationString.complete,
                TextColor = ZigbeeColor.Current.LogicBtnCompleteColor,
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterRight,
                X = Btntitle.Right + Application.GetRealWidth(100),
            };
            timetype.AddChidren(Btncomplete);
            #endregion
            #region  -------日出,日落,正午,自定义
            #region 日出
            var sunriseFrameLayout = new FrameLayout
            {
                Height = Application.GetRealHeight(160),
                TextID = MyInternationalizationString.cancel,
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextSize = 16,
                BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor,
                Y =fraDelay.Height- Application.GetRealHeight(160),
                Y = timetype.Bottom + Application.GetRealHeight(50),
            };
            fraDelay.AddChidren(cancel);
            cancel.MouseUpEventHandler += (sender, e) =>
            fraview.AddChidren(sunriseFrameLayout);
            var sunriseRow = new RowLayout
            {
                flMain.RemoveFromParent();
                UserView.HomePage.Instance.ScrollEnabled = true;
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(920),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(80),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            sunriseFrameLayout.AddChidren(sunriseRow);
            List<string> timevaluelist = new List<string> {
                Language.StringByID(MyInternationalizationString.advance)+"10"+ Language.StringByID(MyInternationalizationString.logicminute),
                Language.StringByID(MyInternationalizationString.advance)+"5"+ Language.StringByID(MyInternationalizationString.logicminute),
                Language.StringByID(MyInternationalizationString.advance)+"1"+ Language.StringByID(MyInternationalizationString.logicminute),
                Language.StringByID(MyInternationalizationString.nothing),
                Language.StringByID(MyInternationalizationString.delayed)+"1"+ Language.StringByID(MyInternationalizationString.logicminute),
                Language.StringByID(MyInternationalizationString.delayed)+"5"+ Language.StringByID(MyInternationalizationString.logicminute),
                Language.StringByID(MyInternationalizationString.delayed)+"10"+ Language.StringByID(MyInternationalizationString.logicminute),
               };
            string strvalue = "";
            foreach (var typename in timevaluelist)
            var btnsunrisetext = new Button
            {
                var timerowlayout = new RowLayout
                {
                    Height = Application.GetRealHeight(130),
                    LineColor=ZigbeeColor.Current.LogicBackgroundColor,
                };
                timetypeframelayout.AddChidren(timerowlayout);
                Width = Application.GetRealWidth(600),
                TextID = MyInternationalizationString.sunrise,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
            };
            sunriseRow.AddChidren(btnsunrisetext);
                var btntimetext = new Button
                {
                    Text = typename,
                    Gravity = Gravity.Center,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    SelectedBackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor,
                };
                timerowlayout.AddChidren(btntimetext);
                if (timename == typename)
                {
                    beforeClickButton.IsSelected = false;
                    beforeClickButton = btntimetext;
                    btntimetext.IsSelected = true;
                    strvalue = btntimetext.Text;
                }
            var sunriseSelected = new SelectedButton();
            sunriseRow.AddChidren(sunriseSelected);
            #endregion
            #region 日落
                EventHandler<MouseEventArgs> timesclick = (sender, e) =>
                {
                    strvalue = btntimetext.Text;
                    beforeClickButton.IsSelected = false;
                    beforeClickButton = btntimetext;
                    btntimetext.IsSelected = true;
                };
                timerowlayout.MouseUpEventHandler += timesclick;
                btntimetext.MouseUpEventHandler += timesclick;
            }
            btnSave.MouseUpEventHandler += (sender2, e2) =>
            var sunsetFrameLayout = new FrameLayout
            {
                flMain.RemoveFromParent();
                Height = Application.GetRealHeight(160),
                Y = sunriseFrameLayout.Bottom,
            };
            fraview.AddChidren(sunsetFrameLayout);
            var sunsetRow = new RowLayout
            {
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(920),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(80),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            sunsetFrameLayout.AddChidren(sunsetRow);
            var btnsunsettext = new Button
            {
                Width = Application.GetRealWidth(600),
                TextID = MyInternationalizationString.sunset,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
            };
            sunsetRow.AddChidren(btnsunsettext);
            var sunsetSelected = new SelectedButton();
            sunsetRow.AddChidren(sunsetSelected);
            #endregion
            #region 正午
            //正午
            var noonFrameLayout = new FrameLayout
            {
                Height = Application.GetRealHeight(160),
                Y = sunsetFrameLayout.Bottom,
            };
            fraview.AddChidren(noonFrameLayout);
            var noonRow = new RowLayout
            {
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(920),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(80),
                LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
            };
            noonFrameLayout.AddChidren(noonRow);
            var btnnoontext = new Button
            {
                Width = Application.GetRealWidth(600),
                TextID = MyInternationalizationString.noon,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
            };
            noonRow.AddChidren(btnnoontext);
            var noonSelected = new SelectedButton();
            noonRow.AddChidren(noonSelected);
            #endregion
            #region 自定义
            var logiccustomFrameLayout = new FrameLayout
            {
                Height = Application.GetRealHeight(160),
                Y = noonFrameLayout.Bottom,
            };
            fraview.AddChidren(logiccustomFrameLayout);
            var logiccustomRow = new RowLayout
            {
                Y = Application.GetRealHeight(30),
                Width = Application.GetRealWidth(920),
                Height = Application.GetRealHeight(130),
                X = Application.GetRealWidth(80),
                LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
            };
            logiccustomFrameLayout.AddChidren(logiccustomRow);
            var btnlogiccustomtext = new Button
            {
                Width = Application.GetRealWidth(600),
                TextID = MyInternationalizationString.logiccustom,
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor,
            };
            logiccustomRow.AddChidren(btnlogiccustomtext);
            var logiccustomSelected = new SelectedButton();
            logiccustomRow.AddChidren(logiccustomSelected);
            #endregion
            int value = -1;
            EventHandler<MouseEventArgs> sunriseclick = (sender,e) => {
                btnsunrisetext.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                btnsunsettext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnnoontext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnlogiccustomtext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                sunriseSelected.Visible = true;
                sunsetSelected.Visible = false;
                noonSelected.Visible = false;
                logiccustomSelected.Visible = false;
                value = 1;
            };
            sunriseFrameLayout.MouseUpEventHandler += sunriseclick;
            sunriseRow.MouseUpEventHandler += sunriseclick;
            btnsunrisetext.MouseUpEventHandler += sunriseclick;
            sunriseSelected.MouseUpEventHandler += sunriseclick;
            EventHandler<MouseEventArgs> sunsetclick = (sender, e) => {
                btnsunrisetext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnsunsettext.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                btnnoontext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnlogiccustomtext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                sunriseSelected.Visible = false;
                sunsetSelected.Visible = true;
                noonSelected.Visible = false;
                logiccustomSelected.Visible = false;
                value = 2;
            };
            sunsetFrameLayout.MouseUpEventHandler += sunsetclick;
            sunsetRow.MouseUpEventHandler += sunsetclick;
            btnsunsettext.MouseUpEventHandler += sunsetclick;
            sunsetSelected.MouseUpEventHandler += sunsetclick;
            EventHandler<MouseEventArgs> noonclick = (sender, e) =>
            {
                btnsunrisetext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnsunsettext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnnoontext.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                btnlogiccustomtext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                sunriseSelected.Visible = false;
                sunsetSelected.Visible = false;
                noonSelected.Visible = true;
                logiccustomSelected.Visible = false;
                value = 3;
            };
            noonFrameLayout.MouseUpEventHandler += sunsetclick;
            noonRow.MouseUpEventHandler += noonclick;
            btnnoontext.MouseUpEventHandler += noonclick;
            noonSelected.MouseUpEventHandler += noonclick;
            EventHandler<MouseEventArgs> ogiccustomclick = (sender, e) =>
            {
                btnsunrisetext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnsunsettext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnnoontext.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                btnlogiccustomtext.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                sunriseSelected.Visible = false;
                sunsetSelected.Visible = false;
                noonSelected.Visible = false;
                logiccustomSelected.Visible = true;
                UserView.HomePage.Instance.ScrollEnabled = true;
                flMain.RemoveFromParent();
                if (timeifon.ContainsKey("StartHour"))
                {
                    timeifon.Remove("StartHour");
@@ -704,47 +866,51 @@
                {
                    timeifon.Remove("AdjustTime");
                }
                switch (strvalue)
                if (timeifon.ContainsKey("DateType"))
                {
                    case "提前10分钟":
                        {
                            timeifon.Add("AdjustTime", "-10");
                        }
                        break;
                    case "提前5分钟":
                        {
                            timeifon.Add("AdjustTime", "-5");
                        }
                        break;
                    case "提前1分钟":
                        {
                            timeifon.Add("AdjustTime", "-1");
                        }
                        break;
                    case "无":
                        {
                            timeifon.Add("AdjustTime", "0");
                        }
                        break;
                    case "延时1分钟":
                        {
                            timeifon.Add("AdjustTime", "1");
                        }
                        break;
                    case "延时5分钟":
                        {
                            timeifon.Add("AdjustTime", "5");
                        }
                        break;
                    case "延时10分钟":
                        {
                            timeifon.Add("AdjustTime", "10");
                        }
                        break;
                    timeifon.Remove("DateType");
                }
                SelectedTimeTypeView(middle, TypeValue);
                timeifon.Add("DateType", "0");
                timeifon.Add("StartHour", "12");
                timeifon.Add("StartMin", "0");
                SelectedTimeTypeView(middle, 0);
            };
            logiccustomFrameLayout.MouseUpEventHandler += ogiccustomclick;
            logiccustomRow.MouseUpEventHandler += ogiccustomclick;
            btnlogiccustomtext.MouseUpEventHandler += ogiccustomclick;
            logiccustomSelected.MouseUpEventHandler += ogiccustomclick;
            #endregion
            Btncomplete.MouseUpEventHandler += (sender, e) =>
            {
                if (value == -1)
                {
                    return;
                }
                UserView.HomePage.Instance.ScrollEnabled = true;
                flMain.RemoveFromParent();
                if (timeifon.ContainsKey("StartHour"))
                {
                    timeifon.Remove("StartHour");
                }
                if (timeifon.ContainsKey("StartMin"))
                {
                    timeifon.Remove("StartMin");
                }
                if (timeifon.ContainsKey("AdjustTime"))
                {
                    timeifon.Remove("AdjustTime");
                }
                if (timeifon.ContainsKey("DateType"))
                {
                    timeifon.Remove("DateType");
                }
                timeifon.Add("DateType", value.ToString());
                timeifon.Add("AdjustTime", "0");
                SelectedTimeTypeView(middle, value);
            };
        }
    }
}