wxr
2023-07-06 203c3a3ffde6259413d9743f6a723b95b1e7989c
HDL_ON/UI/UI2/2-Classification/FunctionPage.cs
@@ -12,7 +12,7 @@
        /// <summary>
        /// 当前窗体
        /// </summary>
        static FrameLayout bodyView;
        public static FunctionPage bodyView;
        /// <summary>
        /// 楼层选择下拉图标
        /// </summary>
@@ -28,18 +28,41 @@
        #endregion
        List<Function> functionList;
        int titleId;
        public FunctionPage()
        {
            bodyView = this;
            functionList = new List<Function>();
        }
        public void LoadPage(int titleId)
        /// <summary>
        /// 重载界面
        /// </summary>
        public void ReLoadPage()
        {
            if (bodyView != null)
            {
                try
                {
                    bodyView.RemoveAll();
                    LoadPage(this.titleId);
                    functionList = new List<Function>();
                }
                catch (Exception ex)
                {
                    MainPage.Log($"FunctionPage ReloadPage error :\r\n {ex.Message}");
                }
            }
        }
        public void LoadPage(int titleId_out)
        {
            this.titleId = titleId_out;
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            if (titleId == StringId.Lights && !DB_ResidenceData.Instance.CurrentRegion.isSupportGroupControl)
            if (titleId == StringId.Lights && !DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl)
            {
                Action action = () =>
                {
@@ -141,17 +164,11 @@
            if (titleId == StringId.Lights)
            {
                functionList.AddRange(FunctionList.List.groupControls);
                functionList.AddRange(FunctionList.List.GetLightList());
                var lightScene = FunctionList.List.scenes.FindAll((obj) => obj.sceneType == SceneType.LightScene);
                foreach (var scene in lightScene)
                {
                    functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                    var sceneRow = new SceneControlZone(scene);
                    functionListView.AddChidren(sceneRow);
                    sceneRow.LoadView();
                }
            }
            else if (titleId == StringId.AC)
@@ -197,28 +214,13 @@
            LoadDialog_ChangeFloor();
            #region 加载组合调光场景
            if (titleId == StringId.Lights)
            {
                foreach (var lightScene in FunctionList.List.scenes)
                {
                    if (lightScene.sceneType == SceneType.LightScene)
                        if (lightScene != null)
                        {
                            functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                            var sceneRow = new SceneControlZone(lightScene);
                            functionListView.AddChidren(sceneRow);
                            sceneRow.LoadView();
                        }
                }
            }
            #endregion
        }
        /// <summary>
        /// 显示的设备的总数
        /// </summary>
        int showCount = 0;
        int showCount = -1;
        /// <summary>
        /// 加载功能row
        /// </summary>
@@ -236,18 +238,34 @@
                    {
                        if (!isAppend)
                        {
                            showCount = 0;
                            showCount = -1;
                            functionListView.RemoveAll();
                            #region 加载组合调光场景
                            if (titleId == StringId.Lights)
                            {
                                foreach (var lightScene in FunctionList.List.scenes)
                                {
                                    if (lightScene.sceneType == SceneType.LightScene)
                                        if (lightScene != null)
                                        {
                                            var sceneRow = new SceneControlZone(lightScene);
                                            functionListView.AddChidren(sceneRow);
                                            sceneRow.LoadView();
                                            functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
                                        }
                                }
                            }
                            #endregion
                        }
                        int i = 0;
                        foreach (var function in showList)
                        for (var i = 0;i<50;i++)
                        //foreach (var function in showList)
                        {
                            i++;
                            if (i > 50)
                            showCount++;
                            if (showCount >= showList.Count)
                            {
                                break;
                            }
                            showCount++;
                            var function = showList[showCount];
                            if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2)
                            {
@@ -255,7 +273,7 @@
                            }
                            if (function.spk == SPK.LightRGBW || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
                            {
                                var functionDiv = new FunctionControlZone(function)
                                var functionDiv = new FunctionControlZone(function,null)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth(343),
@@ -272,7 +290,7 @@
                            }
                            else if (function.spk == SPK.IpCam_Imou)
                            {
                                var functionDiv = new FunctionControlZone(function)
                                var functionDiv = new FunctionControlZone(function,null)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth(343),
@@ -289,7 +307,7 @@
                            }
                            else
                            {
                                var functionDiv = new FunctionControlZone(function)
                                var functionDiv = new FunctionControlZone(function,null)
                                {
                                    Gravity = Gravity.CenterHorizontal,
                                    Width = Application.GetRealWidth(343),
@@ -314,12 +332,8 @@
                                TextAlignment = TextAlignment.Center,
                                TextSize = CSS_FontSize.SubheadingFontSize,
                                TextColor = CSS_Color.FirstLevelTitleColor,
                                Text = "加载更多",
                                TextID = StringId.LoadMore,
                            };
                            if (Language.CurrentLanguage != "Chinese")
                            {
                                btnAppend.Text = "Load more";
                            }
                            functionListView.AddChidren(btnAppend);
                            btnAppend.MouseUpEventHandler = (sender, e) =>
                            {