| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Reflection; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = MainPage.cityInfo.location, |
| | | Text = MainPage.cityInfo.city, |
| | | }; |
| | | topWeatherView.AddChidren(btnLocationText); |
| | | |
| | |
| | | int index = 0; |
| | | foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) |
| | | { |
| | | if (sensor.spk == SPK.SensorPm10) |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | if(SPK.EvironmentSensorList().Contains(sensor.spk) ) |
| | | { |
| | | foreach (var seTemp in sensor.attributes) |
| | |
| | | /// </summary> |
| | | void LoadSensorDiv(Function sensor,int index) |
| | | { |
| | | var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); |
| | | var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); |
| | | var levelColorList = sensorTemp.GetLevelColorList(sensor); |
| | | var levelTextList = sensorTemp.GetLevelTextList(sensor); |
| | | { |
| | | var sensorTag = sensor.spk + sensor.sid + sensor.deviceId; |
| | | FrameLayout sensorView = new FrameLayout() |
| | |
| | | imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png"; |
| | | iconPath = "FunctionIcon/EnvirSensor/Pm25Icon.png"; |
| | | break; |
| | | case SPK.SensorPm10: |
| | | imagePath = "FunctionIcon/EnvirSensor/Pm25Bg.png"; |
| | | iconPath = "FunctionIcon/EnvirSensor/Pm10Icon.png"; |
| | | break; |
| | | case SPK.SensorTVOC: |
| | | imagePath = "FunctionIcon/EnvirSensor/TvocBg.png"; |
| | | iconPath = "FunctionIcon/EnvirSensor/TvocIcon.png"; |
| | |
| | | case SPK.SensorHcho: |
| | | 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; |
| | |
| | | |
| | | btnIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!IsSupportClick(sensor)) |
| | | { |
| | | return; |
| | | } |
| | | #region |
| | | var esp = new EnvironmentalSensorPage(sensor); |
| | | MainPage.BasePageView.AddChidren(esp); |
| | |
| | | sensorView.AddChidren(btnInfoIcon); |
| | | btnInfoIcon.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!IsSupportClick(sensor)) |
| | | { |
| | | return; |
| | | } |
| | | LoadInfo(sensor); |
| | | }; |
| | | |
| | |
| | | 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); |
| | |
| | | sensorView.AddChidren(btnSensorValues); |
| | | btnSensorValues.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (!IsSupportClick(sensor)) |
| | | { |
| | | return; |
| | | } |
| | | |
| | | #region |
| | | var esp = new EnvironmentalSensorPage(sensor); |
| | | MainPage.BasePageView.AddChidren(esp); |
| | |
| | | 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.Text = levelTextList[sensorTemp.GetCurLevel(sensor) - 1]; |
| | | btnLevel.TextColor = sensorTemp.GetLevelColorList(sensor)[sensorTemp.GetCurLevel(sensor) - 1]; |
| | | btnSensorValues.Text = sensor.GetAttrState(FunctionAttributeKey.Value); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | void LoadInfo(Function sensor) |
| | | { |
| | | List<uint> levelColorList = new List<uint>(); |
| | | List<int> levelTextList = new List<int>(); |
| | | List<string> levelText = new List<string>(); |
| | | List<string> levelTextList = new List<string>(); |
| | | //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) |
| | | //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++); |
| | | // intervalList.Add(config.start + " ~ " + config.end); |
| | | // } |
| | | //} |
| | | //if (levelColorList.Count == 0) |
| | | { |
| | | 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); |
| | | foreach(var iii in levelTextList) |
| | | { |
| | | levelText.Add(Language.StringByID(iii)); |
| | | } |
| | | levelColorList = sensorTemp.GetLevelColorList(sensor); |
| | | levelTextList = sensorTemp.GetLevelTextList(sensor); |
| | | intervalList = sensorTemp.GetIntervalValue(sensor); |
| | | //foreach (var iii in levelTextList) |
| | | //{ |
| | | // levelText.Add(Language.StringByID(iii)); |
| | | //} |
| | | } |
| | | Dialog dialog = new Dialog(); |
| | | |
| | |
| | | switch (sensor.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | btnTitle.Text = "PM2.5(ug/m²)"; |
| | | btnTitle.Text = "PM2.5(ug/m³)";//² |
| | | break; |
| | | case SPK.SensorPm10: |
| | | btnTitle.Text = "PM10(ug/m³)";//² |
| | | break; |
| | | case SPK.SensorTemperature: |
| | | btnTitle.Text = Language.StringByID(StringId.Temp) + "(°C)"; |
| | | break; |
| | | case SPK.SensorTVOC: |
| | | btnTitle.Text = "TVOC(PPB)"; |
| | | btnTitle.Text = "TVOC(mg/m³)"; |
| | | break; |
| | | case SPK.SensorCO2: |
| | | btnTitle.Text = "CO2(PPM)"; |
| | |
| | | IsBold = true, |
| | | TextID = StringId.ColorValue, |
| | | }); |
| | | for (int index = 0; index < levelText.Count; index++) |
| | | try |
| | | { |
| | | infoView.AddChidren(new Button() |
| | | for (int index = 0; index < levelTextList.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 = intervalList[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() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(100), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | IsBold = true, |
| | | Text = levelTextList[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}"); |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /// <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 |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | Console.WriteLine(updateTemp.spk); |
| | | for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) |
| | | { |
| | | var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId; |
| | |
| | | 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); |
| | | break; |
| | | case SPK.SensorPm10: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Pm10); |
| | | break; |
| | | case SPK.SensorTemperature: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Temperature); |
| | |
| | | case SPK.SensorHumidity: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Humidity); |
| | | break; |
| | | case SPK.SensorLight: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Illuminance); |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | 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).Text = bodyView.sensorTemp.GetLevelTextList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else if (btn.GetType() == typeof(ArcSeekBar)) |
| | | { |
| | | (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | |
| | | (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp.spk).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); |
| | | (btn as ArcSeekBar).Progress = (96 / bodyView.sensorTemp.GetLevelColorList(updateTemp).Count) * bodyView.sensorTemp.GetCurLevel(updateTemp); |
| | | } |
| | | } |
| | | } |