JLChen
2020-12-09 e87985ec1dcb69beedaf9f95e8e7aba14b7c08d6
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -1,7 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.DAL;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
@@ -16,6 +20,10 @@
        /// </summary>
        FrameLayout topView;
        /// <summary>
        /// 连接状态提示
        /// </summary>
        Button btnLinkStateTip;
        /// <summary>
        ///住宅名称显示
        /// </summary>
        Button btnResidenceName;
@@ -26,15 +34,15 @@
        /// <summary>
        /// 当前温度信息
        /// </summary>
        Button btnTempValues;
        TextButton btnTempValues;
        /// <summary>
        /// 当前湿度信息
        /// </summary>
        Button btnHumidityValues;
        TextButton btnHumidityValues;
        /// <summary>
        /// 当前pm2.5状态
        /// </summary>
        Button btnPm25Values;
        TextButton btnPm25Values;
        /// <summary>
        /// 切换显示功能类型区域
        /// </summary>
@@ -72,6 +80,13 @@
        bool CurShowTypeIsFunction = true;
        #endregion
        #region 报警信息
        Button btnMsgBg;
        Button btnMsgTime;
        Button btnMsg;
        Button btnMsgIcon;
        #endregion
        public HomePage()
        {
            bodyView = this;
@@ -97,19 +112,43 @@
                };
                topView.AddChidren(btnTop);
                btnResidenceName = new Button()
                btnLinkStateTip = new Button()
                {
                    X = Application.GetRealWidth(16),
                    Y = Application.GetRealHeight(46),
                    Width = Application.GetRealWidth(6),
                    Height = Application.GetRealWidth(6),
                    BackgroundColor = CSS_Color.LinkTipFail,
                    Radius = (uint)Application.GetRealWidth(3),
                };
                topView.AddChidren(btnLinkStateTip);
                btnResidenceName = new Button()
                {
                    X = Application.GetRealWidth(26),
                    Y = Application.GetRealHeight(32),
                    Width = Application.GetRealWidth(200),
                    Width = Application.GetRealWidth(400),
                    Height = Application.GetRealHeight(33),
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Text = DB_ResidenceData.residenceData.residenceName,
                    Text = DB_ResidenceData.residenceData.residecenInfo.Name,
                    IsBold = true
                };
                topView.AddChidren(btnResidenceName);
#if DEBUG
                //搜索网关
                btnResidenceName.MouseUpEventHandler = (sender, e) =>
                {
                    System.Threading.Tasks.Task.Run(() =>
                        {
                            //DriverLayer.Control.Ins.SearchLoaclGateway();
                            MainPage.InitializationData();
                            //DriverLayer.Control.Ins.IsRemote = true;
                        });
                };
#endif
                environmentalView = new FrameLayout()
                {
@@ -124,18 +163,18 @@
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
                    UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
                };
                environmentalView.AddChidren(btnTempIcon);
                btnTempValues = new Button()
                btnTempValues = new TextButton()
                {
                    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 = "--°",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.temperature + "°",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnTempValues);
@@ -146,18 +185,18 @@
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
                    UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
                };
                environmentalView.AddChidren(btnHumidityIcon);
                btnHumidityValues = new Button()
                btnHumidityValues = new TextButton()
                {
                    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 = "--%",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.humidity + "%",
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnHumidityValues);
@@ -168,18 +207,18 @@
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetMinRealAverage(16),
                    Height = Application.GetMinRealAverage(16),
                    UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
                    UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
                };
                environmentalView.AddChidren(btnPm25Icon);
                btnPm25Values = new Button()
                btnPm25Values = new TextButton()
                {
                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
                    Width = Application.GetRealWidth(30),
                    Width = Application.GetRealWidth(130),
                    Gravity = Gravity.CenterVertical,
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = "--",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    Text = MainPage.cityInfo.pm25,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                environmentalView.AddChidren(btnPm25Values);
@@ -196,14 +235,14 @@
                };
                topView.AddChidren(msgView);
                var btngb = new Button()
                btnMsgBg = new Button()
                {
                    BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
                    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
                    Alpha = 0.4f,
                };
                msgView.AddChidren(btngb);
                msgView.AddChidren(btnMsgBg);
                Button btnMsgIcon;
                btnMsgIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
@@ -215,28 +254,31 @@
                };
                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,
                    Text = "...",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = 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,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsgTime);
                LoadEvent_GotoMessageCenterPage();
                #endregion
                #endregion
@@ -256,9 +298,9 @@
                {
                    Width = Application.GetRealWidth(114),
                    TextID = StringId.Functions,
                    SelectedTextColor = CSS.CSS_Color.MainColor,
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.HeadlineFontSize,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.HeadlineFontSize,
                    TextAlignment = TextAlignment.Center,
                    IsSelected = true,
                    IsBold = true
@@ -271,7 +313,7 @@
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(1),
                    Height = Application.GetRealHeight(14),
                    BackgroundColor = CSS.CSS_Color.PromptingColor1,
                    BackgroundColor = CSS_Color.PromptingColor1,
                };
                changeView.AddChidren(btnLine);
@@ -280,9 +322,9 @@
                    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,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextAlignment = TextAlignment.Center,
                };
                changeView.AddChidren(btnChangeScene);
@@ -291,8 +333,8 @@
                #region ContextView
                contentView = new PageLayout()
                {
                    Y = changeView.Bottom + Application.GetRealHeight(10),
                    Height = Application.GetRealHeight(310 + 30), //20为超出部分
                    Y = changeView.Bottom ,
                    Height = Application.GetRealHeight(310 + 30 + 10), //20为超出部分
                };
                bodyView.AddChidren(contentView);
@@ -309,11 +351,20 @@
                #endregion
                LoadEvent_ChangeShowedFunctionType();
                // 查询未读消息并显示
                GetUnreadPushMessages();
            }
            catch (Exception ex)
            {
                MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
            }
            System.Threading.Tasks.Task.Run(() =>
            {
                //DriverLayer.Control.Ins.SearchLoaclGateway();
            });
        }
        /// <summary>
@@ -328,14 +379,40 @@
            try
            {
                int index = 0;
                foreach (var function in DB_ResidenceData.residenceData.functionList.GetAllDeviceFunctionList())
                foreach (var function in DB_ResidenceData.functionList.GetAllDeviceFunctionList())
                {
                    if (!function.collection)
                        continue;
                    if (function.roomIdList.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示
                    //音乐模块有主从关系,需要特殊处理
                    if (function.functionCategory == FunctionCategory.Music)
                    {
                        function.collection = false;
                        continue;
                        var music = function as Music.A31MusicModel;
                        if (music.ServerClientType == -1)
                        {
                            continue;
                        }
                        else if (music.ServerClientType == 1)
                        {
                            if (!music.MainPlayCollection)
                            {
                                continue;
                            }
                        }
                        else
                        {
                            if (!music.collect)
                            {
                                continue;
                            }
                        }
                    }
                    else
                    {
                        if (!function.collect)
                            continue;
                        //if (function.roomIdList.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示
                        //{
                        //    function.collection = false;
                        //    continue;
                        //}
                    }
                    if (index % 2 == 0)
                    {
@@ -359,6 +436,7 @@
                        Tag = function.sid
                    };
                    rowView.AddChidren(functionView);
                    var btnbg = new Button()
                    {
                        UnSelectedImagePath = "Collection/Functionbg.png",
@@ -369,6 +447,33 @@
                    functionViews.Add(functionView);
                    LoadDeviceFunctionDiv(functionView, function);
                    index++;
                }
                if (index == 0)
                {
                    var view = new FrameLayout();
                    deviceFunctionView.AddChidren(view);
                    var btnNoCollectionBg = new Button()
                    {
                        Y = Application.GetRealHeight(20),
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(180),
                        Height = Application.GetRealWidth(180),
                        UnSelectedImagePath = "Collection/NoCollectionBg.png",
                    };
                    view.AddChidren(btnNoCollectionBg);
                    var btnNoCollectionTip = new Button()
                    {
                        Height = Application.GetRealHeight(42),
                        Y = btnNoCollectionBg.Bottom,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextID = StringId.TipNoFunctionCollcetion,
                    };
                    view.AddChidren(btnNoCollectionTip);
                }
            }
            catch (Exception ex)
@@ -389,15 +494,15 @@
            try
            {
                int index = 0;
                foreach (var function in DB_ResidenceData.residenceData.functionList.scenes)
                foreach (var scene in DB_ResidenceData.functionList.scenes)
                {
                    if (!function.collection)
                    if (!scene.collect)
                        continue;
                    if (function.roomIdList.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示
                    {
                        function.collection = false;
                        continue;
                    }
                    //if (scene.roomIds.Count == 0)//如何在房间已经移除了这个功能,则收藏界面也不会再显示
                    //{
                    //    scene.collect = false;
                    //    continue;
                    //}
                    if (index % 2 == 0)
                    {
                        sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
@@ -415,13 +520,43 @@
                        X = functionView_X,
                        Width = Application.GetRealWidth(164),
                        Height = Application.GetRealWidth(122),
                        Tag = function.sid,
                        BackgroundImagePath = (function as Scene).ImagePath,
                        Tag = scene.sid,
                        BackgroundImagePath = scene.ImagePath,
                    };
                    rowView.AddChidren(functionView);
                    LoadSceneFunctionDiv(functionView, function);
                    //2020-12-03 修改图片加载方法
                    ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView);
                    LoadSceneFunctionDiv( functionView, scene);
                    index++;
                }
                if (index == 0)
                {
                    var view = new FrameLayout();
                    sceneFunctionView.AddChidren(view);
                    var btnNoCollectionBg = new Button()
                    {
                        Y = Application.GetRealHeight(20),
                        Gravity = Gravity.CenterHorizontal,
                        Width = Application.GetRealWidth(180),
                        Height = Application.GetRealWidth(180),
                        UnSelectedImagePath = "Collection/NoCollectionBg.png",
                    };
                    view.AddChidren(btnNoCollectionBg);
                    var btnNoCollectionTip = new Button()
                    {
                        Height = Application.GetRealHeight(42),
                        Y = btnNoCollectionBg.Bottom,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.PromptingColor1,
                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                        TextID = StringId.TipNoSceneCollcetion,
                    };
                    view.AddChidren(btnNoCollectionTip);
                }
            }
            catch (Exception ex)
@@ -433,7 +568,7 @@
        }
        /// <summary>
        /// 加载控制卡片
        /// 加载功能控制卡片
        /// </summary>
        void LoadDeviceFunctionDiv(FrameLayout view, Function function)
        {
@@ -456,8 +591,8 @@
                    Y = Application.GetRealWidth(10) + btnIcon.Bottom,
                    Text = function.name,
                    IsBold = true,
                    TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS.CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    Height = Application.GetRealWidth(24),
                    Width = Application.GetRealWidth(140),
                    TextAlignment = TextAlignment.CenterLeft,
@@ -471,10 +606,10 @@
                    Y = btnName.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    TextColor = CSS.CSS_Color.PromptingColor1,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    Text = function.GetRoomListName()
                };
                view.AddChidren(btnZone);
@@ -486,9 +621,9 @@
                    Y = btnZone.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    TextColor = 0x00000000,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    Tag = "state",
                    Text = function.lastState
@@ -506,6 +641,7 @@
                    UnSelectedImagePath = "Collection/CollectionIcon.png",
                };
                view.AddChidren(btnCollection);
                LoadEvent_FunctionCollection(btnCollection, function);
                if (function.functionCategory == FunctionCategory.Curtain)
                {
@@ -537,6 +673,65 @@
                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
                }
                else if (function.functionType == FunctionType.TV)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
                    Button btnPower;
                    btnPower = new Button()
                    {
                        X = Application.GetRealWidth(131),
                        Y = Application.GetRealHeight(86),
                        Width = Application.GetRealWidth(32),
                        Height = Application.GetRealWidth(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
                    };
                    view.AddChidren(btnPower);
                    LoadEvent_ControlTV(function as TV, btnPower);
                }
                else if (function.functionCategory == FunctionCategory.Music)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
                    Button btnPower;
                    btnPower = new Button()
                    {
                        X = Application.GetRealWidth(118),
                        Y = Application.GetRealWidth(83),
                        Width = Application.GetRealWidth(44),
                        Height = Application.GetRealWidth(44),
                        UnSelectedImagePath = "FunctionIcon/Music/MusicPlayIcon.png",
                        SelectedImagePath = "FunctionIcon/Music/MusicPlayOnIcon.png",
                    };
                    view.AddChidren(btnPower);
                    var a31player = (function as UI.Music.A31MusicModel);
                    btnState.Text = a31player.A31PlayStatus.Title;
                    btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
                    btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1
                    //Music.SendMethod.ReadStatus(a31player);
                    btnPower.MouseUpEventHandler = (sender, e) => {
                        if (btnPower.IsSelected)
                        {
                            btnPower.IsSelected = false;
                            Music.SendMethod.Pause(a31player);
                            a31player.A31PlayStatus.status = "pause";
                            a31player.trait_on_off.curValue = "off";
                        }
                        else
                        {
                            btnPower.IsSelected = true;
                            Music.SendMethod.Play(a31player);
                            a31player.A31PlayStatus.status = "play";
                            a31player.trait_on_off.curValue = "on";
                        }
                        UpdataFunctionStates(a31player);
                    };
                }
                else
                {
                    Button btnSwitch;
@@ -560,22 +755,54 @@
                            UpdataFunctionStates(function as Light);
                            #endregion
                            break;
                        case FunctionCategory.AC:
                            #region 空调 AC
                            btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
                            #endregion
                        case FunctionCategory.Thermostat:
                            switch (function.functionType)
                            {
                                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;
                            }
                            break;
                        case FunctionCategory.FloorHeating:
                            #region 地热
                            btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
                            #endregion
                        case FunctionCategory.SwitchDevice:
                            switch (function.functionType)
                            {
                                case FunctionType.Socket:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
                                    break;
                            }
                            break;
                        case FunctionCategory.Electrical:
                            switch (function.functionType)
                            {
                                case FunctionType.Fan:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
                                    break;
                            }
                            break;
                    }
                    LoadEvent_SwitchFunction(function, btnSwitch);
                }
                UpdataFunctionStates(function);
                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, new Button(), new Button(), new Button());
                view.MouseUpEventHandler = skipControlPageEvent;
                btnName.MouseUpEventHandler = skipControlPageEvent;
                btnIcon.MouseUpEventHandler = skipControlPageEvent;
                btnState.MouseUpEventHandler = skipControlPageEvent;
                //电视不需要更新状态
                if(function.functionType!= FunctionType.TV)
                {
                    UpdataFunctionStates(function);
                }
            }
            catch (Exception ex)
            {
@@ -583,44 +810,30 @@
            }
        }
        /// <summary>
        /// 加载控制卡片
        /// 加载场景控制卡片
        /// </summary>
        void LoadSceneFunctionDiv(FrameLayout view, Function function)
        void LoadSceneFunctionDiv(FrameLayout view, Scene scene)
        {
            try
            {
                Button btnCoverd = new Button()
                {
                    UnSelectedImagePath = "Collection/SceneCovered.png",
                    SelectedImagePath = "Collection/SceneCoveredOn.png",
                };
                view.AddChidren(btnCoverd);
                LoadEvent_ControlScene(btnCoverd, function);
                Button btnDelayIcon;
                btnDelayIcon = new Button()
                Button btnSettingIcon;
                btnSettingIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Y = Application.GetRealWidth(12),
                    Height = Application.GetRealWidth(24),
                    Width = Application.GetRealWidth(24),
                    UnSelectedImagePath = "FunctionIcon/Scene/DelayIcon.png"
                    X = Application.GetRealWidth(4),
                    Y = Application.GetRealWidth(4),
                    Height = Application.GetRealWidth(32),
                    Width = Application.GetRealWidth(32),
                    UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
                };
                view.AddChidren(btnDelayIcon);
                view.AddChidren(btnSettingIcon);
                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()
                {
@@ -628,7 +841,7 @@
                    Y = Application.GetRealWidth(68),
                    Width = Application.GetRealWidth(150),
                    Height = Application.GetRealHeight(24),
                    Text = function.name,
                    Text = scene.name,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextAlignment = TextAlignment.CenterLeft,
@@ -642,15 +855,46 @@
                    Y = btnName.Bottom,
                    Height = Application.GetRealWidth(18),
                    Width = Application.GetRealWidth(113),
                    TextColor = CSS.CSS_Color.MainBackgroundColor,
                    TextSize = CSS.CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                    SelectedTextColor = CSS.CSS_Color.MainBackgroundColor,
                    Text = function.GetRoomListName(),
                    SelectedTextColor = CSS_Color.MainBackgroundColor,
                    Text = scene.GetRoomListName(),
                };
                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);
                LoadEvent_SceneCollection(btnCollection, scene);
                LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
                btnSettingIcon.MouseUpEventHandler = (sender, e) => {
                    Action backAction = () => {
                        //LoadSceneFunctionControlZone();
                    };
                    Action refreshAction = () => {
                        btnName.Text = scene.name;
                        btnZone.Text = scene.GetRoomListName();
                        //view.BackgroundImagePath = (scene as Scene).ImagePath;
                        //2020-12-03 修改图片加载方法
                        ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view);
                    };
                    var aep = new SceneEditPage(scene, backAction);
                    MainPage.BasePageView.AddChidren(aep);
                    aep.LoadPage(StringId.EditScene, refreshAction);
                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                };
            }
            catch (Exception ex)
            {