From 02498f7744e6fdc413e518f96b25f3635540dc6b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 15 十一月 2022 11:27:38 +0800 Subject: [PATCH] 金茂科技系统更新 --- HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs | 236 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 136 insertions(+), 100 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs index 8f2b256..714191b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs @@ -16,7 +16,8 @@ { static AcstParentPage basePage; - VerticalScrolViewLayout bodyView; + VerticalScrolViewLayout contentView; + #region 澶╂皵鎺т欢 Button btnOutdoorTemp; @@ -66,8 +67,10 @@ basePage = this; this.function = FunctionList.List.GetAcstParentList()[0]; this.BackgroundColor = CSS.CSS_Color.BackgroundColor; - bodyView = new VerticalScrolViewLayout(); - this.AddChidren(bodyView); + contentView = new VerticalScrolViewLayout() { + Height = Application.GetRealHeight(667 - 56), + }; + this.AddChidren(contentView); subViewList = new Dictionary<string, AcstSubControlView>(); } /// <summary> @@ -100,21 +103,21 @@ Application.RunOnMainThread(() => { if (basePage.sensorDiyView_Temp != null) - basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state); + basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state,true); if (basePage.sensorDiyView_Humi != null) - basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state); + basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state, true); if (basePage.sensorDiyView_Pm25 != null) - basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state); + basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state,false); if (basePage.sensorDiyView_Co2 != null) - basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state); + basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state, false); if (basePage.sensorDiyView_Tvoc != null) - basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state); + basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state, false); if (basePage.sensorDiyView_EleDay != null) - basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state); + basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state, false); if (basePage.sensorDiyView_EleMonth != null) - basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state); + basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state, false); if (basePage.sensorDiyView_EleActivePower != null) - basePage.sensorDiyView_EleActivePower.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.active_power.ToString()).state); + basePage.sensorDiyView_EleActivePower.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.active_power.ToString()).state, false); @@ -232,7 +235,7 @@ Height = Application.GetRealHeight(180), BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png", }; - bodyView.AddChidren(topView); + contentView.AddChidren(topView); var backView = new FrameLayout() { @@ -353,7 +356,7 @@ #endregion - bodyView.AddChidren(new Button + contentView.AddChidren(new Button { Height = Application.GetRealHeight(8), }); @@ -417,7 +420,7 @@ Height = Application.GetRealHeight(104), BackgroundColor = CSS.CSS_Color.MainBackgroundColor, }; - bodyView.AddChidren(infoView); + contentView.AddChidren(infoView); var infoContentView = new FrameLayout() { @@ -442,11 +445,21 @@ if (tempObj != null) { - sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.state == "" ? "--" : tempObj.state, "掳", Language.StringByID(StringId.Temp)); + string tempValues = tempObj.state == "" ? "--" : tempObj.state; + if (tempValues.Contains(".")) + { + tempValues = tempValues.Remove(tempValues.IndexOf('.'), tempValues.Length - tempValues.IndexOf('.')); + } + sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳", Language.StringByID(StringId.Temp)); } if (humiObj != null) { - sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.state == "" ? "--" : humiObj.state, "%", Language.StringByID(StringId.Humidity)); + string humiValues = humiObj.state == "" ? "--" : humiObj.state; + if (humiValues.Contains(".")) + { + humiValues = humiValues.Remove(humiValues.IndexOf('.'), humiValues.Length - humiValues.IndexOf('.')); + } + sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", Language.StringByID(StringId.Humidity)); } if (pm25Obj != null) { @@ -467,7 +480,7 @@ { Width = Application.GetRealWidth(100 * energyCount), Gravity = Gravity.Center, - Visible = false, + Visible = sensorCount == 0 }; if (energyCount > 0) { @@ -480,7 +493,6 @@ { text = "Power"; } - sensorDiyView_EleActivePower = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state, "KW", text, 100); } if (dayObj != null) @@ -490,7 +502,7 @@ { text = "Power of today"; } - sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "KW", text, 100); + sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "KWh", text, 100); } if (monthObj != null) { @@ -537,7 +549,7 @@ { Height = Application.GetRealHeight(54-11), }; - bodyView.AddChidren(subTitleView); + contentView.AddChidren(subTitleView); var btnCollection = new Button() { @@ -583,42 +595,53 @@ { Height = Application.GetRealHeight(88), }; - bodyView.AddChidren(subFunctionListView); + contentView.AddChidren(subFunctionListView); subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) }); - foreach (var sub in FunctionList.List.GetAcstSubList()) + new System.Threading.Thread(() => { - if (subViewList.ContainsKey(sub.sid)) + try { - continue; - } - - if (subFunctionCount > 0 && subFunctionCount % 2 == 0) - { - subFunctionListView = new HorizontalScrolViewLayout() + foreach (var sub in FunctionList.List.GetAcstSubList()) { - Height = Application.GetRealHeight(93), - }; - bodyView.AddChidren(subFunctionListView); - subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) }); + if (subViewList.ContainsKey(sub.sid)) + { + continue; + } + + Application.RunOnMainThread(() => + { + if (subFunctionCount > 0 && subFunctionCount % 2 == 0) + { + subFunctionListView = new HorizontalScrolViewLayout() + { + Height = Application.GetRealHeight(93), + }; + contentView.AddChidren(subFunctionListView); + subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) }); + } + + AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView, imageFolder); + subViewList.Add(sub.sid, subFunctionView); + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(sub); + }) + { IsBackground = true }.Start(); + subFunctionCount++; + }); + + System.Threading.Thread.Sleep(10); + } } - - AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView,imageFolder); - - subViewList.Add(sub.sid, subFunctionView); - - Control.Ins.SendReadCommand(sub); - - subFunctionCount++; - } - + catch { } + finally{ + + } + }).Start(); #endregion - bodyView.AddChidren(new Button() - { - Height = Application.GetRealHeight(72), - }); #region 搴曢儴鎺у埗鏍� var bottomView = new FrameLayout() @@ -643,10 +666,10 @@ bottomView.AddChidren(btnModeControl); btnModeControl.MouseUpEventHandler = (sender3, e3) => { - if(function.trait_on_off.state == "off") - { - return; - } + //if(function.trait_on_off.state == "off") + //{ + // return; + //} Dialog dialog = new Dialog(); var dialogView = new FrameLayout(); @@ -675,7 +698,7 @@ { X = Application.GetRealWidth(16), Width = Application.GetRealWidth(100), - TextID = StringId.SelectScene, + TextID = StringId.SelectMode, TextSize = 16, TextColor = CSS.CSS_Color.FirstLevelTitleColor, IsBold = true, @@ -752,41 +775,6 @@ heatView.AddChidren(heatIconButton); #endregion } - if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString())) - { - - #region 闄ゆ箍 - var dehumiView = new FrameLayout() - { - X = Application.GetRealWidth(2), - Width = Application.GetRealWidth(144), - Height = Application.GetRealHeight(44), - }; - dialogContentView.AddChidren(dehumiView); - dehumiView.AddChidren(new Button - { - Width = Application.GetRealWidth(112), - Gravity = Gravity.CenterHorizontal, - Height = 1, - BackgroundColor = CSS.CSS_Color.DividingLineColor, - }); - IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png", - Language.StringByID(StringId.Humidity), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString()); - dehumiIconButton.Click(() => - { - btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png"; - dialog.Close(); - new System.Threading.Thread(() => - { - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString()); - Control.Ins.SendWriteCommand(function, d); - }) - { IsBackground = true }.Start(); - }); - dehumiView.AddChidren(dehumiIconButton); - #endregion - } if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.fan.ToString())) { @@ -823,6 +811,40 @@ #endregion } + if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.dry.ToString())) + { + #region 闄ゆ箍 + var dehumiView = new FrameLayout() + { + X = Application.GetRealWidth(2), + Width = Application.GetRealWidth(144), + Height = Application.GetRealHeight(44), + }; + dialogContentView.AddChidren(dehumiView); + dehumiView.AddChidren(new Button + { + Width = Application.GetRealWidth(112), + Gravity = Gravity.CenterHorizontal, + Height = 1, + BackgroundColor = CSS.CSS_Color.DividingLineColor, + }); + IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png", + Language.StringByID(StringId.Dry), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString()); + dehumiIconButton.Click(() => + { + btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png"; + dialog.Close(); + new System.Threading.Thread(() => + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString()); + Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + }); + dehumiView.AddChidren(dehumiIconButton); + #endregion + } if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat_humidity.ToString())) { @@ -861,7 +883,6 @@ if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString())) { - #region 鍔犳箍 var humiView = new FrameLayout() { @@ -943,10 +964,10 @@ btnWorkSceneControl.MouseUpEventHandler = (sender2, e2) => { - if (function.trait_on_off.state == "off") - { - return; - } + //if (function.trait_on_off.state == "off") + //{ + // return; + //} Dialog dialog = new Dialog(); var dialogView = new FrameLayout(); @@ -1009,7 +1030,7 @@ Language.StringByID(StringId.AtHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.at_home.ToString()); atHomeIconButton.Click(() => { - btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png"; + btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png"; dialog.Close(); new System.Threading.Thread(() => { @@ -1046,7 +1067,7 @@ Language.StringByID(StringId.AwayHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.leave_home.ToString()); awayHomeIconButton.Click(() => { - btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png"; + btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png"; dialog.Close(); new System.Threading.Thread(() => { @@ -1084,7 +1105,7 @@ Language.StringByID(StringId.Sleep), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.sleep.ToString()); sleepIconButton.Click(() => { - btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png"; + btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png"; dialog.Close(); new System.Threading.Thread(() => { @@ -1108,7 +1129,11 @@ InitGetWeatherAction(); - Control.Ins.SendReadCommand(function); + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(function); + }) + { IsBackground = true }.Start(); } @@ -1152,7 +1177,7 @@ TextAlignment = TextAlignment.Center, TextColor = color, TextSize = 20, - Text = value + unitString, + Text = value, }; contentView.AddChidren(btnValue); @@ -1163,14 +1188,25 @@ TextAlignment = TextAlignment.Center, TextColor = 0xFF949AA5, TextSize = 12, - Text = text, + Text = text , }; contentView.AddChidren(btnText); + + if(!string.IsNullOrEmpty(unitString)) + { + btnText.Text += "(" + unitString + ")"; + } + + } - public void UpdateValue(string value) + public void UpdateValue(string value,bool isInt) { - btnValue.Text = value + unitString; + if (value.Contains(".") && isInt) + { + value = value.Remove(value.IndexOf('.'), value.Length - value.IndexOf('.')); + } + btnValue.Text = value; } } -- Gitblit v1.8.0