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 | 329 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 224 insertions(+), 105 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirBackLightSettionForm.cs index 7e3c14c..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 鈻� 鍒濆鍖朹____________________________ @@ -78,10 +100,16 @@ //娣诲姞灞忓箷浜害绾у埆鎺т欢 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(); @@ -146,6 +174,7 @@ //杩涘害鏉� var seekBar1 = new SeekBarControl(); + seekBar1.SeekBarPadding = 25; seekBar1.MaxValue = 5; seekBar1.ProgressBarColor = 0xff3e99f4; seekBar1.Y = Application.GetRealHeight(253); @@ -186,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) @@ -256,12 +289,12 @@ } #endregion - #region 鈻� 鑳屽厜鐏寒搴________________________ + #region 鈻� 鑳屽厜棰滆壊_________________________ /// <summary> - /// 娣诲姞鑳屽厜鐏寒搴︽帶浠� + /// 娣诲姞鑳屽厜棰滆壊鎺т欢 /// </summary> - private void AddBackLightControl() + private void AddColorControl() { var btnEspace = new NormalViewControl(600, 58, true); btnEspace.X = ControlCommonResourse.XXLeft; @@ -270,125 +303,104 @@ //鑳屾櫙 var frameBack = new FrameLayout(); frameBack.Y = Application.GetRealHeight(490); - frameBack.Height = Application.GetRealHeight(429); + frameBack.Height = Application.GetRealHeight(170); frameBack.BackgroundColor = UserCenterColor.Current.White; listview.AddChidren(frameBack); - //鑳屽厜鐏寒搴� + //鑳屽厜鐏鑹� var btnLevelView = new NormalViewControl(400, 60, true); btnLevelView.X = ControlCommonResourse.XXLeft; btnLevelView.Y = Application.GetRealHeight(54); - btnLevelView.TextID = R.MyInternationalizationString.uBacklightBrightness; + btnLevelView.Gravity = Gravity.CenterVertical; + btnLevelView.TextID = R.MyInternationalizationString.BackgroundLightColor; frameBack.AddChidren(btnLevelView); - - //褰撳墠浜害 - var btnProgressView1 = new NormalViewControl(200, 50, true); - btnProgressView1.X = ControlCommonResourse.XXLeft; - btnProgressView1.Y = Application.GetRealHeight(157); - btnProgressView1.TextSize = 12; - btnProgressView1.TextColor = UserCenterColor.Current.TextGrayColor1; - btnProgressView1.TextID = R.MyInternationalizationString.uNowLuminance; - frameBack.AddChidren(btnProgressView1); - var btnProgress1 = new NormalViewControl(200, 50, true); - btnProgress1.X = Application.GetRealWidth(222); - btnProgress1.Y = Application.GetRealHeight(157); - btnProgress1.TextSize = 12; - btnProgress1.TextColor = UserCenterColor.Current.TextGrayColor1; - btnProgress1.Text = "70%"; - frameBack.AddChidren(btnProgress1); - - //杩涘害鏉� - var seekBar1 = new SeekBarControl(); - seekBar1.Y = Application.GetRealHeight(253); - frameBack.AddChidren(seekBar1); - seekBar1.ProgressChangedEvent += (div, value) => - { - btnProgress1.Text = value + "%"; - }; - //seekBar1.Progress = linghtLevelInfo.panelBacklightLevel; - - var btnTemp1 = new NormalViewControl(200, 50, true); - btnTemp1.X = ControlCommonResourse.XXLeft; - btnTemp1.Y = Application.GetRealHeight(322); - btnTemp1.TextSize = 12; - btnTemp1.TextColor = UserCenterColor.Current.TextGrayColor3; - btnTemp1.Text = "0%"; - frameBack.AddChidren(btnTemp1); - - var btnTemp2 = new NormalViewControl(200, 50, true); - btnTemp2.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealWidth(200); - btnTemp2.Y = Application.GetRealHeight(322); - btnTemp2.TextAlignment = TextAlignment.CenterRight; - btnTemp2.TextSize = 12; - btnTemp2.TextColor = UserCenterColor.Current.TextGrayColor3; - btnTemp2.Text = "100%"; - frameBack.AddChidren(btnTemp2); var frameColor = new FrameLayoutStatuControl(); frameColor.UseClickStatu = false; frameColor.Width = Application.GetRealHeight(262); frameColor.Height = this.GetPictrueRealSize(79); - frameColor.Y = Application.GetRealHeight(26); + frameColor.Gravity = Gravity.CenterVertical; frameColor.X = frameBack.Width - ControlCommonResourse.XXLeft - Application.GetRealHeight(262); frameBack.AddChidren(frameColor); + //棰滆壊 - var btnColorView = new NormalViewControl(Application.GetRealHeight(110), this.GetPictrueRealSize(50), 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("d8", 16); - int G1 = Convert.ToInt32("95", 16); - int B1 = Convert.ToInt32("e3", 16); + int R1 = Convert.ToInt32(this.keyColorData.OpenColorR, 16); + int G1 = Convert.ToInt32(this.keyColorData.OpenColorG, 16); + int B1 = Convert.ToInt32(this.keyColorData.OpenColorB, 16); uint backColor = this.GetColorByRGB((byte)R1, (byte)G1, (byte)B1); - //棰滆壊澶栨 - var btnColorLine = new NormalViewControl(this.GetPictrueRealSize(79), this.GetPictrueRealSize(79), false); + //棰滆壊澶栨 + 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 = 0xff666666; - frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEventOnly); + btnColorLine.BorderColor = 0xffcccccc; + frameColor.AddChidren(btnColorLine, ChidrenBindMode.BindEvent); var btnColor = new NormalViewControl(this.GetPictrueRealSize(69), this.GetPictrueRealSize(69), false); - btnColor.Y = Application.GetRealHeight(5); - btnColor.X = btnColorView.Right + Application.GetRealHeight(23); + btnColor.Gravity = Gravity.Center; btnColor.Radius = (uint)this.GetPictrueRealSize(69) / 2; - btnColor.BackgroundColor = UserCenterColor.Current.ErrorColor; - frameColor.AddChidren(btnColor, ChidrenBindMode.BindEventOnly); - - //鍙樻洿婊戝姩鏉$殑棰滆壊 - seekBar1.ProgressBarColor = backColor; + btnColor.BackgroundColor = backColor; + 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.CloseColorR = Convert.ToString(Rcolor, 16); - //this.keyColorData.CloseColorG = Convert.ToString(Gcolor, 16); - //this.keyColorData.CloseColorB = 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); - //鍙樻洿婊戝姩鏉$殑棰滆壊 - seekBar1.ProgressBarColor = btnColor.BackgroundColor; - }; + 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); }; } @@ -417,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; @@ -426,7 +438,6 @@ { frameBack.Height -= value; } - //瀹瑰櫒琛ュ厖 this.FinishInitControl(listview, energyModeInfo.enable); }; if (energyModeInfo.enable == true) @@ -454,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; @@ -483,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 @@ -524,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> @@ -535,7 +656,7 @@ //寮�鍚繘搴︽潯 this.ShowProgressBar(); //浜害璋冭妭(浠栦滑璇撮殢渚挎嬁涓�璺洖璺氨琛屼簡) - linghtLevelInfo = await HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice); + linghtLevelInfo = HdlDevicePanelLogic.Current.GetDeviceLightSettion(panelDevice); if (linghtLevelInfo == null) { //鍏抽棴杩涘害鏉� @@ -551,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) { //鍏抽棴杩涘害鏉� @@ -583,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(); @@ -600,24 +720,23 @@ } //浜害璋冭妭鏇存敼(浠栦滑璇撮殢渚夸竴涓洖璺氨琛�) - result = await HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); + result = HdlDevicePanelLogic.Current.SetDeviceLightSettion(panelDevice, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); if (result == false) { this.CloseProgressBar(); return; } - //璁剧疆鎸夐敭闈㈡澘鎸囧畾绔偣鐨勩�愭寚绀虹伅寮�鍏抽鑹层�戠殑淇℃伅 - //result = await HdlDevicePanelLogic.Current.SetPanelEpointColorInfo(panelDevice, this.keyColorData); - //this.CloseProgressBar(); - //if (result == false) - //{ - // return; - //} + //璁剧疆鎸夐敭闈㈡澘棰滆壊鐨勪俊鎭� + result = HdlDevicePanelLogic.Current.SetPanelColorInfo(panelDevice, this.keyColorData); + this.CloseProgressBar(); + if (result == false) + { + return; + } //鍏抽棴鑷韩 this.CloseForm(); } - #endregion #region 鈻� 琛ュ厖瀹瑰櫒___________________________ -- Gitblit v1.8.0