Davin
2023-07-26 489d3bd60ad7dc2fecb398b09cf4c52df16f0fc2
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -70,19 +70,20 @@
        /// <summary>
        /// 切换显示功能类型区域
        /// </summary>
        FrameLayout changeView;
        /// <summary>
        /// 切换显示设备功能按钮
        /// </summary>
        Button btnChangeFunction;
        /// <summary>
        /// 切换显示场景功能按钮
        /// </summary>
        Button btnChangeScene;
        /// <summary>
        /// 切换显示场组控按钮
        /// </summary>
        Button btnChangeGroupControl;
        FrameLayout changeBaseView;
        //FrameLayout changeView;
        ///// <summary>
        ///// 切换显示设备功能按钮
        ///// </summary>
        //Button btnChangeFunction;
        ///// <summary>
        ///// 切换显示场景功能按钮
        ///// </summary>
        //Button btnChangeScene;
        ///// <summary>
        ///// 切换显示场组控按钮
        ///// </summary>
        //Button btnChangeGroupControl;
        /// <summary>
        /// 功能显示区域
        /// </summary>
@@ -116,9 +117,9 @@
#endregion
#region 报警信息
        Button btnMsgBg;
        Button btnMsgTime;
        Button btnMsg;
        //Button btnMsgBg;
        //Button btnMsgTime;
        //Button btnMsg;
        Button btnMsgIcon;
#endregion
@@ -164,14 +165,14 @@
                };
                topView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(216),
                    Height = Application.GetRealHeight(113),//216),
                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                };
                bodyView.AddChidren(topView);
#else
                VerticalRefreshLayout refreshLayout = new VerticalRefreshLayout()
                {
                    Height = Application.GetRealHeight(216),
                    Height = Application.GetRealHeight(113),//216),
                    BackgroundImagePath = DB_ResidenceData.Instance.residenceImage,
                };
                bodyView.AddChidren(refreshLayout);
@@ -184,7 +185,7 @@
                };
                topView = new FrameLayout()
                {
                    Height = Application.GetRealHeight(216),
                    Height = Application.GetRealHeight(113),//216),
                };
                refreshLayout.AddChidren(topView);
#endif
@@ -508,57 +509,57 @@
#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);
                //FrameLayout msgView;
                //msgView = new FrameLayout()
                //{
                //    Y = Application.GetRealHeight(164),
                //    Gravity = Gravity.CenterHorizontal,
                //    Width = Application.GetRealWidth(343),
                //    Height = Application.GetRealHeight(28),
                //};
                //topView.AddChidren(msgView);
                btnMsgBg = new Button()
                {
                    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
                    Alpha = 0.4f,
                };
                msgView.AddChidren(btnMsgBg);
                //btnMsgBg = new Button()
                //{
                //    BackgroundColor = CSS_Color.MainColor,//0x3F4484F4,
                //    Alpha = 0.4f,
                //};
                //msgView.AddChidren(btnMsgBg);
                btnMsgIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    X = Application.GetRealWidth(290),
                    Y = Application.GetRealHeight(35),
                    Width = Application.GetMinRealAverage(24),
                    Height = Application.GetMinRealAverage(24),
                    UnSelectedImagePath = "Collection/MsgIcon.png",
                    SelectedImagePath = "Collection/MsgIconTip.png",
                };
                msgView.AddChidren(btnMsgIcon);
                topView.AddChidren(btnMsgIcon);
                btnMsg = new Button()
                {
                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                    Width = Application.GetRealWidth(240),
                    Text = "...",
                    TextColor = CSS_Color.MainBackgroundColor,
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsg);
                //btnMsg = new Button()
                //{
                //    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
                //    Width = Application.GetRealWidth(240),
                //    Text = "...",
                //    TextColor = CSS_Color.MainBackgroundColor,
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    TextAlignment = TextAlignment.CenterLeft,
                //};
                //msgView.AddChidren(btnMsg);
                btnMsgTime = new Button()
                {
                    X = Application.GetRealWidth(299),
                    Width = Application.GetRealWidth(44),
                    Text = "00:00",
                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                    TextAlignment = TextAlignment.CenterLeft,
                };
                msgView.AddChidren(btnMsgTime);
                //btnMsgTime = new Button()
                //{
                //    X = Application.GetRealWidth(299),
                //    Width = Application.GetRealWidth(44),
                //    Text = "00:00",
                //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                //    TextAlignment = TextAlignment.CenterLeft,
                //};
                //msgView.AddChidren(btnMsgTime);
                LoadEvent_GotoMessageCenterPage();
@@ -570,9 +571,56 @@
                bodyView.AddChidren(new Button() { Height = Application.GetRealHeight(20), BackgroundColor = 0x00000000 });
                if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
                loadNavView();
                #endregion
                #region ContextView
                functionViews = new List<FrameLayout>();
                LoadContentView();
                #endregion
            }
            catch (Exception ex)
                {
                    changeView = new FrameLayout()
                MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
            }
        }
        void loadNavView()
        {
            if(changeBaseView == null)
            {
                changeBaseView = new FrameLayout()
                {
                    Gravity = Gravity.CenterHorizontal,
                    Height = Application.GetRealHeight(62),
                };
                bodyView.AddChidren(changeBaseView);
            }
            else
            {
                changeBaseView.RemoveAll();
            }
            if (contentView == null)
            {
                contentView = new PageLayout()
                {
                    Height = Application.GetRealHeight(310 + 30 + 10 + 100), //20为超出部分
                    IsShowPoint = false,
                };
                bodyView.AddChidren(contentView);
            }
            if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl && FunctionList.List.groupControls.Count > 0)
            {
                var changeView = new FrameLayout()
                    {
                        //Y = Application.GetRealHeight(20) + topView.Bottom,
                        Gravity = Gravity.CenterHorizontal,
@@ -580,9 +628,9 @@
                        Height = Application.GetRealHeight(62),
                        BackgroundImagePath = "Collection/ChangeViewbg.png",
                    };
                    bodyView.AddChidren(changeView);
                changeBaseView.AddChidren(changeView);
                    btnChangeFunction = new Button()
                var btnChangeFunction = new Button()
                    {
                        X = Application.GetRealWidth(10),
                        Width = Application.GetRealWidth(114 - 10),
@@ -606,7 +654,7 @@
                    };
                    changeView.AddChidren(btnLine);
                    btnChangeScene = new Button()
                var btnChangeScene = new Button()
                    {
                        X = btnLine.Right,
                        Width = Application.GetRealWidth(114 - 10),
@@ -628,7 +676,7 @@
                    };
                    changeView.AddChidren(btnLine2);
                    btnChangeGroupControl = new Button()
                var btnChangeGroupControl = new Button()
                    {
                        X = btnLine2.Right,
                        Width = Application.GetRealWidth(114 - 10),
@@ -639,10 +687,97 @@
                        TextAlignment = TextAlignment.Center,
                    };
                    changeView.AddChidren(btnChangeGroupControl);
                btnChangeGroupControl.MouseUpEventHandler = (sender, e) => {
                    btnChangeFunction.IsSelected = false;
                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeFunction.IsBold = false;
                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeScene.IsSelected = false;
                    btnChangeScene.IsBold = false;
                    btnChangeGroupControl.IsSelected = true;
                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                    btnChangeGroupControl.IsBold = true;
                    CurShowTypeContent = 2;
                    contentView.PageIndex = 2;
                };
                btnChangeFunction.MouseUpEventHandler = (sender, e) => {
                    btnChangeFunction.IsSelected = true;
                    btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                    btnChangeFunction.IsBold = true;
                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeScene.IsSelected = false;
                    btnChangeScene.IsBold = false;
                    CurShowTypeContent = 0;
                    contentView.PageIndex = 0;
                    btnChangeGroupControl.IsSelected = false;
                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeGroupControl.IsBold = false;
                };
                btnChangeScene.MouseUpEventHandler = (sender, e) => {
                    btnChangeScene.IsSelected = true;
                    btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                    btnChangeScene.IsBold = true;
                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeFunction.IsSelected = false;
                    btnChangeFunction.IsBold = false;
                    CurShowTypeContent = 1;
                    contentView.PageIndex = 1;
                    btnChangeGroupControl.IsSelected = false;
                    btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeGroupControl.IsBold = false;
                };
                contentView.PageChange = (sender, e) =>
                {
                    if (contentView.PageIndex == 0)
                    {
                        btnChangeFunction.IsSelected = true;
                        btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                        btnChangeFunction.IsBold = true;
                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeScene.IsSelected = false;
                        btnChangeScene.IsBold = false;
                        btnChangeGroupControl.IsSelected = false;
                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeGroupControl.IsBold = false;
                    }
                    else if (contentView.PageIndex == 1)
                    {
                        btnChangeScene.IsSelected = true;
                        btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                        btnChangeScene.IsBold = true;
                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeFunction.IsSelected = false;
                        btnChangeFunction.IsBold = false;
                        btnChangeGroupControl.IsSelected = false;
                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeGroupControl.IsBold = false;
                    }
                    else if (contentView.PageIndex == 2)
                    {
                        btnChangeFunction.IsSelected = false;
                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeFunction.IsBold = false;
                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeScene.IsSelected = false;
                        btnChangeScene.IsBold = false;
                        btnChangeGroupControl.IsSelected = true;
                        btnChangeGroupControl.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                        btnChangeGroupControl.IsBold = true;
                    }
                };
                }
                else
                {
                    changeView = new FrameLayout()
                var changeView = new FrameLayout()
                    {
                        //Y = Application.GetRealHeight(20) + topView.Bottom,
                        Gravity = Gravity.CenterHorizontal,
@@ -650,9 +785,9 @@
                        Height = Application.GetRealHeight(62),
                        BackgroundImagePath = "Collection/ChangeViewbg.png",
                    };
                    bodyView.AddChidren(changeView);
                changeBaseView.AddChidren(changeView);
                    btnChangeFunction = new Button()
                var btnChangeFunction = new Button()
                    {
                        X = Application.GetRealWidth(10),
                        Width = Application.GetRealWidth(114 - 10),
@@ -676,7 +811,7 @@
                    };
                    changeView.AddChidren(btnLine);
                    btnChangeScene = new Button()
                var btnChangeScene = new Button()
                    {
                        X = btnLine.Right,
                        Width = Application.GetRealWidth(114 - 10),
@@ -687,31 +822,64 @@
                        TextAlignment = TextAlignment.Center,
                    };
                    changeView.AddChidren(btnChangeScene);
                }
                #endregion
                #region ContextView
                contentView = new PageLayout()
                btnChangeFunction.MouseUpEventHandler = (sender, e) =>
                {
                    //Y = changeView.Bottom,
                    Height = Application.GetRealHeight(310 + 30 + 10), //20为超出部分
                    IsShowPoint = false,
                    btnChangeFunction.IsSelected = true;
                    btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                    btnChangeFunction.IsBold = true;
                    btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeScene.IsSelected = false;
                    btnChangeScene.IsBold = false;
                    CurShowTypeContent = 0;
                    contentView.PageIndex = 0;
                };
                bodyView.AddChidren(contentView);
                functionViews = new List<FrameLayout>();
                LoadContentView();
                #endregion
            }
            catch (Exception ex)
                btnChangeScene.MouseUpEventHandler = (sender, e) =>
            {
                MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
                    btnChangeScene.IsSelected = true;
                    btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                    btnChangeScene.IsBold = true;
                    btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                    btnChangeFunction.IsSelected = false;
                    btnChangeFunction.IsBold = false;
                    CurShowTypeContent = 1;
                    contentView.PageIndex = 1;
                };
                contentView.PageChange = (sender, e) =>
                {
                    if (contentView.PageIndex == 0)
                    {
                        btnChangeFunction.IsSelected = true;
                        btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                        btnChangeFunction.IsBold = true;
                        btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeScene.IsSelected = false;
                        btnChangeScene.IsBold = false;
            }
                    else if (contentView.PageIndex == 1)
                    {
                        btnChangeScene.IsSelected = true;
                        btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize;
                        btnChangeScene.IsBold = true;
                        btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize;
                        btnChangeFunction.IsSelected = false;
                        btnChangeFunction.IsBold = false;
                    }
                };
        }
            contentView.PageIndex = CurShowTypeContent;
        }
        /// <summary>
        /// 加载内容区域
        /// </summary>
@@ -736,8 +904,10 @@
                        {
                            if (contentView == null)
                            {
                                waitPage.Hide();
                                return;
                            }
                            loadNavView();
                            contentView.RemoveAll();
                            deviceFunctionView = new VerticalScrolViewLayout();
                            contentView.AddChidren(deviceFunctionView);
@@ -745,7 +915,6 @@
                            sceneFunctionView = new VerticalScrolViewLayout();
                            contentView.AddChidren(sceneFunctionView);
                            LoadSceneFunctionControlZone();
                            contentView.PageIndex = CurShowTypeContent;
                            if (DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
                            {
                                gcFunctionView = new VerticalScrolViewLayout();
@@ -759,6 +928,7 @@
                            GetUnreadPushMessages();
                            RegisterGetPushMessageAction();
                            contentView.PageIndex = CurShowTypeContent;
                            if (waitPage != null)
                            {
                                waitPage.RemoveFromParent();
@@ -819,11 +989,11 @@
                foreach (var function in list)
                {
                    //音乐模块有主从关系,需要特殊处理
                    if (SPK.MusicSpkList().Contains( function.spk))
                    {
                        continue;
                    }
                    else
                    //if (SPK.MusicSpkList().Contains( function.spk))
                    //{
                    //    continue;
                    //}
                    //else
                    {
                        if (!function.collect)
                            continue;
@@ -917,6 +1087,7 @@
        /// </summary>
        void LoadGroupControlFunctionControlZone()
        {
            #region ContextView
            gcFunctionView.RemoveAll();
            functionViews.Clear();
@@ -964,7 +1135,7 @@
                if (index == 0)
                {
                    var view = new FrameLayout();
                    deviceFunctionView.AddChidren(view);
                    gcFunctionView.AddChidren(view);
                    var btnNoCollectionBg = new Button()
                    {
@@ -1284,7 +1455,7 @@
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
                    btnCollection.Visible = false;
                    //btnCollection.Visible = false;
                    Button btnPower;
                    btnPower = new Button()
                    {
@@ -1431,7 +1602,7 @@
                btnName.MouseUpEventHandler = skipControlPageEvent;
                btnIcon.MouseUpEventHandler = skipControlPageEvent;
                btnState.MouseUpEventHandler = skipControlPageEvent;
                //不需要更新状态的动能列表
                //不需要更新状态的功能列表
                if(!SPK.NotStatusSpkList.Contains(function.spk) || function.spk != SPK.IpCam_Imou)
                {
                    UpdataFunctionStates(function);