From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 15 十二月 2021 09:01:53 +0800 Subject: [PATCH] 更新 --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs | 295 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 247 insertions(+), 48 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs index 9aa7f00..56c921d 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs @@ -37,6 +37,10 @@ /// </summary> Button btnMode; /// <summary> + /// 鎵鎸夐挳 + /// </summary> + Button btnSwing; + /// <summary> /// 椋庨�熸寜閽� /// </summary> Button btnWindSpeed; @@ -47,7 +51,14 @@ AC acFunction = new AC(); - + /// <summary> + /// 鎺у埗鏃堕棿 + /// </summary> + DateTime controlTime = DateTime.MinValue.AddDays(10); + /// <summary> + /// 鎺у埗娓╁害 + /// </summary> + int temp = 16; #endregion @@ -58,6 +69,19 @@ /// </summary> public override void InitFrameWhiteContent() { + + var sk = device.GetAttribute(FunctionAttributeKey.SetTemp); + if (sk != null) + { + if (sk.min == 0) + { + sk.min = 16; + } + if (sk.max == 0) + { + sk.max = 32; + } + } base.ShowColltionButton = false; base.SetTitleText(Language.StringByID(StringId.Electric)); @@ -72,7 +96,19 @@ //璇诲彇鐘舵�� new System.Threading.Thread(() => { - Control.Ins.SendReadCommand(device); + 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(); } @@ -82,7 +118,7 @@ /// </summary> private void InitFrameWhiteContent1() { - + temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); arcBar = new DiyArcSeekBar() { Gravity = Gravity.CenterHorizontal, @@ -106,7 +142,7 @@ }; 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; @@ -182,6 +218,21 @@ UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)), }; FrameWhiteCentet1.AddChidren(btnMode); + + + btnSwing = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(330), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/AC/SweepIconNullOn.png", + }; + if (device.GetAttribute(FunctionAttributeKey.Swing) != null) + { + FrameWhiteCentet1.AddChidren(btnSwing); + } + btnWindSpeed = new Button() { @@ -310,8 +361,7 @@ btnModeIcon.IsSelected = btnModeText.IsSelected = true; device.SetAttrState(FunctionAttributeKey.Mode, m); btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(m); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - //btnMode.UnSelectedImagePath = btnModeIcon.UnSelectedImagePath; + Dictionary<string, string> d = new Dictionary<string, string>(); d.Add(FunctionAttributeKey.Mode, m); Control.Ins.SendWriteCommand(device, d); dialog.Close(); @@ -325,6 +375,123 @@ arcBar.IsOffline = false; arcBar.IsClickable = true; } + }; + btnModeIcon.MouseUpEventHandler = eventHandler1; + btnModeText.MouseUpEventHandler = eventHandler1; + dialogView.MouseUpEventHandler = eventHandler; + + } + + dialogView.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + dialog.Show(); + } + + /// <summary> + /// 鍔犺浇淇敼鎵妯″紡鍖哄煙 + /// </summary> + void LoadDiv_ChangeSwingView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(dialogView); + + FrameLayout modeChangeView; + modeChangeView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(128), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(287), + BackgroundImagePath = "FunctionIcon/AC/DivBg2.png", + }; + dialogView.AddChidren(modeChangeView); + + Button btnTitle; + btnTitle = new Button() + { + X = Application.GetRealWidth(8 + 16), + Y = Application.GetRealHeight(8), + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(44), + TextID = StringId.Swing, + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + }; + modeChangeView.AddChidren(btnTitle); + + Button btnLine = new Button() + { + X = btnTitle.X, + Y = btnTitle.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }; + modeChangeView.AddChidren(btnLine); + + var modeList = device.GetAttribute(FunctionAttributeKey.Swing).value; + foreach (var m in modeList) + { + Button btnModeIcon = new Button() + { + X = btnTitle.X, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + }; + modeChangeView.AddChidren(btnModeIcon); + + Button btnModeText = new Button() + { + X = Application.GetRealWidth(12) + btnModeIcon.Right, + Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), + Height = Application.GetRealHeight(44), + Width = Application.GetRealWidth(90), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainColor, + IsSelected = device.GetAttrState(FunctionAttributeKey.Swing) == m, + TextSize = CSS_FontSize.TextFontSize, + }; + modeChangeView.AddChidren(btnModeText); + + if (modeList.IndexOf(m) < modeList.Count - 1) + { + modeChangeView.AddChidren(new Button() + { + X = btnTitle.X, + Y = btnModeText.Bottom, + Width = Application.GetRealWidth(112), + Height = Application.GetRealHeight(1), + BackgroundColor = CSS_Color.BackgroundColor, + }); + } + + btnModeIcon.UnSelectedImagePath = acFunction.GetSwingIconPath(m, false); + btnModeIcon.SelectedImagePath = acFunction.GetSwingIconPath(m); + btnModeText.Text = acFunction.GetSwingAttrText(m); + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => + { + dialog.Close(); + }; + EventHandler<MouseEventArgs> eventHandler1 = (sender, e) => + { + btnModeIcon.IsSelected = btnModeText.IsSelected = true; + device.SetAttrState(FunctionAttributeKey.Swing, m); + btnSwing.UnSelectedImagePath = acFunction.GetSwingIconPath(m); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.Swing, m); + Control.Ins.SendWriteCommand(device, d); + dialog.Close(); }; btnModeIcon.MouseUpEventHandler = eventHandler1; btnModeText.MouseUpEventHandler = eventHandler1; @@ -460,9 +627,9 @@ var btnMore = new Button() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(334), - Width = Application.GetRealWidth(30), - Height = Application.GetRealWidth(30), + Y = Application.GetRealHeight(334 + 80), + Width = Application.GetRealWidth(35), + Height = Application.GetRealWidth(35), UnSelectedImagePath = "FunctionIcon/AC/More.png", }; FrameWhiteCentet1.AddChidren(btnMore); @@ -591,19 +758,19 @@ { var btn = new Button() - { - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(88), - Height = Application.GetRealHeight(40), - Radius = (uint)Application.GetRealHeight(18), - BorderColor = CSS_Color.PromptingColor1, - BorderWidth = (uint)Application.GetRealWidth(2), - TextAlignment = TextAlignment.Center, - TextSize = CSS_FontSize.TextFontSize, - TextColor = CSS_Color.FirstLevelTitleColor, - SelectedTextColor = CSS_Color.MainBackgroundColor, - SelectedBackgroundColor = CSS_Color.MainColor, - }; + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; if (attr.value.Count > 0) { btn.Text = attr.value[0]; @@ -678,12 +845,14 @@ { return; } - var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); - if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min) + + if (temp <= device.GetAttribute(FunctionAttributeKey.SetTemp).min) { return; } - temp--; + --temp; + Console.WriteLine($"temp == {temp}"); + controlTime = DateTime.Now; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); @@ -697,12 +866,12 @@ { return; } - var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) { return; } - temp++; + ++temp; + controlTime = DateTime.Now; arcBar.Progress = temp; btnTemp.Text = temp.ToString(); device.SetAttrState(FunctionAttributeKey.SetTemp, temp.ToString()); @@ -732,6 +901,8 @@ // MainPage.BasePageView.ScrollEnabled = true; //}; } + + /// <summary> /// 鎺у埗妯″紡浜嬩欢 /// </summary> @@ -744,6 +915,15 @@ return; } LoadDiv_ChangeModeView(); + }; + //鎵鏀瑰彉妯″紡 + btnSwing.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeSwingView(); }; btnWindSpeed.MouseUpEventHandler = (sender, e) => { @@ -787,32 +967,51 @@ { Application.RunOnMainThread(() => { - btnTemp.Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(); - btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C"; - btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); - btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); - arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp))); - if (device.trait_on_off.curValue.ToString() == "on") + //app鑷繁鎺у埗鐨勪笉鐢ㄦ洿鏂帮紝浼氶�犳垚璺冲姩 + if (controlTime.AddSeconds(2) > DateTime.Now) { - arcBar.IsOffline = false; - btnSwitch.IsSelected = true; - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; - if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") - { - arcBar.IsClickable = false; - } - else - { - arcBar.IsClickable = true; - } + return; } else { - arcBar.IsOffline = true; - btnSwitch.IsSelected = false; - arcBar.IsClickable = false; - arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.RoomTemp))) + "掳C"; + btnMode.SelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); + btnSwing.SelectedImagePath = acFunction.GetSwingIconPath(device.GetAttrState(FunctionAttributeKey.Swing)); + btnWindSpeed.SelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); + 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))); + + + arcBar.Progress = temp; + btnTemp.Text = temp.ToString() ; + + if (device.trait_on_off.curValue.ToString() == "on") + { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = true; + arcBar.IsOffline = false; + btnSwitch.IsSelected = true; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIconOn.png"; + if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") + { + arcBar.IsClickable = false; + } + else + { + arcBar.IsClickable = true; + } + } + else + { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false; + arcBar.IsOffline = true; + btnSwitch.IsSelected = false; + arcBar.IsClickable = false; + arcBar.ThumbImagePath = "FunctionIcon/AC/DiyThumbIcon.png"; + } } + }); } -- Gitblit v1.8.0