From af1cb3ecd0f4b0589e00b28f7f9edccf39e6e12b Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 10 九月 2020 16:15:11 +0800 Subject: [PATCH] 202009101 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 380 +++++++++++++++++++++++++++++------------------------- 1 files changed, 205 insertions(+), 175 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs index 2aad4ab..e3faad6 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs @@ -19,6 +19,14 @@ /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣 /// </summary> Button btnFoorDownIcon; + /// <summary> + /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙 + /// </summary> + Button btnRoomClickRow; + /// <summary> + /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩� + /// </summary> + FrameLayout sensorListView; /// <summary> /// 澶╂皵鍚嶇О鏂囨湰 @@ -39,17 +47,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 +55,6 @@ public EnvironmentalSciencePage() { bodyView = this; - } - - public override void RemoveFromParent() - { - foreach(var thread in threads) - { - thread.Abort(); - } - threads.Clear(); - base.RemoveFromParent(); } /// <summary> @@ -95,7 +82,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 +150,6 @@ Text = "10掳C", }; topWeatherView.AddChidren(btnTempUpperLimitText); - var btnTempLowerLimit = new Button() { @@ -218,7 +204,7 @@ Y = Application.GetRealHeight(90), Width = Application.GetRealWidth(24), Height = Application.GetRealWidth(24), - UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png", + UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/HumidityIcon.png", }; topWeatherView.AddChidren(btnHumidityIcon); @@ -241,7 +227,7 @@ Y = Application.GetRealHeight(90), Width = Application.GetRealWidth(24), Height = Application.GetRealWidth(24), - UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png", + UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/Pm25Icon.png", }; topWeatherView.AddChidren(btnPm25Icon); @@ -298,9 +284,9 @@ #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 room = new Room(); - if (DB_ResidenceData.residenceData.rooms.Count > 0) + if (DB_ResidenceData.rooms.Count > 0) { - room = DB_ResidenceData.residenceData.rooms[0]; + room = DB_ResidenceData.rooms[0]; } btnFoorDownIcon = new Button() { @@ -324,9 +310,16 @@ Text = room.name, }; contentView.AddChidren(btnRoom); + + btnRoomClickRow = new Button() + { + Height = Application.GetRealHeight(40), + }; + contentView.AddChidren(btnRoomClickRow); + #endregion - FrameLayout sensorListView = new FrameLayout() + sensorListView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(50), @@ -339,121 +332,10 @@ contentView.AddChidren(sensorListView); int index = 0; - foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) + foreach(var sensor in DB_ResidenceData.functionList.sensorsEnvironmentalScience) { - if(sensor.functionType == FunctionType.Noise|| 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 +346,132 @@ 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 DiyArcSeekBar() + { + X = Application.GetRealWidth(7), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(48), + Height = Application.GetRealWidth(48), + OpenAngle = 10, + ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], + MinValue = 0, + MaxValue = 96, + Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, + IsClickable = false, + ArcColor = CSS_Color.BackgroundColor, + ArcWidth = Application.GetRealWidth(4), + IsThumbImgBtnShow = false, + SeekBarPadding = Application.GetRealWidth(2), + }; + 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; + }; + + 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); + Control.SendReadCommand(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,22 +499,13 @@ }; infoView.AddChidren(btnTitle); - switch(sensor.functionType) + switch (sensor.functionType) { - case FunctionType.PM10: - btnTitle.Text = "PM1.0(ug/m虏)"; - break; case FunctionType.PM25: btnTitle.Text = "PM2.5(ug/m虏)"; break; - case FunctionType.WindPower: - - 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 +516,6 @@ case FunctionType.Humidity: btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; break; - - } FrameLayout subTitleView = new FrameLayout() @@ -549,7 +534,6 @@ IsBold = true, TextID = StringId.IntervalValue, }); - subTitleView.AddChidren(new Button() { @@ -572,7 +556,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 +565,6 @@ Height = Application.GetRealWidth(1), BackgroundColor = CSS_Color.DividingLineColor, }); - FrameLayout subInfoView = new FrameLayout() { @@ -600,7 +583,6 @@ Text = sensor.intervalValue[index] }); - subInfoView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, @@ -609,7 +591,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 +603,13 @@ Radius = (uint)Application.GetRealWidth(4), BackgroundColor = sensor.levelColorList[index] }); - } dialog.Show(); - } - - /// <summary> /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢 @@ -649,10 +627,10 @@ var dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(266), + Y = Application.GetRealHeight(100), Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(203), - BackgroundImagePath = "PersonalCenter/HomeListbg.png", + Height = Application.GetRealHeight(110), + BackgroundImagePath = "PersonalCenter/HomeList1bg.png", }; dialogBody.AddChidren(dispalyView); @@ -661,12 +639,64 @@ X = Application.GetRealWidth(8), Y = Application.GetRealHeight(15), Width = Application.GetRealWidth(150), - Height = Application.GetRealHeight(45 * 4), + Height = Application.GetRealHeight(45 * 2), + ScrollEnabled = false }; dispalyView.AddChidren(contentView); + if (DB_ResidenceData.rooms.Count < 2) + { + } + else if (DB_ResidenceData.rooms.Count < 3) + { + dispalyView = new FrameLayout() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(100), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(155), + BackgroundImagePath = "PersonalCenter/HomeList2bg.png", + }; + dialogBody.AddChidren(dispalyView); - foreach (var roomTemp in DB_ResidenceData.residenceData.rooms) + contentView.Height = Application.GetRealHeight(45 * 3); + dispalyView.AddChidren(contentView); + } + else if (DB_ResidenceData.rooms.Count < 4) + { + dispalyView = new FrameLayout() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(100), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(200), + BackgroundImagePath = "PersonalCenter/HomeList3bg.png", + }; + dialogBody.AddChidren(dispalyView); + + contentView.Height = Application.GetRealHeight(45 * 4); + dispalyView.AddChidren(contentView); + } + else + { + dispalyView = new FrameLayout() + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(100), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(245), + BackgroundImagePath = "PersonalCenter/HomeList4bg.png", + }; + dialogBody.AddChidren(dispalyView); + + contentView.Height = Application.GetRealHeight(45 * 5); + contentView.ScrollEnabled = true; + dispalyView.AddChidren(contentView); + } + + + + foreach (var roomTemp in DB_ResidenceData.rooms) { string roomName = roomTemp.name; var btnRoomName = new Button() @@ -696,8 +726,8 @@ dialog.Show(); }; - btnRoom.MouseUpEventHandler = eventHandler; - btnFoorDownIcon.MouseUpEventHandler = eventHandler; + btnRoomClickRow.MouseUpEventHandler = eventHandler; + //btnFoorDownIcon.MouseUpEventHandler = eventHandler; } -- Gitblit v1.8.0