From f3e65daca7978b21b5888f49b1bf35e1a6e5d4fd Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 13 七月 2020 12:33:31 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs | 232 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 198 insertions(+), 34 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs index 248ffea..6148494 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using System.Threading.Tasks; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePanel @@ -30,7 +31,28 @@ /// 鎸夐敭鐨勯鑹叉暟鎹� /// </summary> 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 鈻� 鍒濆鍖朹____________________________ @@ -79,10 +101,15 @@ //娣诲姞灞忓箷浜害绾у埆鎺т欢 this.AddScreenBrightnesLevelControl(); - //娣诲姞鑳屽厜鐏寒搴︽帶浠躲�愭殏鏃朵笉闇�瑕侊紝鍙兘鍚庢湡鏂伴闈㈡澘鐨勮繖涓鑹茶琛ュ洖鏉ャ�� - this.AddBackLightControl(); - //銆愭殏鏃朵笉闇�瑕侊紝鍙兘鍚庢湡鏂伴闈㈡澘鐨勮繖涓鑹茶琛ュ洖鏉ャ�� - //this.FinishInitControl(listview, energyModeInfo.enable); + //鑾峰彇璁惧绫诲瀷鐨� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { panelDevice }); + if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleEnvironment) + { + //娣诲姞闈㈡澘鐨勯鑹� + this.AddColorControl(); + } + + this.FinishInitControl(listview, energyModeInfo.enable); //淇濆瓨 var btnSave = new BottomClickButton(); @@ -147,6 +174,7 @@ //杩涘害鏉� var seekBar1 = new SeekBarControl(); + seekBar1.SeekBarPadding = 25; seekBar1.MaxValue = 5; seekBar1.ProgressBarColor = 0xff3e99f4; seekBar1.Y = Application.GetRealHeight(253); @@ -187,8 +215,12 @@ btnLevel.Text = "5" + strRank; break; } + listview.ScrollEnabled = false; }; - + seekBar1.OnStopTrackingTouchEvent += (sender, e) => + { + listview.ScrollEnabled = true; + }; seekBar1.OnStopTrackingTouchEvent += (div, value) => { if (value == 0) @@ -262,7 +294,7 @@ /// <summary> /// 娣诲姞鑳屽厜棰滆壊鎺т欢 /// </summary> - private void AddBackLightControl() + private void AddColorControl() { var btnEspace = new NormalViewControl(600, 58, true); btnEspace.X = ControlCommonResourse.XXLeft; @@ -299,7 +331,7 @@ 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); @@ -314,37 +346,61 @@ btnColorLine.Radius = (uint)this.GetPictrueRealSize(79) / 2; btnColorLine.BorderWidth = 1; btnColorLine.BorderColor = 0xffcccccc; - frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEventOnly); + frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent); var btnColor = new NormalViewControl(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false); btnColor.Gravity = Gravity.Center; btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2; btnColor.BackgroundColor = backColor; - btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEventOnly); + btnColorLine.AddChidren(btnColor, ChidrenBindMode.BindEvent); 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 - this.GetPictrueRealSize(58); - frameColor.AddChidren(btnRight, ChidrenBindMode.BindEventOnly); + frameColor.AddChidren(btnRight, ChidrenBindMode.BindEvent); btnRight.Y += this.GetPictrueRealSize(8); frameColor.ButtonClickEvent += (sender, e) => { - var form = new PanelColorSelectForm(); - form.AddForm(R1, G1, B1); - form.FinishSelectColorEvent += (Rcolor, Gcolor, Bcolor) => - { - R1 = Rcolor; - G1 = Gcolor; - B1 = Bcolor; + 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); + }; + } - this.keyColorData.OpenColorR = Convert.ToString(Rcolor, 16); - this.keyColorData.OpenColorG = Convert.ToString(Gcolor, 16); - this.keyColorData.OpenColorB = Convert.ToString(Bcolor, 16); + /// <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; - btnColor.BackgroundColor = this.GetColorByRGB((byte)Rcolor, (byte)Gcolor, (byte)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); }; } @@ -373,7 +429,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; @@ -382,7 +438,6 @@ { frameBack.Height -= value; } - //瀹瑰櫒琛ュ厖 this.FinishInitControl(listview, energyModeInfo.enable); }; if (energyModeInfo.enable == true) @@ -410,12 +465,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; @@ -439,11 +500,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 @@ -480,6 +551,100 @@ } #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 鈻� 鑾峰彇鍒濆鏁版嵁_______________________ /// <summary> @@ -491,7 +656,7 @@ //寮�鍚繘搴︽潯 this.ShowProgressBar(); //浜害璋冭妭(浠栦滑璇撮殢渚挎嬁涓�璺洖璺氨琛屼簡) - linghtLevelInfo = await HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice); + linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice); if (linghtLevelInfo == null) { //鍏抽棴杩涘害鏉� @@ -507,14 +672,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.GetPanelColorInfo(panelDevice); if (this.keyColorData == null) { //鍏抽棴杩涘害鏉� @@ -539,9 +704,8 @@ this.ShowProgressBar(); //鑺傝兘妯″紡淇敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�) - //璁惧鍚屼簨璇存柊椋庨潰鏉块粯璁�60绉掓椂闂达紝杩欐牱鎺ヨ繎鎰熷簲鍔熻兘鎵嶅悎鐞� - energyModeInfo.time = 60; - var result = await HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); + + var result = HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode(panelDevice, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); if (result == false) { this.CloseProgressBar(); @@ -556,7 +720,7 @@ } //浜害璋冭妭鏇存敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�) - result = await HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); + result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); if (result == false) { this.CloseProgressBar(); @@ -564,7 +728,7 @@ } //璁剧疆鎸夐敭闈㈡澘棰滆壊鐨勪俊鎭� - result = await HdlDevicePanelLogic.Current.SetPanelColorInfo(panelDevice, this.keyColorData); + result = HdlDevicePanelLogic.Current.SetPanelColorInfo(panelDevice, this.keyColorData); this.CloseProgressBar(); if (result == false) { -- Gitblit v1.8.0