From 54c202bd4867092fca2bc6f96bec0cfd1056a46a Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 06 十一月 2023 11:24:20 +0800 Subject: [PATCH] 2023年11月06日11:23:46 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 208 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 152 insertions(+), 56 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs index ea27379..0309210 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs @@ -91,7 +91,7 @@ TextAlignment = TextAlignment.CenterLeft, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextColor = CSS_Color.FirstLevelTitleColor, - Text = MainPage.cityInfo.location, + Text = MainPage.cityInfo.city, }; topWeatherView.AddChidren(btnLocationText); @@ -274,7 +274,11 @@ int index = 0; foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) { - if(SPK.EvironmentSensorList().Contains(sensor.spk)) + if (sensor.spk == SPK.SensorPm10) + { + continue; + } + if(SPK.EvironmentSensorList().Contains(sensor.spk) ) { foreach (var seTemp in sensor.attributes) { @@ -388,6 +392,10 @@ imagePath = "FunctionIcon/EnvirSensor/HchoBg.png"; iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png"; break; + case SPK.SensorLight: + imagePath = "FunctionIcon/EnvirSensor/IlluminationBg.png"; + iconPath = "FunctionIcon/EnvirSensor/IlluminationIcon.png"; + break; } sensorView.BackgroundImagePath = imagePath; @@ -409,6 +417,10 @@ btnIcon.MouseUpEventHandler = (sender, e) => { + if (!IsSupportClick(sensor)) + { + return; + } #region var esp = new EnvironmentalSensorPage(sensor); MainPage.BasePageView.AddChidren(esp); @@ -428,6 +440,10 @@ sensorView.AddChidren(btnInfoIcon); btnInfoIcon.MouseUpEventHandler = (sender, e) => { + if (!IsSupportClick(sensor)) + { + return; + } LoadInfo(sensor); }; @@ -438,15 +454,17 @@ Width = Application.GetRealWidth(100), Height = Application.GetRealWidth(32), TextAlignment = TextAlignment.CenterLeft, - TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1], TextSize = CSS_FontSize.SubheadingFontSize, - TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1], Tag = "SensorLevel", }; sensorView.AddChidren(btnLevel); btnLevel.MouseUpEventHandler = (sender, e) => { + if (!IsSupportClick(sensor)) + { + return; + } #region var esp = new EnvironmentalSensorPage(sensor); MainPage.BasePageView.AddChidren(esp); @@ -472,6 +490,11 @@ sensorView.AddChidren(btnSensorValues); btnSensorValues.MouseUpEventHandler = (sender, e) => { + if (!IsSupportClick(sensor)) + { + return; + } + #region var esp = new EnvironmentalSensorPage(sensor); MainPage.BasePageView.AddChidren(esp); @@ -479,7 +502,18 @@ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; #endregion }; - + if (!IsSupportClick(sensor)) + { + btnLevel.TextID = StringId.guangzhao; + btnLevel.TextColor = 0xFF1B2D4D; + btnSensorValues.Text = sensor.GetAttrState("illuminance"); + } + else + { + btnLevel.TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1]; + btnLevel.TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1]; + btnSensorValues.Text = sensor.GetAttrState(FunctionAttributeKey.Value); + } } } @@ -488,8 +522,36 @@ /// </summary> void LoadInfo(Function sensor) { - var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); - var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); + List<uint> levelColorList = new List<uint>(); + List<int> levelTextList = new List<int>(); + List<string> levelText = new List<string>(); + List<string> intervalList = new List<string>(); + var configs = sensor.GetAttrKeyConfigs(sensor.SpkClassification); + + + int i = 0; + foreach(var info in configs) + { + foreach(var config in info.configs) + { + var color = Convert.ToUInt32(config.color,16); + var text = config.desc; + levelColorList.Add(color); + levelText.Add(text); + levelTextList.Add(i++); + } + } + if (levelColorList.Count == 0) + { + levelColorList = sensorTemp.GetLevelColorList(sensor.spk); + levelTextList = sensorTemp.GetLevelTextList(sensor.spk); + intervalList = sensorTemp.GetIntervalValue(sensor.spk); + + foreach (var iii in levelTextList) + { + levelText.Add(Language.StringByID(iii)); + } + } Dialog dialog = new Dialog(); FrameLayout dialogBodyView = new FrameLayout(); @@ -525,7 +587,7 @@ switch (sensor.spk) { case SPK.SensorPm25: - btnTitle.Text = "PM2.5(ug/m虏)"; + btnTitle.Text = "PM2.5(ug/m鲁)";//虏 break; case SPK.SensorTemperature: btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; @@ -582,55 +644,65 @@ IsBold = true, TextID = StringId.ColorValue, }); - for (int index = 0; index < levelTextList.Count; index++) + try { - infoView.AddChidren(new Button() + for (int index = 0; index < levelText.Count; index++) { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(303), - Height = Application.GetRealWidth(1), - BackgroundColor = CSS_Color.DividingLineColor, - }); + //if(sensorTemp.GetIntervalValue(sensor.spk).Count >= index) + //{ + // return; + //} + infoView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(303), + Height = Application.GetRealWidth(1), + BackgroundColor = CSS_Color.DividingLineColor, + }); - FrameLayout subInfoView = new FrameLayout() - { - Height = Application.GetRealHeight(44), - }; - infoView.AddChidren(subInfoView); + FrameLayout subInfoView = new FrameLayout() + { + Height = Application.GetRealHeight(44), + }; + infoView.AddChidren(subInfoView); - subInfoView.AddChidren(new Button() - { - X = Application.GetRealWidth(20), - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - Text = sensorTemp.GetIntervalValue(sensor.spk)[index] - }); + subInfoView.AddChidren(new Button() + { + X = Application.GetRealWidth(20), + Width = Application.GetRealWidth(100), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + IsBold = true, + Text = sensorTemp.GetIntervalValue(sensor.spk)[index] + }); - subInfoView.AddChidren(new Button() - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(100), - TextAlignment = TextAlignment.Center, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.TextFontSize, - IsBold = true, - TextID = levelTextList[index] - }); + subInfoView.AddChidren(new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(100), + TextAlignment = TextAlignment.Center, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.TextFontSize, + IsBold = true, + Text = levelText[index] + }); - subInfoView.AddChidren(new Button() - { - X = Application.GetRealWidth(285), - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(38), - Height = Application.GetRealHeight(18), - Radius = (uint)Application.GetRealWidth(4), - BackgroundColor = levelColorList[index] - }); + subInfoView.AddChidren(new Button() + { + X = Application.GetRealWidth(285), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(38), + Height = Application.GetRealHeight(18), + Radius = (uint)Application.GetRealWidth(4), + BackgroundColor = levelColorList[index] + }); + } } - + catch (Exception ex) + { + MainPage.Log($"鐜绛夌骇淇℃伅琛ㄥ姞杞藉紓甯�:{ex.Message}"); + } @@ -763,8 +835,24 @@ } - - + /// <summary> + /// 鏄惁鏀寔浜嬩欢 + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + bool IsSupportClick(Function device) + { + if (device == null) + { + return false; + } + if (device.spk == SPK.SensorLight) + { + //鍏堣繃婊ゆ帀鍏夌収浼犳劅鍣� + return false; + } + return true; + } #region event @@ -815,6 +903,7 @@ } } + Console.WriteLine(updateTemp.spk); for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) { var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId; @@ -833,9 +922,9 @@ if (btn.Tag != null) { FunctionAttributes attr = updateTemp.GetAttribute(FunctionAttributeKey.Value); - if(attr == null) + if (attr == null) { - switch(updateTemp.spk) + switch (updateTemp.spk) { case SPK.SensorCO2: attr = updateTemp.GetAttribute(FunctionAttributeKey.Co2); @@ -855,6 +944,10 @@ case SPK.SensorHumidity: attr = updateTemp.GetAttribute(FunctionAttributeKey.Humidity); break; + case SPK.SensorLight: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Illuminance); + break; + } } @@ -865,8 +958,11 @@ } else if (tag == "SensorLevel") { - (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; - (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + if (updateTemp.spk != SPK.SensorLight) + { + (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; + } } } } -- Gitblit v1.8.0