wxr
2020-03-31 002a3f2e9d2f9579c01f88af12bd8a320003569f
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -10,7 +10,7 @@
    {
        #region 控件列表
        static FrameLayout bodyView;
        static HomePage bodyView;
        /// <summary>
        /// 顶部信息区域
        /// </summary>
@@ -60,17 +60,9 @@
        /// </summary>
        VerticalScrolViewLayout sceneFunctionView;
        /// <summary>
        /// 灯光区域集合
        /// 功能区域集合
        /// </summary>
        static Dictionary<string, FrameLayout> LightViews;
        /// <summary>
        /// 空调区域集合
        /// </summary>
        static Dictionary<string, FrameLayout> AcViews;
        /// <summary>
        /// 窗帘区域集合
        /// </summary>
        static Dictionary<string, FrameLayout> CurtainViews;
        List<FrameLayout> functionViews;
        #endregion
        #region 区域变量
@@ -88,241 +80,240 @@
        public void LoadPage()
        {
            #region topView
            topView = new FrameLayout()
            try
            {
                Height = Application.GetRealHeight(216),
                BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
            };
            bodyView.AddChidren(topView);
            Button btnTop;
            btnTop = new Button()
                #region topView
                topView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(216),
                    BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
                };
                bodyView.AddChidren(topView);
                Button btnTop;
                btnTop = new Button()
                {
                    BackgroundColor = CSS_Color.DialogTransparentColor2,
                };
                topView.AddChidren(btnTop);
                btnResidenceName = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(32),
                    Width = Application.GetRealWidth(200),
                    Height = Application.GetRealHeight(33),
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = DB_ResidenceData.residenceData.residenceName,
                    IsBold = true
                };
                topView.AddChidren(btnResidenceName);
                environmentalView = new FrameLayout()
                {
                    Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
                    Height = Application.GetRealHeight(32),
                };
                topView.AddChidren(environmentalView);
                #region 环境数据
                Button btnTempIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
                };
                environmentalView.AddChidren(btnTempIcon);
                btnTempValues = new Button()
                {
                    X = btnTempIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = "--°",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnTempValues);
                Button btnHumidityIcon = new Button()
                {
                    X = btnTempValues.Right + Application.GetRealWidth(2),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
                };
                environmentalView.AddChidren(btnHumidityIcon);
                btnHumidityValues = new Button()
                {
                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = "--%",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnHumidityValues);
                Button btnPm25Icon = new Button()
                {
                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
                };
                environmentalView.AddChidren(btnPm25Icon);
                btnPm25Values = new Button()
                {
                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = "--",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnPm25Values);
                #endregion
                #region msg
                FrameLayout msgView;
                msgView = new FrameLayout()
                {
                    Y = Application.GetRealHeight(164),
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealHeight(28),
                };
                topView.AddChidren(msgView);
                var btngb = new Button()
                {
                    BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
                    Alpha = 0.4f,
                };
                msgView.AddChidren(btngb);
                Button btnMsgIcon;
                btnMsgIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(24),
                    Height = Application.GetMinRealAverage(24),
                    UnSelectedImagePath = "Collection/MsgIcon.png",
                    SelectedImagePath = "Collection/MsgIconTip.png",
                };
                msgView.AddChidren(btnMsgIcon);
                Button btnMsg;
                btnMsg = new Button()
                {
                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                    Width = Application.GetRealWidth(240),
                    Text = "无",
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsg);
                Button btnMsgTime;
                btnMsgTime = new Button()
                {
                    X = Application.GetRealWidth(299),
                    Width = Application.GetRealWidth(44),
                    Text = "00:00",
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsgTime);
                #endregion
                #endregion
                #region 功能场景切换
                changeView = new FrameLayout()
                {
                    Y = Application.GetRealHeight(20) + topView.Bottom,
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(230),
                    Height = Application.GetRealHeight(62),
                    BackgroundImagePath = "Collection/ChangeViewbg.png",
                };
                bodyView.AddChidren(changeView);
                btnChangeFunction = new Button()
                {
                    Width = Application.GetRealWidth(114),
                    TextID = StringId.Functions,
                    SelectedTextColor = CSS.CSS_Color.MainColor,
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.HeadlineFontSize,
                    TextAlignment = TextAlignment.Center,
                    IsSelected = true,
                    IsBold = true
                };
                changeView.AddChidren(btnChangeFunction);
                Button btnLine = new Button()
                {
                    X = btnChangeFunction.Right,
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(1),
                    Height = Application.GetRealHeight(14),
                    BackgroundColor = CSS.CSS_Color.PromptingColor1,
                };
                changeView.AddChidren(btnLine);
                btnChangeScene = new Button()
                {
                    X = btnLine.Right,
                    Width = Application.GetRealWidth(114),
                    TextID = StringId.Scenes,
                    SelectedTextColor = CSS.CSS_Color.MainColor,
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.TextFontSize,
                    TextAlignment = TextAlignment.Center,
                };
                changeView.AddChidren(btnChangeScene);
                #endregion
                #region ContextView
                contentView = new PageLayout()
                {
                    Y = changeView.Bottom + Application.GetRealHeight(10),
                    Height = Application.GetRealHeight(310 + 30), //20为超出部分
                };
                bodyView.AddChidren(contentView);
                functionViews = new List<FrameLayout>();
                deviceFunctionView = new VerticalScrolViewLayout();
                contentView.AddChidren(deviceFunctionView);
                LoadDeviceFunctionControlZone();
                sceneFunctionView = new VerticalScrolViewLayout();
                contentView.AddChidren(sceneFunctionView);
                LoadSceneFunctionControlZone();
                contentView.PageIndex = 0;
                #endregion
                LoadEvent_ChangeShowedFunctionType();
            }
            catch (Exception ex)
            {
                BackgroundColor = CSS_Color.DialogTransparentColor2,
            };
            topView.AddChidren(btnTop);
            btnResidenceName = new Button()
            {
                X = Application.GetRealWidth(16),
                Y = Application.GetRealHeight(32),
                Width = Application.GetRealWidth(200),
                Height = Application.GetRealHeight(33),
                TextColor = CSS.CSS_Color.MainBackgroundColor,
                TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
                TextAlignment = TextAlignment.CenterLeft,
                Text = DB_ResidenceData.residenceData.residenceName,
                IsBold = true
            };
            topView.AddChidren(btnResidenceName);
            environmentalView = new FrameLayout()
            {
                Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
                Height = Application.GetRealHeight(32),
            };
            topView.AddChidren(environmentalView);
            #region 环境数据
            Button btnTempIcon = new Button()
            {
                X = Application.GetRealWidth(12),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
            };
            environmentalView.AddChidren(btnTempIcon);
            btnTempValues = new Button()
            {
                X = btnTempIcon.Right + Application.GetRealWidth(4),
                Width = Application.GetRealWidth(30),
                Gravity = Gravity.CenterVertical,
                TextColor = CSS.CSS_Color.MainBackgroundColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "--°",
                TextAlignment = TextAlignment.CenterLeft,
            };
            environmentalView.AddChidren(btnTempValues);
            Button btnHumidityIcon = new Button()
            {
                X = btnTempValues.Right + Application.GetRealWidth(2),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
            };
            environmentalView.AddChidren(btnHumidityIcon);
            btnHumidityValues = new Button()
            {
                X = btnHumidityIcon.Right + Application.GetRealWidth(4),
                Width = Application.GetRealWidth(30),
                Gravity = Gravity.CenterVertical,
                TextColor = CSS.CSS_Color.MainBackgroundColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "--%",
                TextAlignment = TextAlignment.CenterLeft,
            };
            environmentalView.AddChidren(btnHumidityValues);
            Button btnPm25Icon = new Button()
            {
                X = btnHumidityValues.Right + Application.GetRealWidth(2),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(16),
                Height = Application.GetMinRealAverage(16),
                UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
            };
            environmentalView.AddChidren(btnPm25Icon);
            btnPm25Values = new Button()
            {
                X = btnPm25Icon.Right + Application.GetRealWidth(4),
                Width = Application.GetRealWidth(30),
                Gravity = Gravity.CenterVertical,
                TextColor = CSS.CSS_Color.MainBackgroundColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                Text = "--",
                TextAlignment = TextAlignment.CenterLeft,
            };
            environmentalView.AddChidren(btnPm25Values);
            #endregion
            #region msg
            FrameLayout msgView;
            msgView = new FrameLayout()
            {
                Y = Application.GetRealHeight(164),
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(343),
                Height = Application.GetRealHeight(28),
            };
            topView.AddChidren(msgView);
            var btngb = new Button()
            {
                BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
                Alpha = 0.4f,
            };
            msgView.AddChidren(btngb);
            Button btnMsgIcon;
            btnMsgIcon = new Button()
            {
                X = Application.GetRealWidth(12),
                Gravity = Gravity.CenterVertical,
                Width = Application.GetMinRealAverage(24),
                Height = Application.GetMinRealAverage(24),
                UnSelectedImagePath = "Collection/MsgIcon.png",
                SelectedImagePath = "Collection/MsgIconTip.png",
            };
            msgView.AddChidren(btnMsgIcon);
            Button btnMsg;
            btnMsg = new Button()
            {
                X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                Width = Application.GetRealWidth(240),
                Text = "无",
                TextColor = CSS.CSS_Color.MainBackgroundColor,
                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                TextAlignment = TextAlignment.CenterLeft,
            };
            msgView.AddChidren(btnMsg);
            Button btnMsgTime;
            btnMsgTime = new Button()
            {
                X = Application.GetRealWidth(299),
                Width = Application.GetRealWidth(44),
                Text = "00:00",
                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                TextAlignment = TextAlignment.CenterLeft,
            };
            msgView.AddChidren(btnMsgTime);
            #endregion
            #endregion
            #region 功能场景切换
            changeView = new FrameLayout()
            {
                Y = Application.GetRealHeight(20) + topView.Bottom,
                Gravity = Gravity.CenterHorizontal,
                Width = Application.GetRealWidth(230),
                Height = Application.GetRealHeight(62),
                BackgroundImagePath = "Collection/ChangeViewbg.png",
            };
            bodyView.AddChidren(changeView);
            btnChangeFunction = new Button()
            {
                Width = Application.GetRealWidth(114),
                TextID = StringId.Functions,
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextColor = CSS.CSS_Color.PromptingColor1,
                TextSize = CSS.CSS_FontSize.HeadlineFontSize,
                TextAlignment = TextAlignment.Center,
                IsSelected = true,
                IsBold = true
            };
            changeView.AddChidren(btnChangeFunction);
            Button btnLine = new Button()
            {
                X = btnChangeFunction.Right,
                Gravity = Gravity.CenterVertical,
                Width = Application.GetRealWidth(1),
                Height = Application.GetRealHeight(14),
                BackgroundColor = CSS.CSS_Color.PromptingColor1,
            };
            changeView.AddChidren(btnLine);
            btnChangeScene = new Button()
            {
                X = btnLine.Right,
                Width = Application.GetRealWidth(114),
                TextID = StringId.Scenes,
                SelectedTextColor = CSS.CSS_Color.MainColor,
                TextColor = CSS.CSS_Color.PromptingColor1,
                TextSize = CSS.CSS_FontSize.TextFontSize,
                TextAlignment = TextAlignment.Center,
            };
            changeView.AddChidren(btnChangeScene);
            #endregion
            #region ContextView
            contentView = new PageLayout()
            {
                Y = changeView.Bottom + Application.GetRealHeight(10),
                Height = Application.GetRealHeight(310 + 30), //20为超出部分
            };
            bodyView.AddChidren(contentView);
            LightViews = new Dictionary<string, FrameLayout>();
            AcViews = new Dictionary<string, FrameLayout>();
            CurtainViews = new Dictionary<string, FrameLayout>();
            deviceFunctionView = new VerticalScrolViewLayout();
            contentView.AddChidren(deviceFunctionView);
            LoadDeviceFunctionControlZone();
            sceneFunctionView = new VerticalScrolViewLayout();
            contentView.AddChidren(sceneFunctionView);
            LoadSceneFunctionControlZone();
            contentView.PageIndex = 0;
            #endregion
            LoadEvent_ChangeShowedFunctionType();
            //刷新功能状态
            DB_ResidenceData.residenceData.RefreshResidenceFunctionStatus();
                MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
            }
        }
        /// <summary>
@@ -332,9 +323,7 @@
        {
            #region ContextView
            deviceFunctionView.RemoveAll();
            LightViews.Clear();
            AcViews.Clear();
            CurtainViews.Clear();
            functionViews.Clear();
            var rowView = new FrameLayout();
            try
            {
@@ -374,33 +363,17 @@
                    {
                        UnSelectedImagePath = "Collection/Functionbg.png",
                        SelectedImagePath = "Collection/FunctionOnbg.png",
                        Tag = function.sid
                    };
                    functionView.AddChidren(btnbg);
                    switch (function.functionCategory)
                    {
                        case FunctionType.Light:
                            #region 灯光 Light
                            LightViews.Add(function.sid, functionView);
                            #endregion
                            break;
                        case FunctionType.Curtain:
                            #region 窗帘
                            CurtainViews.Add(function.sid, functionView);
                            #endregion
                            break;
                        case FunctionType.AC:
                            #region 空调 AC
                            AcViews.Add(function.sid, functionView);
                            #endregion
                            break;
                    }
                    functionViews.Add(functionView);
                    LoadDeviceFunctionDiv(functionView, function);
                    index++;
                }
            }
            catch (Exception ex)
            {
                MainPage.Log("homepage erorr : " + ex.Message);
                MainPage.Log("homepage error : " + ex.Message);
            }
            deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
            #endregion
@@ -435,7 +408,7 @@
                        sceneFunctionView.AddChidren(rowView);
                        sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
                    }
                    var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) +16);
                    var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16);
                    var functionView = new FrameLayout()
                    {
@@ -446,15 +419,11 @@
                        BackgroundImagePath = (function as Scene).ImagePath,
                    };
                    rowView.AddChidren(functionView);
                    //functionView.Radius = (uint)Application.GetRealWidth(12);
                    //functionView.BorderColor = CSS_Color.BackgroundColor;
                    //functionView.BorderWidth = 1;
                    LoadSceneFunctionDiv(functionView, function);
                    index++;
                }
            }
            }
            catch (Exception ex)
            {
                MainPage.Log("homepage erorr : " + ex.Message);
@@ -538,67 +507,75 @@
                };
                view.AddChidren(btnCollection);
                Button btnSwitch;
                btnSwitch = new Button()
                if (function.functionCategory == FunctionCategory.Curtain)
                {
                    X = Application.GetRealWidth(122),
                    Y = Application.GetRealWidth(92),
                    Width = Application.GetMinRealAverage(48),
                    Height = Application.GetMinRealAverage(36),
                    UnSelectedImagePath = "Public/Switch.png",
                    SelectedImagePath = "Public/SwitchOn.png",
                };
                view.AddChidren(btnSwitch);
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
                    Button btnCurtainClose;
                    btnCurtainClose = new Button()
                    {
                        X = Application.GetRealWidth(84),
                        Y = Application.GetRealWidth(89),
                        Width = Application.GetRealWidth(44),
                        Height = Application.GetRealWidth(44),
                        UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png",
                        SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
                    };
                    view.AddChidren(btnCurtainClose);
                switch (function.functionCategory)
                {
                    case FunctionType.Light:
                        #region 灯光 Light
                        btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
                        btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
                        LoadRelaySwitchEvent(function, btnSwitch, view);
                        //btnCollection.IsSelected = btnIcon.IsSelected = btnName.IsSelected = btnZone.IsSelected = btnSwitch.IsSelected = (function as Light).state == 1;
                        UpdataLightView(function as Light);
                        //btnSwitch.MouseUpEventHandler += (sender, e) =>
                        //{
                        //    var curState = !btnSwitch.IsSelected;
                        //    for (int i = 0; i < view.ChildrenCount; i++)
                        //    {
                        //        if (view.GetChildren(i).GetType() == typeof(Button))
                        //        {
                        //            var btn = view.GetChildren(i) as Button;
                        //            btn.IsSelected = curState;
                        //        }
                        //    }
                        //    new System.Threading.Thread(() =>
                        //    {
                        //        var light = function as Light;
                        //        light.state = btnSwitch.IsSelected ? 1 : 0;
                        //        Control.Send("write", function, 3);
                        //    })
                        //    { IsBackground = true }.Start();
                        //};
                        #endregion
                        break;
                    case FunctionType.Curtain:
                        #region 窗帘
                        btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                        btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
                        #endregion
                        break;
                    case FunctionType.AC:
                        #region 空调 AC
                        btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
                        btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
                        #endregion
                        break;
                    case FunctionType.FloorHeating:
                        #region 地热
                        btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
                        btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
                        #endregion
                        break;
                    Button btnCurtainOpen;
                    btnCurtainOpen = new Button()
                    {
                        X = btnCurtainClose.Right,
                        Y = Application.GetRealWidth(89),
                        Width = Application.GetRealWidth(44),
                        Height = Application.GetRealWidth(44),
                        UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png",
                        SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png",
                    };
                    view.AddChidren(btnCurtainOpen);
                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
                }
                else
                {
                    Button btnSwitch;
                    btnSwitch = new Button()
                    {
                        X = Application.GetRealWidth(122),
                        Y = Application.GetRealWidth(92),
                        Width = Application.GetMinRealAverage(48),
                        Height = Application.GetMinRealAverage(36),
                        UnSelectedImagePath = "Public/Switch.png",
                        SelectedImagePath = "Public/SwitchOn.png",
                    };
                    view.AddChidren(btnSwitch);
                    switch (function.functionCategory)
                    {
                        case FunctionCategory.Light:
                            #region 灯光 Light
                            btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
                            UpdataFunctionStates(function as Light);
                            #endregion
                            break;
                        case FunctionCategory.AC:
                            #region 空调 AC
                            btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
                            #endregion
                            break;
                        case FunctionCategory.FloorHeating:
                            #region 地热
                            btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
                            #endregion
                            break;
                    }
                    LoadEvent_SwitchFunction(function, btnSwitch);
                }
                UpdataFunctionStates(function);
            }
            catch (Exception ex)
            {
@@ -618,20 +595,9 @@
                {
                    UnSelectedImagePath = "Collection/SceneCovered.png",
                    SelectedImagePath = "Collection/SceneCoveredOn.png",
                    //Width = Application.GetRealWidth(165),
                };
                view.AddChidren(btnCoverd);
                btnCoverd.MouseDownEventHandler = (sender, e) => {
                    btnCoverd.IsSelected = true;
                };
                btnCoverd.MouseUpEventHandler = (sender, e) => {
                    new System.Threading.Thread(() => {
                        System.Threading.Thread.Sleep(200);
                        Application.RunOnMainThread(() => {
                            btnCoverd.IsSelected = false;
                        });
                    }) { IsBackground = true }.Start();
                };
                LoadEvent_ControlScene(btnCoverd, function);
                Button btnDelayIcon;
                btnDelayIcon = new Button()
@@ -644,6 +610,17 @@
                };
                view.AddChidren(btnDelayIcon);
                Button btnCollection;
                btnCollection = new Button()
                {
                    X = Application.GetRealWidth(116),
                    Y = Application.GetRealWidth(8),
                    Width = Application.GetMinRealAverage(32),
                    Height = Application.GetMinRealAverage(32),
                    SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                    UnSelectedImagePath = "Collection/CollectionIcon.png",
                };
                view.AddChidren(btnCollection);
                Button btnName;
                btnName = new Button()
                {
@@ -673,17 +650,6 @@
                };
                view.AddChidren(btnZone);
                Button btnCollection;
                btnCollection = new Button()
                {
                    X = Application.GetRealWidth(116),
                    Y = Application.GetRealWidth(8),
                    Width = Application.GetMinRealAverage(32),
                    Height = Application.GetMinRealAverage(32),
                    SelectedImagePath = "Collection/CollectionWhiteIcon.png",
                    UnSelectedImagePath = "Collection/CollectionIcon.png",
                };
                view.AddChidren(btnCollection);
            }
            catch (Exception ex)
@@ -693,4 +659,4 @@
        }
    }
}
}