黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBackLightSettionForm.cs
@@ -40,7 +40,7 @@
        /// <param name="i_listdevice">面板设备的全部回路</param>
        public void ShowForm(Panel i_panel)
        {
            UserView.HomePage.Instance.ScrollEnabled = false;
            this.ScrollEnabled = false;
            this.panelDevice = i_panel;
@@ -57,10 +57,10 @@
        /// <summary>
        /// 初始化中部信息
        /// </summary>
        private async void InitMiddleFrame()
        private void InitMiddleFrame()
        {
            //获取设备初始数据
            var result = await this.GetDeviceDefultData();
            var result = this.GetDeviceDefultData();
            if (result == false)
            {
                return;
@@ -92,6 +92,11 @@
                    //保存面板数据
                    this.SavePanelData();
                };
                //如果当前是展示模板,则不能编辑
                if (Common.Config.Instance.Home.IsShowTemplate == true)
                {
                    btnSave.CanClick = false;
                }
            });
        }
@@ -112,6 +117,10 @@
            frameBack.Height = Application.GetRealHeight(170);
            bodyFrameLayout.AddChidren(frameBack);
            //当前亮度(先声明,为了对应IOS的折叠后,没有完全遮挡的问题)
            var btnProgressView1 = new NormalViewControl(200, 49, true);
            var btnProgress1 = new NormalViewControl(200, 49, true);
            //节能模式
            frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uEnergyConservationMode), 400);
            //开关控件
@@ -126,11 +135,15 @@
                {
                    frameBack.Height += value;
                    frameLinght.Y += value;
                    btnProgressView1.Visible = true;
                    btnProgress1.Visible = true;
                }
                else
                {
                    frameBack.Height -= value;
                    frameLinght.Y -= value;
                    btnProgressView1.Visible = false;
                    btnProgress1.Visible = false;
                }
            };
            if (energyModeInfo.enable == true)
@@ -139,20 +152,20 @@
            }
            //当前亮度
            var btnProgressView1 = new NormalViewControl(200, 49, true);
            btnProgressView1.X = ControlCommonResourse.XXLeft;
            btnProgressView1.X = HdlControlResourse.XXLeft;
            btnProgressView1.Y = Application.GetRealHeight(164);
            btnProgressView1.TextSize = 12;
            btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance;
            frameBack.AddChidren(btnProgressView1);
            var btnProgress1 = new NormalViewControl(200, 49, true);
            btnProgressView1.Visible = false;
            btnProgress1.X = Application.GetRealWidth(222);
            btnProgress1.Y = Application.GetRealHeight(164);
            btnProgress1.TextSize = 12;
            btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnProgress1.Text = energyModeInfo.level + "%";
            frameBack.AddChidren(btnProgress1);
            btnProgress1.Visible = false;
            //进度条
            var seekBar1 = new SeekBarControl();
@@ -168,7 +181,7 @@
            seekBar1.Progress = energyModeInfo.level;
            var btnTemp1 = new NormalViewControl(200, 49, true);
            btnTemp1.X = ControlCommonResourse.XXLeft;
            btnTemp1.X = HdlControlResourse.XXLeft;
            btnTemp1.Y = Application.GetRealHeight(325);
            btnTemp1.TextSize = 12;
            btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
@@ -190,6 +203,15 @@
                var value = Application.GetRealHeight(259);
                frameBack.Height += value;
                frameLinght.Y += value;
                btnProgressView1.Visible = true;
                btnProgress1.Visible = true;
            }
            //如果当前是展示模板,则不能编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                btnSwitch.CanClick = false;
                seekBar1.Enable = false;
            }
        }
@@ -205,7 +227,7 @@
        {
            //点击前
            var btnClick = new NormalViewControl(600, 49, true);
            btnClick.X = ControlCommonResourse.XXLeft;
            btnClick.X = HdlControlResourse.XXLeft;
            btnClick.Y = Application.GetRealHeight(35);
            btnClick.TextSize = 12;
            btnClick.TextColor = UserCenterColor.Current.TextGrayColor3;
@@ -219,7 +241,7 @@
            frameLinght.AddChidren(frameBack);
            //当前亮度
            var btnProgressView1 = new NormalViewControl(200, 49, true);
            btnProgressView1.X = ControlCommonResourse.XXLeft;
            btnProgressView1.X = HdlControlResourse.XXLeft;
            btnProgressView1.Y = Application.GetRealHeight(52);
            btnProgressView1.TextSize = 12;
            btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
@@ -246,7 +268,7 @@
            seekBar1.Progress = linghtLevelInfo.panelBacklightLevel;
            var btnTemp1 = new NormalViewControl(200, 49, true);
            btnTemp1.X = ControlCommonResourse.XXLeft;
            btnTemp1.X = HdlControlResourse.XXLeft;
            btnTemp1.Y = Application.GetRealHeight(216);
            btnTemp1.TextSize = 12;
            btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
@@ -262,22 +284,22 @@
            btnTemp2.Text = "100%";
            frameBack.AddChidren(btnTemp2);
            var frameColor = new FrameLayoutControl();
            var frameColor = new FrameLayoutStatuControl();
            frameColor.UseClickStatu = false;
            frameColor.Width = Application.GetRealHeight(262);
            frameColor.Height = Application.GetMinRealAverage(79);
            frameColor.Height = this.GetPictrueRealSize(79);
            frameColor.Y = Application.GetRealHeight(26);
            frameColor.X = frameLinght.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262);
            frameColor.X = frameLinght.Width - HdlControlResourse.XXLeft - Application.GetRealHeight(262);
            frameBack.AddChidren(frameColor);
            //颜色
            var btnColorView = new NormalViewControl(Application.GetRealHeight(110), Application.GetMinRealAverage(49), false);
            var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(49), false);
            btnColorView.Gravity = Gravity.CenterVertical;
            btnColorView.TextAlignment = TextAlignment.CenterRight;
            btnColorView.TextSize = 12;
            btnColorView.Y = Application.GetRealHeight(5);
            btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnColorView.TextID = R.MyInternationalizationString.uColor;
            frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEventOnly);
            frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent);
            int R1 = Convert.ToInt32(this.keyColorData.CloseColorR, 16);
            int G1 = Convert.ToInt32(this.keyColorData.CloseColorG, 16);
@@ -285,29 +307,34 @@
            uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1);
            //颜色外框
            var btnColorLine = new NormalViewControl(Application.GetMinRealAverage(79), Application.GetMinRealAverage(79), false);
            btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
            btnColorLine.Radius = (uint)Application.GetMinRealAverage(79) / 2;
            btnColorLine.BorderWidth = 1;
            btnColorLine.BorderColor = 0xff666666;
            frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEventOnly);
            var frameColorLine = new FrameLayoutStatuControl();
            frameColorLine.UseClickStatu = false;
            frameColorLine.Height = this.GetPictrueRealSize(79);
            frameColorLine.Width = this.GetPictrueRealSize(79);
            frameColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
            frameColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2;
            frameColorLine.BorderWidth = 1;
            frameColorLine.BorderColor = 0xffcccccc;
            frameColor.AddChidren(frameColorLine, ChidrenBindMode.NotBind);
            var btnColor = new NormalViewControl(Application.GetMinRealAverage(69), Application.GetMinRealAverage(69), false);
            btnColor.Y = Application.GetRealHeight(5);
            btnColor.X = btnColorView.Right + Application.GetRealHeight(23);
            btnColor.Radius = (uint)Application.GetMinRealAverage(69) / 2;
            //分两步计算,不然有可能它得出的结果有误差导致不居中
            int btnColorWidth = frameColorLine.Height - this.GetPictrueRealSize(7) - this.GetPictrueRealSize(7);
            var btnColor = new NormalViewControl(btnColorWidth, btnColorWidth, false);
            btnColor.Gravity = Gravity.Center;
            btnColor.Radius = (uint)btnColorWidth / 2;
            btnColor.BackgroundColor = backColor;
            frameColor.AddChidren(btnColor, ChidrenBindMode.BindEventOnly);
            frameColorLine.AddChidren(btnColor, ChidrenBindMode.NotBind);
            frameColor.ChangedChidrenBindMode(frameColorLine, ChidrenBindMode.BindEvent);
            //变更滑动条的颜色
            seekBar1.ProgressBarColor = backColor;
            var btnRight = new NormalViewControl(Application.GetMinRealAverage(58), Application.GetMinRealAverage(58), false);
            var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false);
            btnRight.UnSelectedImagePath = "Item/RightNext.png";
            btnRight.Y = Application.GetRealHeight(5);
            btnRight.X = frameColor.Width - Application.GetMinRealAverage(58);
            frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly);
            btnRight.Y += Application.GetMinRealAverage(8);
            btnRight.X = frameColor.Width - this.GetPictrueRealSize(58);
            frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent);
            btnRight.Y += this.GetPictrueRealSize(8);
            frameColor.ButtonClickEvent += (sender, e) =>
            {
@@ -328,6 +355,12 @@
                    seekBar1.ProgressBarColor = btnColor.BackgroundColor;
                };
            };
            //如果当前是展示模板,则不能编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                frameColor.CanClick = false;
                seekBar1.Enable = false;
            }
        }
        #endregion
@@ -342,7 +375,7 @@
        {
            //点击后
            var btnClick = new NormalViewControl(600, 49, true);
            btnClick.X = ControlCommonResourse.XXLeft;
            btnClick.X = HdlControlResourse.XXLeft;
            btnClick.Y = Application.GetRealHeight(536);
            btnClick.TextSize = 12;
            btnClick.TextColor = UserCenterColor.Current.TextGrayColor3;
@@ -356,7 +389,7 @@
            frameLinght.AddChidren(frameBack);
            //当前亮度
            var btnProgressView1 = new NormalViewControl(200, 49, true);
            btnProgressView1.X = ControlCommonResourse.XXLeft;
            btnProgressView1.X = HdlControlResourse.XXLeft;
            btnProgressView1.Y = Application.GetRealHeight(52);
            btnProgressView1.TextSize = 12;
            btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1;
@@ -383,7 +416,7 @@
            seekBar1.Progress = linghtLevelInfo.panelDirectionsLevel;
            var btnTemp1 = new NormalViewControl(200, 49, true);
            btnTemp1.X = ControlCommonResourse.XXLeft;
            btnTemp1.X = HdlControlResourse.XXLeft;
            btnTemp1.Y = Application.GetRealHeight(216);
            btnTemp1.TextSize = 12;
            btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3;
@@ -399,22 +432,22 @@
            btnTemp2.Text = "100%";
            frameBack.AddChidren(btnTemp2);
            var frameColor = new FrameLayoutControl();
            var frameColor = new FrameLayoutStatuControl();
            frameColor.UseClickStatu = false;
            frameColor.Width = Application.GetRealHeight(262);
            frameColor.Height = Application.GetMinRealAverage(79);
            frameColor.Height = this.GetPictrueRealSize(79);
            frameColor.Y = Application.GetRealHeight(26);
            frameColor.X = frameLinght.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262);
            frameColor.X = frameLinght.Width - HdlControlResourse.XXLeft - Application.GetRealHeight(262);
            frameBack.AddChidren(frameColor);
            //颜色
            var btnColorView = new NormalViewControl(Application.GetRealHeight(110), Application.GetMinRealAverage(49), false);
            var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(49), false);
            btnColorView.Gravity = Gravity.CenterVertical;
            btnColorView.TextAlignment = TextAlignment.CenterRight;
            btnColorView.TextSize = 12;
            btnColorView.Y = Application.GetRealHeight(5);
            btnColorView.TextColor = UserCenterColor.Current.TextGrayColor1;
            btnColorView.TextID = R.MyInternationalizationString.uColor;
            frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEventOnly);
            frameColor.AddChidren(btnColorView, ChidrenBindMode.BindEvent);
            int R1 = Convert.ToInt32(this.keyColorData.OpenColorR, 16);
            int G1 = Convert.ToInt32(this.keyColorData.OpenColorG, 16);
@@ -422,29 +455,34 @@
            uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1);
            //颜色外框
            var btnColorLine = new NormalViewControl(Application.GetMinRealAverage(79), Application.GetMinRealAverage(79), false);
            btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
            btnColorLine.Radius = (uint)Application.GetMinRealAverage(79) / 2;
            btnColorLine.BorderWidth = 1;
            btnColorLine.BorderColor = 0xff666666;
            frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEventOnly);
            var frameColorLine = new FrameLayoutStatuControl();
            frameColorLine.UseClickStatu = false;
            frameColorLine.Height = this.GetPictrueRealSize(79);
            frameColorLine.Width = this.GetPictrueRealSize(79);
            frameColorLine.X = btnColorView.Right + Application.GetRealHeight(18);
            frameColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2;
            frameColorLine.BorderWidth = 1;
            frameColorLine.BorderColor = 0xffcccccc;
            frameColor.AddChidren(frameColorLine, ChidrenBindMode.NotBind);
            var btnColor = new NormalViewControl(Application.GetMinRealAverage(69), Application.GetMinRealAverage(69), false);
            btnColor.X = btnColorView.Right + Application.GetRealHeight(23);
            btnColor.Y = Application.GetRealHeight(5);
            btnColor.Radius = (uint)Application.GetMinRealAverage(69) / 2;
            //分两步计算,不然有可能它得出的结果有误差导致不居中
            int btnColorWidth = frameColorLine.Height - this.GetPictrueRealSize(7) - this.GetPictrueRealSize(7);
            var btnColor = new NormalViewControl(btnColorWidth, btnColorWidth, false);
            btnColor.Gravity = Gravity.Center;
            btnColor.Radius = (uint)btnColorWidth / 2;
            btnColor.BackgroundColor = backColor;
            frameColor.AddChidren(btnColor, ChidrenBindMode.BindEventOnly);
            frameColorLine.AddChidren(btnColor, ChidrenBindMode.NotBind);
            frameColor.ChangedChidrenBindMode(frameColorLine, ChidrenBindMode.BindEvent);
            //变更滑动条的颜色
            seekBar1.ProgressBarColor = backColor;
            var btnRight = new NormalViewControl(Application.GetMinRealAverage(58), Application.GetMinRealAverage(58), false);
            var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false);
            btnRight.UnSelectedImagePath = "Item/RightNext.png";
            btnRight.Y = Application.GetRealHeight(5);
            btnRight.X = frameColor.Width - Application.GetMinRealAverage(58);
            frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly);
            btnRight.Y += Application.GetMinRealAverage(8);
            btnRight.X = frameColor.Width - this.GetPictrueRealSize(58);
            frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent);
            btnRight.Y += this.GetPictrueRealSize(8);
            frameColor.ButtonClickEvent += (sender, e) =>
            {
@@ -465,6 +503,12 @@
                    seekBar1.ProgressBarColor = btnColor.BackgroundColor;
                };
            };
            //如果当前是展示模板,则不能编辑
            if (Common.Config.Instance.Home.IsShowTemplate == true)
            {
                frameColor.CanClick = false;
                seekBar1.Enable = false;
            }
        }
        #endregion
@@ -475,12 +519,12 @@
        /// 获取设备初始数据
        /// </summary>
        /// <returns></returns>
        private async Task<bool> GetDeviceDefultData()
        private bool GetDeviceDefultData()
        {
            //开启进度条
            this.ShowProgressBar();
            //亮度调节(他们说随便拿一路回路就行了)
            linghtLevelInfo = await HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice);
            linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice);
            if (linghtLevelInfo == null)
            {
                //关闭进度条
@@ -488,14 +532,14 @@
                return false;
            }
            //节能模式(他们说随便拿一路回路就行了)
            energyModeInfo = await HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(panelDevice);
            energyModeInfo = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationMode(panelDevice);
            if (energyModeInfo == null)
            {
                //关闭进度条
                this.CloseProgressBar(ShowReLoadMode.YES);
                return false;
            }
            keyColorData = await HdlDevicePanelLogic.Current.GetPanelEpointColorInfo(panelDevice);
            keyColorData = HdlDevicePanelLogic.Current.GetPanelEpointColorInfo(panelDevice);
            if (this.keyColorData == null)
            {
                //关闭进度条
@@ -515,26 +559,23 @@
        /// <summary>
        /// 保存面板数据
        /// </summary>
        private async void SavePanelData()
        private void SavePanelData()
        {
            this.ShowProgressBar();
            //亮度调节更改(他们说随便一个回路就行)
            var result = await HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
            var result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel);
            if (result == false)
            {
                this.CloseProgressBar();
                return;
            }
            //节能模式修改(他们说随便一个回路就行)
            result = await HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
            result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
            if (result == false)
            {
                this.CloseProgressBar();
                return;
            }
            //设置按键面板指定端点的【指示灯开关颜色】的信息
            result = await HdlDevicePanelLogic.Current.SetPanelEpointColorInfo(panelDevice, this.keyColorData);
            this.CloseProgressBar();
            result = HdlDevicePanelLogic.Current.SetPanelEpointColorInfo(panelDevice, this.keyColorData);
            if (result == false)
            {
                return;
@@ -557,20 +598,6 @@
        private uint GetColorByRGB(byte R, byte G, byte B)
        {
            return (uint)(0xFF000000 + R * 256 * 256 + G * 256 + B);
        }
        #endregion
        #region ■ 界面关闭___________________________
        /// <summary>
        /// 界面关闭
        /// </summary>
        public override void CloseFormBefore()
        {
            UserView.HomePage.Instance.ScrollEnabled = true;
            base.CloseFormBefore();
        }
        #endregion