From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 434 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 254 insertions(+), 180 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs index aa90d95..069664f 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs @@ -3,6 +3,7 @@ using HDL_ON.Entity; using HDL_ON.UI.CSS; using System.Collections.Generic; +using HDL_ON.DriverLayer; namespace HDL_ON.UI { @@ -19,16 +20,34 @@ /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣 /// </summary> Button btnFoorDownIcon; + /// <summary> + /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙 + /// </summary> + Button btnRoomClickRow; + /// <summary> + /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩� + /// </summary> + FrameLayout sensorListView; + + /// <summary> + /// 澶╂皵鍚嶇О鏂囨湰 + /// </summary> + Button btnWatherText; + /// <summary> + /// 婀垮害鏁版嵁鏂囨湰 + /// </summary> + Button btnHumidityText; + /// <summary> + /// pm25鏁版嵁鏂囨湰 + /// </summary> + Button btnPm25Values; + /// <summary> + /// 椋庨�熸暟鎹枃鏈� + /// </summary> + Button btnFanSpeedValues; + #endregion #region 鍖哄煙鍙橀噺 - uint level1Color = 0xFF2172FF; - uint level2Color = 0xCC4484F4; - uint level3Color = 0x664484F4; - uint level4Color = 0xFFADE764; - uint level5Color = 0xFFFFDD55; - uint level6Color = 0xFFFF9D54; - uint level7Color = 0xFFFF3D3D; - Room room; #endregion @@ -64,14 +83,13 @@ { X = Application.GetRealWidth(24), Y = Application.GetRealHeight(16), - Width = Application.GetRealWidth(55), + Width = Application.GetRealWidth(60), Height = Application.GetRealHeight(48), TextSize = 42, IsBold = true, TextAlignment = TextAlignment.CenterLeft, TextColor = CSS_Color.MainBackgroundColor, - - Text = "28", + Text = MainPage.cityInfo.temperature, }; topWeatherView.AddChidren(btnTemp); @@ -96,8 +114,9 @@ UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SmogIcon.png", }; topWeatherView.AddChidren(btnWeatherIcon); + LoadEvent_ChangeWeatherIcon(btnWeatherIcon); - var btnWatherText = new Button() + btnWatherText = new Button() { X = Application.GetRealWidth(139), Y = Application.GetRealHeight(16), @@ -106,10 +125,9 @@ TextColor = CSS_Color.MainBackgroundColor, TextSize = CSS_FontSize.TextFontSize, TextAlignment = TextAlignment.CenterLeft, - Text = "闆鹃溇" + Text = MainPage.cityInfo.weather }; topWeatherView.AddChidren(btnWatherText); - var btnTempUpperLimit = new Button() { @@ -133,7 +151,6 @@ Text = "10掳C", }; topWeatherView.AddChidren(btnTempUpperLimitText); - var btnTempLowerLimit = new Button() { @@ -159,8 +176,6 @@ }; topWeatherView.AddChidren(btnTempLowerLimitText); - - var btnLocationText = new Button() { X = Application.GetRealWidth(233), @@ -170,7 +185,7 @@ TextAlignment = TextAlignment.CenterRight, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextColor = CSS_Color.MainBackgroundColor, - Text = "骞垮窞", + Text = MainPage.cityInfo.location, }; topWeatherView.AddChidren(btnLocationText); @@ -190,11 +205,11 @@ 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); - Button btnHumidityText = new Button() + btnHumidityText = new Button() { X = Application.GetRealWidth(15), Y = btnHumidityIcon.Bottom, @@ -203,7 +218,7 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.MainBackgroundColor, - Text = "--%", + Text = MainPage.cityInfo.humidity + "%", }; topWeatherView.AddChidren(btnHumidityText); @@ -213,11 +228,11 @@ 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); - Button btnPm25Values = new Button() + btnPm25Values = new Button() { X = Application.GetRealWidth(90), Y = btnHumidityIcon.Bottom, @@ -226,7 +241,7 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.MainBackgroundColor, - Text = "--", + Text = MainPage.cityInfo.pm25, }; topWeatherView.AddChidren(btnPm25Values); @@ -240,7 +255,7 @@ }; topWeatherView.AddChidren(btnFanSpeedIcon); - Button btnFanSpeedValues = new Button() + btnFanSpeedValues = new Button() { X = Application.GetRealWidth(162), Y = btnFanSpeedIcon.Bottom, @@ -249,7 +264,7 @@ TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.Center, TextColor = CSS_Color.MainBackgroundColor, - Text = "--", + Text = MainPage.cityInfo.windLevel, }; topWeatherView.AddChidren(btnFanSpeedValues); #endregion @@ -269,11 +284,11 @@ bodyView.AddChidren(contentView); #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 - room = new Room(); - if (DB_ResidenceData.residenceData.rooms.Count > 0) - { - room = DB_ResidenceData.residenceData.rooms[0]; - } + room = new Room() { name = Language.StringByID(StringId.All), sid = ""}; + //if (DB_ResidenceData.rooms.Count > 0) + //{ + // room = DB_ResidenceData.rooms[0]; + //} btnFoorDownIcon = new Button() { Width = Application.GetMinRealAverage(16), @@ -296,9 +311,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), @@ -310,124 +332,10 @@ }; contentView.AddChidren(sensorListView); + LoadSenesorList(); - int index = 0; - foreach(var sensor in DB_ResidenceData.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); + LoadEventList(); - var arcBar = new ArcSeekBar() - { - ProgressBarUnitSring = "掳C", - X = Application.GetRealWidth(7), - Gravity = Gravity.CenterVertical, - Width = Application.GetRealWidth(48), - Height = Application.GetRealWidth(48), - Angle = 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++; - } - } #endregion @@ -439,17 +347,144 @@ } /// <summary> + /// 鍔犺浇浼犳劅鍣ㄥ垪琛� + /// </summary> + void LoadSenesorList() + { + sensorListView.RemoveAll(); + int index = 0; + foreach (var sensor in DB_ResidenceData.functionList.sensorsEnvironmentalScience) + { + LoadSensorDiv(sensor, index); + index++; + } + } + + /// <summary> + /// 鍔犺浇浼犳劅鍣ㄥ垪琛� + /// </summary> + void LoadSensorDiv(Sensor sensor,int index) + { + if (room.sid == "" || 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.ins.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(); }; @@ -462,7 +497,8 @@ Radius = (uint)Application.GetRealWidth(12), BackgroundColor = CSS_Color.MainBackgroundColor, Animate = Animate.DownToUp, - ScrollEnabled = false + ScrollEnabled = false, + AnimateSpeed = 0.3f, }; dialogBodyView.AddChidren(infoView); @@ -476,22 +512,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)"; @@ -502,8 +529,6 @@ case FunctionType.Humidity: btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; break; - - } FrameLayout subTitleView = new FrameLayout() @@ -522,7 +547,6 @@ IsBold = true, TextID = StringId.IntervalValue, }); - subTitleView.AddChidren(new Button() { @@ -545,7 +569,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() { @@ -554,7 +578,6 @@ Height = Application.GetRealWidth(1), BackgroundColor = CSS_Color.DividingLineColor, }); - FrameLayout subInfoView = new FrameLayout() { @@ -573,7 +596,6 @@ Text = sensor.intervalValue[index] }); - subInfoView.AddChidren(new Button() { Gravity = Gravity.CenterHorizontal, @@ -582,7 +604,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - TextID =sensor.levelTextList[index] + TextID = sensor.levelTextList[index] }); subInfoView.AddChidren(new Button() @@ -594,17 +616,13 @@ Radius = (uint)Application.GetRealWidth(4), BackgroundColor = sensor.levelColorList[index] }); - } dialog.Show(); - } - - /// <summary> /// 鎴块棿鍒楄〃鐐瑰嚮浜嬩欢 @@ -624,8 +642,8 @@ X = Application.GetRealWidth(10), Y = Application.GetRealHeight(266), Width = Application.GetRealWidth(160), - Height = Application.GetRealHeight(203), - BackgroundImagePath = "PersonalCenter/HomeListbg.png", + Height = Application.GetRealHeight(110), + BackgroundImagePath = "PersonalCenter/HomeList1bg.png", }; dialogBody.AddChidren(dispalyView); @@ -634,12 +652,67 @@ 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(266), + 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(266), + 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(266), + 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); + } + + + var showListRoom = new List<Room>(); + showListRoom.Add(new Room() { name = Language.StringByID(StringId.All),sid = "" }); + showListRoom.AddRange(DB_ResidenceData.rooms); + + foreach (var roomTemp in showListRoom) { string roomName = roomTemp.name; var btnRoomName = new Button() @@ -663,14 +736,15 @@ dialog.Close(); btnRoom.Text = roomName; room = roomTemp; + LoadSenesorList(); }; } dialog.Show(); }; - btnRoom.MouseUpEventHandler = eventHandler; - btnFoorDownIcon.MouseUpEventHandler = eventHandler; + btnRoomClickRow.MouseUpEventHandler = eventHandler; + //btnFoorDownIcon.MouseUpEventHandler = eventHandler; } -- Gitblit v1.8.0