From f6fd8acd7c53c44187e70b4709443318a628f4b5 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 16 六月 2020 13:12:33 +0800 Subject: [PATCH] 2020-06-016 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 296 ++++++++++++++++++++++++++++------------------------------- 1 files changed, 141 insertions(+), 155 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs index 2aad4ab..1694d48 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs @@ -19,6 +19,10 @@ /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣 /// </summary> Button btnFoorDownIcon; + /// <summary> + /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩� + /// </summary> + FrameLayout sensorListView; /// <summary> /// 澶╂皵鍚嶇О鏂囨湰 @@ -39,17 +43,6 @@ #endregion #region 鍖哄煙鍙橀噺 - List<System.Threading.Thread> threads = new List<System.Threading.Thread>(); - - - uint level1Color = 0xFF2172FF; - uint level2Color = 0xCC4484F4; - uint level3Color = 0x664484F4; - uint level4Color = 0xFFADE764; - uint level5Color = 0xFFFFDD55; - uint level6Color = 0xFFFF9D54; - uint level7Color = 0xFFFF3D3D; - Room room; #endregion @@ -58,16 +51,6 @@ public EnvironmentalSciencePage() { bodyView = this; - } - - public override void RemoveFromParent() - { - foreach(var thread in threads) - { - thread.Abort(); - } - threads.Clear(); - base.RemoveFromParent(); } /// <summary> @@ -95,7 +78,7 @@ { X = Application.GetRealWidth(24), Y = Application.GetRealHeight(16), - Width = Application.GetRealWidth(55), + Width = Application.GetRealWidth(60), Height = Application.GetRealHeight(48), TextSize = 42, IsBold = true, @@ -163,7 +146,6 @@ Text = "10掳C", }; topWeatherView.AddChidren(btnTempUpperLimitText); - var btnTempLowerLimit = new Button() { @@ -326,7 +308,7 @@ contentView.AddChidren(btnRoom); #endregion - FrameLayout sensorListView = new FrameLayout() + sensorListView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(50), @@ -339,121 +321,14 @@ contentView.AddChidren(sensorListView); int index = 0; - foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) + foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) { - if(sensor.functionType == FunctionType.Noise|| sensor.functionType == FunctionType.WindPower) + if ( sensor.functionType == FunctionType.WindPower) { continue; } - if(sensor.roomIdList.Contains(room.sid)) - { - FrameLayout sensorView = new FrameLayout() - { - Width = Application.GetRealWidth(148), - Height = Application.GetRealWidth(80), - Radius = (uint)Application.GetRealWidth(8), - BorderColor = 0x00000000, - BorderWidth = 0, - BackgroundColor = CSS_Color.MainBackgroundColor, - Y = Application.GetRealWidth(92 * (index / 2)) - }; - if (index % 2 != 0) - { - sensorView.X = Application.GetRealWidth(160); - } - sensorListView.AddChidren(sensorView); - - var arcBar = new ArcSeekBar() - { - ProgressBarUnitSring = "掳C", - X = Application.GetRealWidth(7), - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(48), - Height = Application.GetRealWidth(48), - OpenAngle = 1, - ThumbColor = 0x00000000, - ThumbModeFill = true, - ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], - ThumbRadius = 1, - ArcWidthWithDefaultStyle = Application.GetRealWidth(3), - MinValue = 0, - MaxValue = 96, - Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, - //ProgressBarUnitSring = "", - IsClickable = false, - ProgressTextColor = 0x00000000, - ArcColor = CSS_Color.BackgroundColor, - //BackgroundColor = 0x33FF0000, - }; - sensorView.AddChidren(arcBar); - - var btnSensorTitle = new Button() - { - X = Application.GetRealWidth(7), - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(48), - Height = Application.GetRealWidth(48), - TextAlignment = TextAlignment.Center, - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - TextColor = CSS_Color.FirstLevelTitleColor, - TextID = sensor.functionTypeNameId - }; - sensorView.AddChidren(btnSensorTitle); - btnSensorTitle.MouseUpEventHandler = (sender, e) => { - var esp = new EnvironmentalSensorPage(sensor); - MainPage.BasePageView.AddChidren(esp); - esp.LoadPage(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }; - - if (sensor.functionType != FunctionType.Noise && sensor.functionType != FunctionType.WindPower) - { - var btnInfoIcon = new Button() - { - X = Application.GetRealWidth(120), - Width = Application.GetRealWidth(28), - Height = Application.GetRealWidth(28), - UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", - }; - sensorView.AddChidren(btnInfoIcon); - btnInfoIcon.MouseUpEventHandler = (sender, e) => - { - LoadInfo( sensor); - }; - } - - var btnSensorValues = new Button() - { - X = Application.GetRealWidth(72), - Y = Application.GetRealWidth(17), - Width = Application.GetRealWidth(70), - Height = Application.GetRealWidth(30), - TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, - TextSize = CSS_FontSize.EmphasisFontSize_Secondary, - IsBold = true, - Text = sensor.values.ToString(), - }; - sensorView.AddChidren(btnSensorValues); - - var btnLevel = new Button() - { - X = Application.GetRealWidth(70), - Y = btnSensorValues.Bottom, - Width = Application.GetRealWidth(50), - Height = Application.GetRealWidth(18), - TextAlignment = TextAlignment.CenterLeft, - TextColor = sensor.levelColorList[sensor.curLevel - 1], - TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - TextID = sensor.levelTextList[sensor.curLevel - 1] - }; - sensorView.AddChidren(btnLevel); - - - - - index++; - } + LoadSensorDiv(sensor, index); + index++; } #endregion @@ -464,19 +339,139 @@ new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView(); } + /// <summary> + /// 鍔犺浇浼犳劅鍣ㄥ垪琛� + /// </summary> + void LoadSensorDiv(Sensor sensor,int index) + { + if (sensor.roomIdList.Contains(room.sid)) + { + var sensorTag = sensor.sid; + if (sensor.bus_Data != null) + { + sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID; + } + FrameLayout sensorView = new FrameLayout() + { + Width = Application.GetRealWidth(148), + Height = Application.GetRealWidth(80), + Radius = (uint)Application.GetRealWidth(8), + BorderColor = 0x00000000, + BorderWidth = 0, + BackgroundColor = CSS_Color.MainBackgroundColor, + Y = Application.GetRealWidth(92 * (index / 2)), + Tag = sensorTag + }; + if (index % 2 != 0) + { + sensorView.X = Application.GetRealWidth(160); + } + sensorListView.AddChidren(sensorView); + + var arcBar = new ArcSeekBar() + { + ProgressBarUnitSring = "掳C", + X = Application.GetRealWidth(7), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(48), + Height = Application.GetRealWidth(48), + OpenAngle = 1, + ThumbColor = 0x00000000, + ThumbModeFill = true, + ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], + ThumbRadius = 1, + ArcWidthWithDefaultStyle = Application.GetRealWidth(3), + MinValue = 0, + MaxValue = 96, + Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, + //ProgressBarUnitSring = "", + IsClickable = false, + ProgressTextColor = 0x00000000, + ArcColor = CSS_Color.BackgroundColor, + //BackgroundColor = 0x33FF0000, + }; + sensorView.AddChidren(arcBar); + + var btnSensorTitle = new Button() + { + X = Application.GetRealWidth(7), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(48), + Height = Application.GetRealWidth(48), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + TextColor = CSS_Color.FirstLevelTitleColor, + TextID = sensor.functionTypeNameId, + Tag = "SensorTitle" + }; + sensorView.AddChidren(btnSensorTitle); + btnSensorTitle.MouseUpEventHandler = (sender, e) => { + var esp = new EnvironmentalSensorPage(sensor); + MainPage.BasePageView.AddChidren(esp); + esp.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + if ( sensor.functionType != FunctionType.WindPower) + { + var btnInfoIcon = new Button() + { + X = Application.GetRealWidth(120), + Width = Application.GetRealWidth(28), + Height = Application.GetRealWidth(28), + UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", + }; + sensorView.AddChidren(btnInfoIcon); + btnInfoIcon.MouseUpEventHandler = (sender, e) => + { + LoadInfo(sensor); + }; + } + + var btnSensorValues = new Button() + { + X = Application.GetRealWidth(72), + Y = Application.GetRealWidth(17), + Width = Application.GetRealWidth(70), + Height = Application.GetRealWidth(30), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.FirstLevelTitleColor, + TextSize = CSS_FontSize.EmphasisFontSize_Secondary, + IsBold = true, + Text = sensor.values.ToString(), + Tag = "SensorValues" + }; + sensorView.AddChidren(btnSensorValues); + + var btnLevel = new Button() + { + X = Application.GetRealWidth(70), + Y = btnSensorValues.Bottom, + Width = Application.GetRealWidth(50), + Height = Application.GetRealWidth(18), + TextAlignment = TextAlignment.CenterLeft, + TextColor = sensor.levelColorList[sensor.curLevel - 1], + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + TextID = sensor.levelTextList[sensor.curLevel - 1], + Tag = "SensorLevel" + }; + sensorView.AddChidren(btnLevel); + + Control.Send(CommandType_A.read, sensor); + } + } /// <summary> /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭� /// </summary> - /// <param name="btnInfo"></param> - /// <param name="sensor"></param> void LoadInfo(Sensor sensor) { Dialog dialog = new Dialog(); FrameLayout dialogBodyView = new FrameLayout(); dialog.AddChidren(dialogBodyView); - dialogBodyView.MouseUpEventHandler = (sender, e) => { + dialogBodyView.MouseUpEventHandler = (sender, e) => + { dialog.Close(); }; @@ -489,7 +484,8 @@ Radius = (uint)Application.GetRealWidth(12), BackgroundColor = CSS_Color.MainBackgroundColor, Animate = Animate.DownToUp, - ScrollEnabled = false + ScrollEnabled = false, + AnimateSpeed = 0.3f, }; dialogBodyView.AddChidren(infoView); @@ -503,7 +499,7 @@ }; infoView.AddChidren(btnTitle); - switch(sensor.functionType) + switch (sensor.functionType) { case FunctionType.PM10: btnTitle.Text = "PM1.0(ug/m虏)"; @@ -514,11 +510,10 @@ case FunctionType.WindPower: break; - case FunctionType.Noise: - - break; + //case FunctionType.Noise: + // break; case FunctionType.Temp: - btnTitle.Text = Language.StringByID(StringId.Temp )+ "(掳C)"; + btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; break; case FunctionType.TVOC: btnTitle.Text = "TVOC(PPM)"; @@ -529,8 +524,6 @@ case FunctionType.Humidity: btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; break; - - } FrameLayout subTitleView = new FrameLayout() @@ -549,7 +542,6 @@ IsBold = true, TextID = StringId.IntervalValue, }); - subTitleView.AddChidren(new Button() { @@ -572,7 +564,7 @@ IsBold = true, TextID = StringId.ColorValue, }); - for (int index = 0; index < sensor.levelTextList.Count;index++) + for (int index = 0; index < sensor.levelTextList.Count; index++) { infoView.AddChidren(new Button() { @@ -581,7 +573,6 @@ Height = Application.GetRealWidth(1), BackgroundColor = CSS_Color.DividingLineColor, }); - FrameLayout subInfoView = new FrameLayout() { @@ -600,7 +591,6 @@ Text = sensor.intervalValue[index] }); - subInfoView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, @@ -609,7 +599,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - TextID =sensor.levelTextList[index] + TextID = sensor.levelTextList[index] }); subInfoView.AddChidren(new Button() @@ -621,17 +611,13 @@ Radius = (uint)Application.GetRealWidth(4), BackgroundColor = sensor.levelColorList[index] }); - } dialog.Show(); - } - - /// <summary> /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢 -- Gitblit v1.8.0