From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs | 324 +++++++++++++++++++++++++++++------------------------- 1 files changed, 174 insertions(+), 150 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs index 714191b..97c577b 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs @@ -18,6 +18,7 @@ VerticalScrolViewLayout contentView; + string helloText = "涓婂崍濂�"; #region 澶╂皵鎺т欢 Button btnOutdoorTemp; @@ -65,134 +66,7 @@ public AcstParentPage() { basePage = this; - this.function = FunctionList.List.GetAcstParentList()[0]; - this.BackgroundColor = CSS.CSS_Color.BackgroundColor; - contentView = new VerticalScrolViewLayout() { - Height = Application.GetRealHeight(667 - 56), - }; - this.AddChidren(contentView); - subViewList = new Dictionary<string, AcstSubControlView>(); - } - /// <summary> - /// 鏇存柊澶╂皵淇℃伅 - /// </summary> - public void InitGetWeatherAction() - { - MainPage.CityWeatherAction = () => - { - Application.RunOnMainThread(() => - { - btnOutdoorTemp.Text = MainPage.cityInfo.temperature + "掳"; - btnWeather.Text = MainPage.cityInfo.weather; - btnHumidityValues.Text = MainPage.cityInfo.humidity + "%"; - btnHumidityValues.Width = btnHumidityValues.GetTextWidth() + Application.GetRealWidth(10); - btnPm25Values.Text = MainPage.cityInfo.pm25; - btnPm25Values.Width = btnPm25Values.GetTextWidth() + Application.GetRealWidth(10); - }); - }; - } - /// <summary> - /// 鏇存柊涓绘帶鏁版嵁淇℃伅 - /// </summary> - public static void UpdateAcstParentInfo(Function temp) - { - if (basePage == null) - { - return; - } - Application.RunOnMainThread(() => - { - if (basePage.sensorDiyView_Temp != null) - 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, true); - if (basePage.sensorDiyView_Pm25 != null) - 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, false); - if (basePage.sensorDiyView_Tvoc != null) - 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, false); - if (basePage.sensorDiyView_EleMonth != null) - 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, false); - - - - switch (temp.GetAttrState("mode")) - { - case "cool"://鍒跺喎 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png"; - break; - case "heat"://鍒剁儹 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatIcon2.png"; - break; - case "fan"://閫氶 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeFanIcon2.png"; - break; - case "dry"://闄ゆ箍 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeDeHumiIcon2.png"; - break; - case "humidity"://鍔犳箍 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHumiIcon2.png"; - break; - case "heat_humidity"://鍒剁儹鍔犳箍 - basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png"; - basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatHumiIcon2.png"; - break; - } - switch (temp.GetAttrState("scene")) - { - case "at_home"://鍦ㄥ - basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png"; - basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAtHome2.png"; - break; - case "leave_home"://绂诲 - basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png"; - basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAwayHomeIcon2.png"; - break; - case "sleep"://鐫$湢 - basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png"; - basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png"; - break; - } - basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.GetAttrState("on_off") == "on"; - }); - } - - - /// <summary> - /// 鏇存柊瀛愭帶淇℃伅 - /// </summary> - /// <param name="temp"></param> - public static void UpdateAcstSubInfo(Function temp) - { - if(basePage == null) - { - return; - } - Application.RunOnMainThread(() => { - var view = basePage.subViewList[temp.sid]; - if(view!= null) - { - view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%"; - view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳"; - view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on"; - } - }); - } - - public void LoadPage() - { var curTime = DateTime.Now; - string helloText = "涓婂崍濂�"; if (Language.CurrentLanguage != "Chinese") { helloText = "Good morning"; @@ -224,11 +98,158 @@ { helloText = "Good evening"; } - + curColor = 0xFF9175F3; imageFolder = "purple"; } + this.function = FunctionList.List.GetAcstParentList()[0]; + this.BackgroundColor = CSS.CSS_Color.BackgroundColor; + //this.AddChidren(new Button() { Height = Application.GetRealHeight(50), BackgroundColor = curColor }); + contentView = new VerticalScrolViewLayout() { + Height = Application.GetRealHeight(667 - 56), + }; + this.AddChidren(contentView); + subViewList = new Dictionary<string, AcstSubControlView>(); + } + /// <summary> + /// 鏇存柊澶╂皵淇℃伅 + /// </summary> + public void InitGetWeatherAction() + { + MainPage.CityWeatherAction = () => + { + Application.RunOnMainThread(() => + { + btnOutdoorTemp.Text = MainPage.cityInfo.temperature + "掳"; + btnWeather.Text = MainPage.cityInfo.weather; + btnHumidityValues.Text = MainPage.cityInfo.humidity + "%"; + btnHumidityValues.Width = btnHumidityValues.GetTextWidth() + Application.GetRealWidth(10); + btnPm25Values.Text = MainPage.cityInfo.pm25; + btnPm25Values.Width = btnPm25Values.GetTextWidth() + Application.GetRealWidth(10); + }); + }; + } + /// <summary> + /// 鏇存柊涓绘帶鏁版嵁淇℃伅 + /// </summary> + public static void UpdateAcstParentInfo(Function temp) + { + try + { + if (basePage == null) + { + return; + } + Application.RunOnMainThread(() => + { + if (basePage.sensorDiyView_Temp != null) + 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, true); + if (basePage.sensorDiyView_Pm25 != null) + 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, false); + if (basePage.sensorDiyView_Tvoc != null) + 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, false); + if (basePage.sensorDiyView_EleMonth != null) + 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, false); + + + switch (temp.GetAttrState("mode")) + { + case "cool"://鍒跺喎 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png"; + break; + case "heat"://鍒剁儹 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatIcon2.png"; + break; + case "fan"://閫氶 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeFanIcon2.png"; + break; + case "dry"://闄ゆ箍 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeDeHumiIcon2.png"; + break; + case "humidity"://鍔犳箍 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHumiIcon2.png"; + break; + case "heat_humidity"://鍒剁儹鍔犳箍 + basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png"; + basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatHumiIcon2.png"; + break; + } + switch (temp.GetAttrState("scene")) + { + case "at_home"://鍦ㄥ + basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png"; + basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAtHome2.png"; + break; + case "leave_home"://绂诲 + basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png"; + basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAwayHomeIcon2.png"; + break; + case "sleep"://鐫$湢 + basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png"; + basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png"; + break; + } + basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.GetAttrState("on_off") == "on"; + }); + }catch (Exception ex) + { + MainPage.Log("绉戞妧绯荤粺鏇存柊鏁版嵁澶辫触"); + } + } + + + /// <summary> + /// 鏇存柊瀛愭帶淇℃伅 + /// </summary> + /// <param name="temp"></param> + public static void UpdateAcstSubInfo(Function temp) + { + try + { + if (basePage == null) + { + return; + } + Application.RunOnMainThread(() => + { + try + { + AcstSubControlView view = null; + basePage.subViewList.TryGetValue(temp.sid, out view); + if (view != null) + { + view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%"; + view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳"; + view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on"; + } + } + catch (Exception ex ) { + MainPage.Log($"绉戞妧绯荤粺鏇存柊寮傚父1:{ex.Message}"); + } + }); + } + catch (Exception ex) + { + MainPage.Log($"绉戞妧绯荤粺鏇存柊寮傚父123:{ex.Message}"); + } + } + + public void LoadPage() + { #region 澶撮儴淇℃伅鍖哄煙 FrameLayout topView = new FrameLayout() { @@ -450,7 +471,7 @@ { tempValues = tempValues.Remove(tempValues.IndexOf('.'), tempValues.Length - tempValues.IndexOf('.')); } - sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳", Language.StringByID(StringId.Temp)); + sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳","", Language.StringByID(StringId.Temp)); } if (humiObj != null) { @@ -459,19 +480,19 @@ { humiValues = humiValues.Remove(humiValues.IndexOf('.'), humiValues.Length - humiValues.IndexOf('.')); } - sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", Language.StringByID(StringId.Humidity)); + sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", "", Language.StringByID(StringId.Humidity)); } if (pm25Obj != null) { - sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.state == "" ? "--" : pm25Obj.state, "", "PM2.5"); + sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.state == "" ? "--" : pm25Obj.state, "", "", "PM2.5"); } if (co2Obj != null) { - sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.state == "" ? "--" : co2Obj.state, "", "CO2"); + sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.state == "" ? "--" : co2Obj.state, "", "", "CO2"); } if (tvocObj != null) { - sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.state == "" ? "--" : tvocObj.state, "", "TVOC"); + sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.state == "" ? "--" : tvocObj.state, "", "", "TVOC"); } #endregion @@ -493,7 +514,7 @@ { text = "Power"; } - sensorDiyView_EleActivePower = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state, "KW", text, 100); + sensorDiyView_EleActivePower = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state, "", "KW", text, 100); } if (dayObj != null) { @@ -502,7 +523,7 @@ { text = "Power of today"; } - sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "KWh", text, 100); + sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "", "KWh", text, 100); } if (monthObj != null) { @@ -511,7 +532,7 @@ { text = "Power of month"; } - sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.state == "" ? "--" : monthObj.state, "KWh", text, 100); + sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.state == "" ? "--" : monthObj.state, "", "KWh", text, 100); } @@ -576,7 +597,7 @@ var btnTitleText2 = new Button() { X = btnCollection.Right, - Text = "鎴戠殑瀹跺涵", + TextID = StringId.MyHome, TextSize = 16, TextColor = 0xFF242424, TextAlignment = TextAlignment.CenterLeft, @@ -584,10 +605,6 @@ Height = Application.GetRealHeight(54), }; subTitleView.AddChidren(btnTitleText2); - if(Language.CurrentLanguage != "Chinese") - { - btnTitleText2.Text = "My Home"; - } int subFunctionCount = 0; @@ -603,6 +620,10 @@ { try { +#if DEBUG + System.Threading.Thread.Sleep(200); +#endif + foreach (var sub in FunctionList.List.GetAcstSubList()) { if (subViewList.ContainsKey(sub.sid)) @@ -624,11 +645,14 @@ AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView, imageFolder); subViewList.Add(sub.sid, subFunctionView); - new System.Threading.Thread(() => + if (basePage != null) { - Control.Ins.SendReadCommand(sub); - }) - { IsBackground = true }.Start(); + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(sub); + }) + { IsBackground = true }.Start(); + } subFunctionCount++; }); @@ -1152,7 +1176,7 @@ public string Tag; public string unitString; - public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string unitStr,string text,int setWidth = 60) + public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string unitStr, string unitStr2, string text,int setWidth = 60) { unitString = unitStr; if (string.IsNullOrEmpty(value)) @@ -1177,7 +1201,7 @@ TextAlignment = TextAlignment.Center, TextColor = color, TextSize = 20, - Text = value, + Text = value + unitString, }; contentView.AddChidren(btnValue); @@ -1192,9 +1216,9 @@ }; contentView.AddChidren(btnText); - if(!string.IsNullOrEmpty(unitString)) + if(!string.IsNullOrEmpty(unitStr2)) { - btnText.Text += "(" + unitString + ")"; + btnText.Text += "(" + unitStr2 + ")"; } @@ -1206,7 +1230,7 @@ { value = value.Remove(value.IndexOf('.'), value.Length - value.IndexOf('.')); } - btnValue.Text = value; + btnValue.Text = value + unitString; } } -- Gitblit v1.8.0