From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 01 十二月 2022 09:56:25 +0800 Subject: [PATCH] 2022年12月01日09:56:23 --- ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceColorTemperatureLightDetailCardForm.cs | 52 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 32 insertions(+), 20 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceColorTemperatureLightDetailCardForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceColorTemperatureLightDetailCardForm.cs index f233a45..89c017a 100755 --- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceColorTemperatureLightDetailCardForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceColorTemperatureLightDetailCardForm.cs @@ -19,10 +19,6 @@ /// </summary> private List<ButtonBase> listControl = new List<ButtonBase>(); /// <summary> - /// MaxLevel - /// </summary> - private const int MaxLevel = 254; - /// <summary> /// 褰╃伅鎺т欢 /// </summary> private WaveSeekBar waveSeekBar = null; @@ -53,8 +49,12 @@ this.ScrollEnabled = false; //鍏堟竻绌� this.listControl = new List<ButtonBase>(); + //璁剧疆鍒濆鐘舵�� + this.IsLightOpen = ((LightBase)this.device).OnOffStatus == 1; + this.canSetProgressValue = this.IsLightOpen; + //璁剧疆鐘舵�佹枃瀛� - if (((LightBase)this.device).OnOffStatus == 1) + if (this.IsLightOpen == true) { //浜害 XX this.SetStatuText(Language.StringByID(R.MyInternationalizationString.uBrightness) + " " + HdlDeviceOtherLogic.Current.GetDeviceStatu(this.device)); @@ -73,9 +73,16 @@ waveSeekBar.Gravity = Gravity.CenterHorizontal; waveSeekBar.WavePadding = Application.GetRealWidth(8); waveSeekBar.MaxValue = 100; - waveSeekBar.Progress = (int)(((ColorTemperatureLight)this.device).Level * 1.0 / MaxLevel * 100); + waveSeekBar.Progress = HdlDeviceCommonLogic.Current.CalculateLightLevelPersent(((ColorTemperatureLight)this.device).Level); waveSeekBar.CornerRadius = Application.GetRealHeight(58); - waveSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End); + if (this.IsLightOpen == true) + { + waveSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End); + } + else + { + waveSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor); + } frameWhiteBack.AddChidren(waveSeekBar); //寮�鍏� @@ -84,6 +91,7 @@ btnSwitch.SelectedImagePath = "Item/SwitchSelected.png"; btnSwitch.Y = waveSeekBar.Bottom + Application.GetRealHeight(418); btnSwitch.Gravity = Gravity.CenterHorizontal; + btnSwitch.IsSelected = this.IsLightOpen; frameWhiteBack.AddChidren(btnSwitch); listControl.Add(btnSwitch); btnSwitch.ButtonClickEvent += (sender, e) => @@ -91,14 +99,6 @@ //鍙戦�佸紑鍏冲懡浠� this.SetSwitchCommand(!btnSwitch.IsSelected); }; - - //璁剧疆鍒濆鐘舵�� - this.IsLightOpen = ((LightBase)this.device).OnOffStatus == 1; - this.canSetProgressValue = this.IsLightOpen; - if (IsLightOpen == true) - { - btnSwitch.IsSelected = true; - } //褰╃伅鎺т欢閲岄潰鐨勯偅涓樉绀虹櫨鍒嗘瘮鐨勬帶浠� int progressY = waveSeekBar.Y - Application.GetMinReal(154); @@ -151,7 +151,7 @@ else { //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�,鐩存帴鏀圭紦瀛� - ((ColorTemperatureLight)this.device).Level = value * MaxLevel / 100; + ((ColorTemperatureLight)this.device).Level = HdlDeviceCommonLogic.Current.CalculateLightLevel(value); //浜害 XX this.SetStatuText(Language.StringByID(R.MyInternationalizationString.uBrightness) + " " + HdlDeviceOtherLogic.Current.GetDeviceStatu(this.device)); } @@ -212,7 +212,7 @@ if (nowProgressValue != oldProgressValue) { oldProgressValue = nowProgressValue; - ((ColorTemperatureLight)this.device).SetLevel((int)(oldProgressValue * MaxLevel / 100.0)); + ((ColorTemperatureLight)this.device).SetLevel(HdlDeviceCommonLogic.Current.CalculateLightLevel(oldProgressValue)); } //鍙戦�佽壊娓╁�� if (nowColorValue != oldColorValue) @@ -226,7 +226,7 @@ if (nowProgressValue != oldProgressValue) { //鍙戦�佷寒搴﹀�� - ((ColorTemperatureLight)this.device).SetLevel((int)(nowProgressValue * MaxLevel / 100.0)); + ((ColorTemperatureLight)this.device).SetLevel(HdlDeviceCommonLogic.Current.CalculateLightLevel(nowProgressValue)); } if (nowColorValue != oldColorValue) { @@ -288,7 +288,7 @@ if (level == 0) { //濡傛灉褰撳墠鏄墦寮�鐘舵��,骞朵笖浜害涓�0鐨勮瘽,鍒欓渶瑕佸彉鎴�100%浜害 - this.device.GetType().InvokeMember("SetLevel", System.Reflection.BindingFlags.InvokeMethod, null, this.device, new object[] { 254 }); + this.device.GetType().InvokeMember("SetLevel", System.Reflection.BindingFlags.InvokeMethod, null, this.device, new object[] { 255 }); } else { @@ -350,11 +350,23 @@ { //寮�鍏崇姸鎬佸彉鏇� listControl[0].IsSelected = isOpen; + if (isOpen == true) + { + waveSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarColor_Start, ZigbeeColor.Current.GXCWaveSeekBarColor_End); + } + else + { + waveSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor); + } } if (this.isProgressing == false) { //褰撹繘搴﹀�煎湪鎵嬪姩鍙樻洿涓椂,涓嶆帴鏀舵帹閫� - waveSeekBar.Progress = (int)(((ColorTemperatureLight)this.device).Level * 1.0 / MaxLevel * 100); + int progress = HdlDeviceCommonLogic.Current.CalculateLightLevelPersent(((ColorTemperatureLight)this.device).Level); + if (waveSeekBar.Progress != progress) + { + waveSeekBar.Progress = progress; + } } this.IsLightOpen = isOpen; -- Gitblit v1.8.0