From 623b1b77900ca2804d76426e5e0c003249eef324 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 09 一月 2023 14:03:58 +0800 Subject: [PATCH] 方悦0.5精度空调 --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs | 395 ++++++++++++++++++++++++-------------------------------- 1 files changed, 171 insertions(+), 224 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs index be06592..3b3a26d 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs @@ -14,15 +14,16 @@ /// <summary> /// 绌鸿皟娓╁害鎺у埗鎺т欢 /// </summary> - DiyArcSeekBar arcBar; + //DiyArcSeekBar arcBar; + DiyImageSeekBar setTempBar; /// <summary> /// 鍑忓彿鎸夐挳 /// </summary> - Button btnMinus; + //Button btnMinus; /// <summary> /// 鍔犲彿鎸夐挳 /// </summary> - Button btnPlus; + //Button btnPlus; /// <summary> /// 娓╁害鎸夐挳 /// </summary> @@ -55,10 +56,6 @@ /// 鎺у埗鏃堕棿 /// </summary> DateTime controlTime = DateTime.MinValue.AddDays(10); - /// <summary> - /// 鎺у埗娓╁害 - /// </summary> - int temp = 16; #endregion @@ -95,23 +92,6 @@ this.RefreshFormStatu(); //璇诲彇鐘舵�� Control.Ins.SendReadCommand(device); - //new System.Threading.Thread(() => - //{ - // while (true) - // { - // if(controlTime == DateTime.MinValue) - // { - - // } - // else if (controlTime.AddSeconds(2)<DateTime.Now) - // { - // Control.Ins.SendReadCommand(device); - // controlTime = DateTime.MinValue; - // } - // System.Threading.Thread.Sleep(1000); - // } - //}) - //{ IsBackground = true }.Start(); } /// <summary> @@ -121,7 +101,7 @@ { //鑾峰彇娓╁害鍊� string setTempTemp = device.GetAttrState(FunctionAttributeKey.SetTemp); - temp = (int) Convert.ToDouble(setTempTemp); + var temp = (int)Convert.ToDouble(setTempTemp); if (temp <= 0) { //榛樿鍊兼敼鎴�16,2022骞�06鏈�10鏃�10:03:19 鎴愮敨瑕佹眰鐨� @@ -130,99 +110,123 @@ } - - arcBar = new DiyArcSeekBar() + var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp); { - Gravity = Gravity.CenterHorizontal, - OpenAngle = 160, - ThumbImageHeight = Application.GetRealWidth(50), - ProgressBarColor = CSS_Color.MainColor, - OfflineProgressBarColor = CSS_Color.PromptingColor2, - ArcColor = CSS_Color.BackgroundColor, -#if __IOS__ - Y = Application.GetRealHeight(120 + 25), - Width = Application.GetRealWidth(260 - 40), - Height = Application.GetRealWidth(260 - 40), - SeekBarPadding = Application.GetRealWidth(8), -#else - Y = Application.GetRealHeight(120 + 40), - Width = Application.GetRealWidth(260 - 40), - Height = Application.GetRealWidth(260 - 40), - SeekBarPadding = Application.GetRealWidth(7), -#endif - - }; - FrameWhiteCentet1.AddChidren(arcBar); - - - arcBar.ThumbImagePath = device.GetAttrState(FunctionAttributeKey.OnOff) == "on" ? "FunctionIcon/AC/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png"; - arcBar.IsOffline = device.GetAttrState(FunctionAttributeKey.OnOff) == "off"; - arcBar.MinValue = device.GetAttribute(FunctionAttributeKey.SetTemp).min; - arcBar.MaxValue = device.GetAttribute(FunctionAttributeKey.SetTemp).max; - arcBar.Progress = temp; - - btnTemp = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(206), - Width = Application.GetRealWidth(71), - Height = Application.GetRealWidth(60), - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = 50, - IsBold = true, - Text = "111", - TextAlignment = TextAlignment.Center, - }; - btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5); - btnTemp.Text = Convert.ToDouble(temp).ToString(); - FrameWhiteCentet1.AddChidren(btnTemp); + btnTemp = new Button() + { + Y = Application.GetRealHeight(121), + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealHeight(70), + TextAlignment = TextAlignment.TopCenter, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = 60, + Text = "---", + IsBold = true, + }; + if(setTempAttr.step == "0.5") + { + btnTemp.Text = Convert.ToDouble(setTempAttr.curValue).ToString("0.0"); + } + else + { + btnTemp.Text = setTempAttr.curValue.ToString(); + } + btnTemp.Width = btnTemp.GetTextWidth(); + FrameWhiteCentet1.AddChidren(btnTemp); - btnTempUint = new Button() - { - X = btnTemp.Right, - Y = btnTemp.Y, - Width = Application.GetRealWidth(30), - Height = Application.GetRealHeight(30), - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.EmphasisFontSize_Secondary, - IsBold = true, - TextAlignment = TextAlignment.CenterLeft, - Text = "掳C", - }; - FrameWhiteCentet1.AddChidren(btnTempUint); + btnTempUint = new Button() + { + X = btnTemp.Right, + Y = Application.GetRealHeight(131), + Width = Application.GetRealWidth(30), + Height = Application.GetRealHeight(30), + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + IsBold = true, + TextAlignment = TextAlignment.CenterLeft, + Text = "掳C", + }; + FrameWhiteCentet1.AddChidren(btnTempUint); - btnIndoorTemp = new Button() - { - Gravity = Gravity.CenterHorizontal, - Y = btnTemp.Bottom, - Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(20), - Text = Language.StringByID(StringId.Indoor) + " 20掳C", - TextColor = CSS_Color.PromptingColor1, - TextSize = CSS_FontSize.PromptFontSize_FirstLevel, - }; - FrameWhiteCentet1.AddChidren(btnIndoorTemp); + btnIndoorTemp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = btnTemp.Bottom, + Width = Application.GetRealWidth(120), + Height = Application.GetRealHeight(30), + Text = Language.StringByID(StringId.Indoor) + " 20掳C", + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextAlignment = TextAlignment.TopCenter, + }; + FrameWhiteCentet1.AddChidren(btnIndoorTemp); - btnMinus = new Button() - { - X = Application.GetRealWidth(21), - Y = Application.GetRealHeight(263), - Width = Application.GetRealWidth(32), - Height = Application.GetRealWidth(32), - UnSelectedImagePath = "Public/MinusSignIcon.png", - }; - FrameWhiteCentet1.AddChidren(btnMinus); + var setTempView = new FrameLayout() + { + Height = Application.GetRealHeight(80), + Y = Application.GetRealHeight(10) + btnIndoorTemp.Bottom, + }; + FrameWhiteCentet1.AddChidren(setTempView); - btnPlus = new Button() - { - X = Application.GetRealWidth(275), - Y = Application.GetRealHeight(263), - Width = Application.GetRealWidth(32), - Height = Application.GetRealWidth(32), - UnSelectedImagePath = "Public/PlusSignIcon.png", - }; - FrameWhiteCentet1.AddChidren(btnPlus); + var btnMinTemp = new Button() + { + X = Application.GetRealWidth(26), + Width = Application.GetRealWidth(18), + TextAlignment = TextAlignment.Center, + Text = setTempAttr.min.ToString(), + TextSize = 12, + TextColor = 0xFFC0C7D4, + }; + setTempView.AddChidren(btnMinTemp); + + setTempBar = new DiyImageSeekBar() + { + X = btnMinTemp.Right, + Y = Application.GetRealHeight(4), + Width = Application.GetRealWidth(240), + //Height = Application.GetRealHeight(41), + //ProgressBarColor = CSS_Color.MainColor, + //SeekBarBackgroundColor = CSS_Color.BackgroundColor, + //MinValue = 16, + //MaxValue = 30, + //IsProgressTextShow = false, + //ThumbImageHeight = 30, + + //Width = Application.GetRealWidth(238), + Height = Application.GetRealHeight(72), + SeekBarViewHeight = Application.GetRealHeight(14), + ThumbImagePath = "FunctionIcon/Acst/ThumbImage.png", + ThumbImageHeight = Application.GetRealHeight(51), + ProgressBarColor = device.trait_on_off.curValue.ToString() == "on" ? CSS_Color.MainColor : CSS_Color.DividingLineColor, + Progress = 0, + SeekBarPadding = Application.GetRealWidth(20), + IsProgressTextShow = false, + ProgressChangeDelayTime = 0, + }; + if (setTempAttr.step == "0.5") + { + setTempBar.MaxValue = (setTempAttr.max - setTempAttr.min) * 2; + } + else + { + setTempBar.MaxValue = (setTempAttr.max - setTempAttr.min); + } + setTempView.AddChidren(setTempBar); + + var btnMaxTemp = new Button() + { + X = setTempBar.Right, + Width = Application.GetRealWidth(18), + TextAlignment = TextAlignment.Center, + Text = setTempAttr.max.ToString(), + TextSize = 12, + TextColor = 0xFFC0C7D4, + }; + setTempView.AddChidren(btnMaxTemp); + + } + btnMode = new Button() { @@ -271,7 +275,33 @@ }; FrameWhiteCentet1.AddChidren(btnSwitch); - LoadEvent_TempChange(); + setTempBar.OnProgressChangedEvent = (sender, e) => { + if (setTempAttr.step == "0.5") + { + btnTemp.Text = (setTempAttr.min + ((double)e / 2)).ToString("0.0"); + } + else + { + btnTemp.Text = (setTempAttr.min + e).ToString(); + } + }; + setTempBar.OnStopTrackingTouchEvent = (sender,e) =>{ + temp = e; + device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); + if (setTempAttr.step == "0.5") + { + btnTemp.Text = (setTempAttr.min + ((double)e / 2)).ToString("0.0"); + } + else + { + btnTemp.Text = (setTempAttr.min + e).ToString(); + } + controlTime = DateTime.Now; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.SetTemp, e.ToString()); + Control.Ins.SendWriteCommand(device, d); + }; + LoadEvent_AcStatesChange(); LoadDiv_IrView(); @@ -391,13 +421,14 @@ dialog.Close(); if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { - arcBar.IsClickable = false; - arcBar.IsOffline = true; + + setTempBar.IsClickable = false; + setTempBar.IsOffline = true; } else { - arcBar.IsOffline = false; - arcBar.IsClickable = true; + setTempBar.IsOffline = false; + setTempBar.IsClickable = true; } }; btnModeIcon.MouseUpEventHandler = eventHandler1; @@ -890,96 +921,6 @@ /// </summary> void LoadEvent_TempChange() { - btnMinus.MouseUpEventHandler = (sender, e) => - { - //if (!device.online) - //{ - // new Tip() - // { - // CloseTime = 1, - // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), - // Direction = AMPopTipDirection.None, - // }.Show(MainPage.BaseView); - //} - if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") - { - return; - } - - if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min) - { - return; - } - --temp; - Console.WriteLine($"temp == {temp}"); - controlTime = DateTime.Now; - arcBar.Progress = temp; - btnTemp.Text = temp.ToString(); - //btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5); - //btnTempUint.X = btnTemp.Right; - device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); - Control.Ins.SendWriteCommand(device, d); - }; - btnPlus.MouseUpEventHandler = (sender, e) => - { - //if (!device.online) - //{ - // new Tip() - // { - // CloseTime = 1, - // Text = Language.StringByID(StringId.DeviceOfflineCannotOption), - // Direction = AMPopTipDirection.None, - // }.Show(MainPage.BaseView); - //} - if (device.trait_on_off.curValue.ToString() == "off" || device.GetAttrState(FunctionAttributeKey.Mode) == "fan") - { - return; - } - if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) - { - return; - } - ++temp; - controlTime = DateTime.Now; - arcBar.Progress = temp; - btnTemp.Text = temp.ToString(); - //btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5); - //btnTempUint.X = btnTemp.Right; - device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.SetTemp, temp.ToString()); - Control.Ins.SendWriteCommand(device, d); - }; - //if (device.online) - { - arcBar.OnStopTrackingTouchEvent = (sender, e) => - { - temp = arcBar.Progress; - device.SetAttrState(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); - btnTemp.Text = arcBar.Progress.ToString(); - controlTime = DateTime.Now; - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add(FunctionAttributeKey.SetTemp, arcBar.Progress.ToString()); - Control.Ins.SendWriteCommand(device, d); - }; - arcBar.OnProgressChangedEvent = (sender, e) => - { - device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); - btnTemp.Text = e.ToString(); - //btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5); - //btnTempUint.X = btnTemp.Right; - }; - //arcBar.MouseDownEventHandler = (sender, e) => { - // Console.WriteLine("ddd"); - // MainPage.BasePageView.ScrollEnabled =false; - //}; - //arcBar.MouseUpEventHandler = (sender, e) => { - // Console.WriteLine("ddd2"); - // MainPage.BasePageView.ScrollEnabled = true; - //}; - } } /// <summary> @@ -1028,15 +969,13 @@ device.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; if (device.trait_on_off.curValue.ToString() == "on") { - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; btnSwitch.IsSelected = true; - arcBar.IsOffline = false; + setTempBar.IsOffline = false; } else { - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; btnSwitch.IsBold = false; - arcBar.IsOffline = true; + setTempBar.IsOffline = true; } System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.OnOff, device.trait_on_off.curValue.ToString()); @@ -1071,42 +1010,50 @@ btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode), false); btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing), false); btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed), false); - temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."))); - + + if (device.GetAttribute(FunctionAttributeKey.SetTemp).step == "0.5") + { + var t = Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", ".")); + var temp = (int)(t * 2); + setTempBar.Progress = temp - device.GetAttribute(FunctionAttributeKey.SetTemp).min * 2; + btnTemp.Text = Convert.ToDouble(t).ToString("0.0"); + } + else + { + var temp = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp).Replace(",", "."))); + setTempBar.Progress = temp - device.GetAttribute(FunctionAttributeKey.SetTemp).min; + btnTemp.Text = temp.ToString(); + } - arcBar.Progress = temp; - btnTemp.Text = temp.ToString(); //btnTemp.Width = btnTemp.GetTextWidth() + Application.GetRealWidth(5); //btnTempUint.X = btnTemp.Right; if (device.trait_on_off.curValue.ToString() == "on") { btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true; - arcBar.IsOffline = false; + setTempBar.IsOffline = false; btnSwitch.IsSelected = true; - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { - arcBar.IsClickable = false; + setTempBar.IsClickable = false; } else { - arcBar.IsClickable = true; + setTempBar.IsClickable = true; } } else { btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false; - arcBar.IsOffline = true; + setTempBar.IsOffline = true; btnSwitch.IsSelected = false; - arcBar.IsClickable = false; - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + setTempBar.IsClickable = false; } if(device.GetAttrState(FunctionAttributeKey.Mode) == "dry") { - arcBar.IsOffline = true; - arcBar.IsClickable = false; + setTempBar.IsOffline = true; + setTempBar.IsClickable = false; } } -- Gitblit v1.8.0