From efad979b6fae76fb37a4de7e94e6bac0a85cb72c Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 30 十一月 2021 13:14:28 +0800 Subject: [PATCH] 2021-11-30 1.修复乐橙Android,没调用拒接接口问题。 --- HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs | 321 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 269 insertions(+), 52 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs index 4874520..ab536d6 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/1ContorlPage/AcControlPage.cs @@ -1,4 +1,5 @@ 锘縰sing System; +using System.Collections.Generic; using HDL_ON.DriverLayer; using HDL_ON.Entity; using HDL_ON.Stan; @@ -35,6 +36,10 @@ /// 妯″紡鎸夐挳 /// </summary> Button btnMode; + /// <summary> + /// 鎵鎸夐挳 + /// </summary> + Button btnSwing; /// <summary> /// 椋庨�熸寜閽� /// </summary> @@ -105,12 +110,12 @@ }; 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 = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + arcBar.Progress = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); btnTemp = new Button() { @@ -121,7 +126,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = 50, IsBold = true, - Text = device.GetAttrState(FunctionAttributeKey.SetTemp), + Text = Convert.ToDouble( device.GetAttrState(FunctionAttributeKey.SetTemp)).ToString(), TextAlignment = TextAlignment.Center, }; FrameWhiteCentet1.AddChidren(btnTemp); @@ -181,6 +186,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() { @@ -309,19 +329,137 @@ 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(); if (device.GetAttrState(FunctionAttributeKey.Mode) == "fan") { arcBar.IsClickable = false; + arcBar.IsOffline = true; } else { + 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; @@ -408,9 +546,9 @@ TextSize = CSS_FontSize.TextFontSize, }; modeChangeView.AddChidren(btnFanText); - btnFanIcon.UnSelectedImagePath = acFunction.GetModeIconPath(m,false); - btnFanIcon.SelectedImagePath = acFunction.GetModeIconPath(m); - btnFanText.Text = acFunction.GetModeAttrText(m); + btnFanIcon.UnSelectedImagePath = acFunction.GetFanIconPath(m,false); + btnFanIcon.SelectedImagePath = acFunction.GetFanIconPath(m); + btnFanText.Text = acFunction.GetFanAttrText(m); if (modeList.IndexOf(m) < modeList.Count - 1) { @@ -436,7 +574,7 @@ System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); d.Add(FunctionAttributeKey.FanSpeed, m); Control.Ins.SendWriteCommand(device, d); - btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath; + //btnWindSpeed.UnSelectedImagePath = btnFanIcon.UnSelectedImagePath; dialog.Close(); }; btnFanIcon.MouseUpEventHandler = eventHandler1; @@ -457,9 +595,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); @@ -469,6 +607,7 @@ }; } } + /// <summary> /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈� /// </summary> @@ -484,28 +623,37 @@ var bodyView = new FrameLayout() { - Y = Application.GetRealHeight(463), - Height = Application.GetRealHeight(375), + Y = Application.GetRealHeight(427),//667 + Height = Application.GetRealHeight(240), BackgroundColor = CSS_Color.MainBackgroundColor, }; div.AddChidren(bodyView); - var contentView = new FrameLayout() + var contentView = new VerticalScrolViewLayout() { Y = Application.GetRealHeight(16), Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(296), + Width = Application.GetRealWidth(296+200), }; bodyView.AddChidren(contentView); - var row = new FrameLayout() - { - Height = Application.GetRealHeight(60), - }; - contentView.AddChidren(row); - int index = 0; - foreach (var attr in device.attributes) + var row = new FrameLayout() + { + Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, + }; + contentView.AddChidren(row); + + int index = 0; + List<FunctionAttributes> attrList = new List<FunctionAttributes>(); + attrList.AddRange(device.attributes); + attrList.Add(new FunctionAttributes() { + key = "+", + }); + + foreach (var attr in attrList) { if (attr.key == FunctionAttributeKey.Mode || attr.key == FunctionAttributeKey.OnOff @@ -522,26 +670,75 @@ { row = new FrameLayout() { - Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(56), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, }; contentView.AddChidren(row); } - - var btn = new Button() + if (attr.key == "+") { - 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, - }; + var addView = new FrameLayout() + { + 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), + }; + + + if (index % 3 == 1) + { + addView.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + addView.X = Application.GetRealWidth(208); + } + row.AddChidren(addView); + + var btnAdd = new Button() + { + Gravity = Gravity.Center, + UnSelectedImagePath = "Public/PlusSignIcon.png", + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + }; + addView.AddChidren(btnAdd); + + btnAdd.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + Action action = () => { + LoadDialog_IrMoreView(); + }; + var addButton = new AcControlPage_AddIrButton(action); + MainPage.BasePageView.AddChidren(addButton); + addButton.Show(device); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + + } + else + { + + 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, + }; if (attr.value.Count > 0) { btn.Text = attr.value[0]; @@ -558,8 +755,8 @@ btn.MouseUpEventHandler = (sender, e) => { - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.Key, attr.key); + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(attr.key, ""); Control.Ins.SendWriteCommand(device, d); new System.Threading.Thread(() => @@ -573,15 +770,10 @@ { IsBackground = true }.Start(); }; - + } index++; } - - - - - dialog.Show(); } @@ -621,7 +813,7 @@ { return; } - var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); if (temp <= device.GetAttribute(FunctionAttributeKey.Mode).min) { return; @@ -640,7 +832,7 @@ { return; } - var temp = Convert.ToInt32(device.GetAttrState(FunctionAttributeKey.SetTemp)); + var temp = (int)Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp)); if (temp >= device.GetAttribute(FunctionAttributeKey.SetTemp).max) { return; @@ -666,7 +858,17 @@ device.SetAttrState(FunctionAttributeKey.SetTemp, e.ToString()); btnTemp.Text = e.ToString(); }; + //arcBar.MouseDownEventHandler = (sender, e) => { + // Console.WriteLine("ddd"); + // MainPage.BasePageView.ScrollEnabled =false; + //}; + //arcBar.MouseUpEventHandler = (sender, e) => { + // Console.WriteLine("ddd2"); + // MainPage.BasePageView.ScrollEnabled = true; + //}; } + + /// <summary> /// 鎺у埗妯″紡浜嬩欢 /// </summary> @@ -679,6 +881,15 @@ return; } LoadDiv_ChangeModeView(); + }; + //鎵鏀瑰彉妯″紡 + btnSwing.MouseUpEventHandler = (sender, e) => + { + if (device.trait_on_off.curValue.ToString() == "off") + { + return; + } + LoadDiv_ChangeSwingView(); }; btnWindSpeed.MouseUpEventHandler = (sender, e) => { @@ -722,13 +933,18 @@ { Application.RunOnMainThread(() => { - btnTemp.Text = device.GetAttrState(FunctionAttributeKey.SetTemp); - btnIndoorTemp.Text = Language.StringByID(StringId.IndoorTemp) + Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.IndoorTemp))) + "掳C"; - btnMode.UnSelectedImagePath = acFunction.GetModeIconPath(device.GetAttrState(FunctionAttributeKey.Mode)); - btnWindSpeed.UnSelectedImagePath = acFunction.GetFanIconPath(device.GetAttrState(FunctionAttributeKey.FanSpeed)); + 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.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); arcBar.Progress = Convert.ToInt32(Convert.ToDouble(device.GetAttrState(FunctionAttributeKey.SetTemp))); 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"; @@ -743,6 +959,7 @@ } else { + btnMode.IsSelected = btnSwing.IsSelected = btnWindSpeed.IsSelected = false; arcBar.IsOffline = true; btnSwitch.IsSelected = false; arcBar.IsClickable = false; -- Gitblit v1.8.0