From 07c647861d549a4c61f615dba9c008c29ad57f43 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 02 九月 2020 15:57:58 +0800 Subject: [PATCH] 2020-09-02-1 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBrightnessAdjustForm.cs | 310 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 220 insertions(+), 90 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBrightnessAdjustForm.cs similarity index 73% rename from ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs rename to ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBrightnessAdjustForm.cs index 45d82b8..1803c0b 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelBrightnessAdjustForm.cs @@ -1,9 +1,10 @@ 锘縰sing System; +using System.Collections.Generic; using System.Threading.Tasks; -using ZigBee.Device; -namespace Shared.Phone.UserCenter.DevicePanel -{ - public class PanelFangyueFreshAirBackLightSettionForm : EditorCommonForm +using ZigBee.Device; +namespace Shared.Phone.UserCenter.DevicePanel +{ + public class PanelBrightnessAdjustForm : EditorCommonForm { #region 鈻� 鍙橀噺澹版槑___________________________ /// <summary> @@ -13,7 +14,11 @@ /// <summary> /// 闈㈡澘鐨勫洖璺� /// </summary> - private Panel panelDevice; + private Panel panelDevice; + /// <summary> + /// 璁惧鐨勬煇涓�鍥炶矾 + /// </summary> + private CommonDevice deviceObj = null; /// <summary> /// 浜害璋冭妭鐨勪俊鎭� /// </summary> @@ -29,23 +34,48 @@ /// <summary> /// 鎸夐敭鐨勯鑹叉暟鎹� /// </summary> - private Panel.KeyColorData keyColorData = null; - + private Panel.KeyColorData keyColorData = null; + /// <summary> + /// 閫夋嫨鐫$湢鏃堕棿鐨勪簨浠� value:绱㈠紩(浠�0寮�濮�) 鏂囨湰淇℃伅璇风敤Text鑾峰彇 + /// </summary> + public Action<int> timeAction = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勫姛鑳界被鍨嬬储寮� + /// </summary> + private int nowSelectNo = 0; + /// <summary> + /// /// <summary> + /// 鐫$湢鏃堕棿鐨勫�� + /// </summary> + /// </summary> + public string sleepTimeText + { + get { return btnSleepTime.Text; } + set { btnSleepTime.Text = value; } + } + /// <summary> + ///鐫$湢鏃堕棿 + /// </summary> + public NormalViewControl btnSleepTime = null; #endregion - + #region 鈻� 鍒濆鍖朹____________________________ - + /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> /// <param name="i_device">璁惧鐨勬煇涓�鍥炶矾</param> - public void ShowForm(Panel i_panel) + public void ShowForm(CommonDevice device) { //宸︽粦浣胯兘涓嶅彲 - this.ScrollEnabled = false; - this.panelDevice = i_panel; - - //璁剧疆澶撮儴淇℃伅 + this.ScrollEnabled = false; + this.deviceObj = device; + this.panelDevice = new Panel(); + this.panelDevice.DeviceAddr = this.deviceObj.DeviceAddr; + this.panelDevice.DeviceEpoint = 200; + this.panelDevice.CurrentGateWayId = this.deviceObj.CurrentGateWayId; + + //璁剧疆澶撮儴淇℃伅 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uLightRegulation)); //鍒濆鍖栦腑閮ㄤ俊鎭� @@ -69,19 +99,25 @@ listview = new VerticalScrolViewLayout(); listview.Height = Application.GetRealHeight(1981 - 184); - bodyFrameLayout.AddChidren(listview); - listview.ScrollEnabled = false; - + bodyFrameLayout.AddChidren(listview); + HdlThreadLogic.Current.RunMain(() => { //娣诲姞鑺傝兘妯″紡鎺т欢 this.AddEnergyConservationRow(); //娣诲姞灞忓箷浜害绾у埆鎺т欢 - this.AddScreenBrightnesLevelControl(); - - //娣诲姞鏂伴闈㈡澘鐨勯鑹� - this.AddColorControl(); + this.AddScreenBrightnesLevelControl(); + + //鑾峰彇璁惧绫诲瀷鐨� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj }); + if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment) + { + //娣诲姞闈㈡澘鐨勯鑹� + this.AddColorControl(); + } + + this.FinishInitControl(listview, energyModeInfo.enable); //淇濆瓨 var btnSave = new BottomClickButton(); @@ -146,6 +182,7 @@ //杩涘害鏉� var seekBar1 = new SeekBarControl(); + seekBar1.SeekBarPadding = 25; seekBar1.MaxValue = 5; seekBar1.ProgressBarColor = 0xff3e99f4; seekBar1.Y = Application.GetRealHeight(253); @@ -186,8 +223,12 @@ btnLevel.Text = "5" + strRank; break; } + listview.ScrollEnabled = false; }; - + seekBar1.OnStopTrackingTouchEvent += (sender, e) => + { + listview.ScrollEnabled = true; + }; seekBar1.OnStopTrackingTouchEvent += (div, value) => { if (value == 0) @@ -286,8 +327,8 @@ frameColor.UseClickStatu = false; frameColor.Width = Application.GetRealHeight(262); frameColor.Height = this.GetPictrueRealSize(79); - frameColor.Gravity = Gravity.CenterVertical; - frameColor.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262); + frameColor.Y = Application.GetRealHeight(26); + frameColor.X = listview.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262); frameBack.AddChidren(frameColor); //棰滆壊 @@ -305,21 +346,25 @@ int B1 = Convert.ToInt32(this.keyColorData.OpenColorB, 16); uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1); - //棰滆壊澶栨 - var btnColorLine = new FrameLayoutStatuControl(); - btnColorLine.Width = Application.GetRealHeight(79); - btnColorLine.Height = this.GetPictrueRealSize(79); - btnColorLine.X = btnColorView.Right + Application.GetRealHeight(18); - btnColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2; - btnColorLine.BorderWidth = 1; - btnColorLine.BorderColor = 0xffcccccc; - frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent); + //棰滆壊澶栨 + 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(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false); + //鍒嗕袱姝ヨ绠楋紝涓嶇劧鏈夊彲鑳藉畠寰楀嚭鐨勭粨鏋滄湁璇樊瀵艰嚧涓嶅眳涓� + int btnColorWidth = frameColorLine.Height - this.GetPictrueRealSize(7) - this.GetPictrueRealSize(7); + var btnColor = new NormalViewControl(btnColorWidth, btnColorWidth, false); btnColor.Gravity = Gravity.Center; - btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2; + btnColor.Radius = (uint)btnColorWidth / 2; btnColor.BackgroundColor = backColor; - btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEvent); + frameColorLine.AddChidren(btnColor, ChidrenBindMode.NotBind); + frameColor.ChangedChidrenBindMode(frameColorLine, ChidrenBindMode.BindEvent); var btnRight = new NormalViewControl(this.GetPictrueRealSize(58), this.GetPictrueRealSize(58), false); btnRight.UnSelectedImagePath = "Item/RightNext.png"; @@ -330,47 +375,22 @@ frameColor.ButtonClickEvent += (sender, e) => { - PanelColor(btnColor, R1, G1, B1); - }; - btnColorView.ButtonClickEvent += (sender, e) => - { - PanelColor(btnColor, R1, G1, B1); - }; - btnColor.ButtonClickEvent += (sender, e) => - { - PanelColor(btnColor, R1, G1, B1); - }; - btnColorLine.ButtonClickEvent += (sender, e) => - { - PanelColor(btnColor, R1, G1, B1); - }; - btnRight.ButtonClickEvent += (sender, e) => - { - PanelColor(btnColor, R1, G1, B1); + var form = new PanelColorSelectForm(); + form.AddForm(R1, G1, B1); + form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => + { + R1 = Rcolor; + G1 = Gcolor; + B1 = Bcolor; + + this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16); + this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16); + this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16); + + btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); + }; }; } - - /// <summary> - /// PanelColorSelectForm - /// </summary> - private void PanelColor(NormalViewControl btnColor, int R1, int G1, int B1) - { - var form = new PanelColorSelectForm(); - form.AddForm(R1, G1, B1); - form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => - { - R1 = Rcolor; - G1 = Gcolor; - B1 = Bcolor; - - this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16); - this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16); - this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16); - - btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)Bcolor); - }; - } - #endregion #region 鈻� 鑺傝兘妯″紡琛宊________________________ @@ -380,7 +400,7 @@ /// <param name="frameLinght">鍚勭鑳屽厜鐏殑瀹瑰櫒(鎺т欢浼哥缉浣跨敤)</param> private void AddEnergyConservationRow() { - //缂╁皬:170 鎵╁ぇ:429 + //缂╁皬:170 鎵╁ぇ:614 var frameBack = new FrameRowControl(); frameBack.BackgroundColor = UserCenterColor.Current.White; frameBack.UseClickStatu = false; @@ -396,7 +416,7 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; energyModeInfo.enable = btnSwitch.IsSelected; //灞曞紑鎴栬�呯缉灏忕殑楂樺害 - var value = Application.GetRealHeight(443); + var value = Application.GetRealHeight(614); if (btnSwitch.IsSelected == true) { frameBack.Height += value; @@ -405,6 +425,7 @@ { frameBack.Height -= value; } + this.FinishInitControl(listview, energyModeInfo.enable); }; if (energyModeInfo.enable == true) { @@ -431,12 +452,18 @@ var seekBar1 = new SeekBarControl(); seekBar1.Y = Application.GetRealHeight(253); seekBar1.ProgressBarColor = 0xff3e99f4; + seekBar1.SeekBarPadding = 25; frameBack.AddChidren(seekBar1); seekBar1.ProgressChangedEvent += (div, value) => { btnProgress1.Text = value + "%"; //鏁版嵁鍙樻洿 energyModeInfo.level = value; + listview.ScrollEnabled = false; + }; + seekBar1.OnStopTrackingTouchEvent += (sender, e) => + { + listview.ScrollEnabled = true; }; seekBar1.Progress = energyModeInfo.level; @@ -460,11 +487,21 @@ if (energyModeInfo.enable == true) { //灞曞紑鎴栬�呯缉灏忕殑楂樺害 - var value = Application.GetRealHeight(443); + var value = Application.GetRealHeight(614); frameBack.Height += value; } //娣诲姞鎺ヨ繎鎰熷簲 this.AddProximitySensorsRow(frameBack); + //搴曠嚎 + var btnLine = new NormalViewControl(965, 5, true); + btnLine.Height = 1; + btnLine.X = Application.GetRealWidth(52); + btnLine.Y = Application.GetRealHeight(484 + 127); + btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; + frameBack.AddChidren(btnLine); + + //娣诲姞鐫$湢鏃堕棿 + this.AddSleepTimeRow(frameBack); } #endregion @@ -482,9 +519,9 @@ frameBack.UseClickStatu = false; frameBack.Y = Application.GetRealHeight(443); frameBack.Height = Application.GetRealHeight(170); - frameRowControl.AddChidren(frameBack); - - //鎺ヨ繎鎰熷簲 + frameRowControl.AddChidren(frameBack); + + //鎺ヨ繎鎰熷簲 frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.ProximitySensors), 400); //寮�鍏虫帶浠� var btnSwitch = frameBack.AddMostRightSwitchIcon(); @@ -499,6 +536,100 @@ btnSwitch.IsSelected = true; } } + #endregion + + #region 鈻� 鐫$湢鏃堕棿___________________________ + + /// <summary> + /// 鐫$湢鏃堕棿琛� + /// </summary> + private void AddSleepTimeRow(FrameRowControl frameRowControl) + { + //鐫$湢鏃堕棿琛� + var frameBack = new FrameRowControl(); + frameBack.BackgroundColor = UserCenterColor.Current.White; + frameBack.UseClickStatu = false; + frameBack.Y = Application.GetRealHeight(784 - 170); + frameBack.Height = Application.GetRealHeight(170); + frameRowControl.AddChidren(frameBack); + + //鐫$湢鏃堕棿 + frameBack.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.SleepTime), 400); + //鍙崇澶� + frameBack.AddRightArrow(); + btnSleepTime = new NormalViewControl(700, true); + switch (energyModeInfo.time) + { + case 15: + btnSleepTime.Text = "15s"; + nowSelectNo = 0; + break; + case 60: + btnSleepTime.Text = "1min"; + nowSelectNo = 1; + break; + case 300: + btnSleepTime.Text = "5min"; + nowSelectNo = 2; + break; + } + frameBack.AddMostRightView(this.sleepTimeText, 700); + + timeAction = null; + timeAction += (nowSelectNo) => + { + switch (nowSelectNo) + { + case 0: + energyModeInfo.time = 15; + break; + case 1: + energyModeInfo.time = 60; + break; + case 2: + energyModeInfo.time = 300; + break; + } + AddSleepTimeRow(frameRowControl); + }; + frameBack.ButtonClickEvent += (sender, e) => + { + this.ShowSelectDeviceSleepTimeListForm(); + }; + } + + #region 鈻� 鏄剧ず閫夋嫨璁惧鐫$湢鏃堕棿_______________ + /// <summary> + /// 鏄剧ず閫夋嫨璁惧鐫$湢鏃堕棿鐨勭晫闈� + /// </summary> + public void ShowSelectDeviceSleepTimeListForm() + { + //鏄剧ず鍒楄〃 + var listText = new List<string>(); + listText.Add("15s"); + listText.Add("1min"); + listText.Add("5min"); + //鏍囬:閫夋嫨鍔熻兘绫诲瀷 + var title = Language.StringByID(R.MyInternationalizationString.SleepTime); + + var form = new BottomItemSelectForm(); + form.CancelCallEvent = false;//鍏佽鍙栨秷 + form.AddForm(title, listText, null, nowSelectNo); + form.FinishSelectEvent += (selectNo) => + { + if (selectNo == nowSelectNo) + { + //閫夋嫨鐨勬槸鐩稿悓鐨� + return; + } + //-1:閫夋嫨鍙栨秷 + this.sleepTimeText = selectNo == -1 ? string.Empty : listText[selectNo]; + nowSelectNo = selectNo; + //璋冪敤鍥炶皟鍑芥暟 + this.timeAction?.Invoke(nowSelectNo); + }; + } + #endregion #endregion #region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________ @@ -557,11 +688,10 @@ /// </summary> private async void SavePanelData() { - this.ShowProgressBar(); - - //鑺傝兘妯″紡淇敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�) - //璁惧鍚屼簨璇存柊椋庨潰鏉块粯璁�60绉掓椂闂达紝杩欐牱鎺ヨ繎鎰熷簲鍔熻兘鎵嶅悎鐞� - energyModeInfo.time = 60; + this.ShowProgressBar(); + + //鑺傝兘妯″紡淇敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�) + var result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); if (result == false) { @@ -633,8 +763,8 @@ private uint GetColorByRGB(byte R, byte G, byte B) { return (uint)(0xFF000000 + R * 256 * 256 + G * 256 + B); - } - + } + #endregion - } -} + } +} -- Gitblit v1.8.0