From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 21 七月 2020 09:46:53 +0800 Subject: [PATCH] 请合并最新多功能面板代码 --- ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs | 270 +++++++++++++++++++++++++++-------------------------- 1 files changed, 136 insertions(+), 134 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs old mode 100644 new mode 100755 index 50ed3c5..b436761 --- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs +++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs @@ -17,30 +17,34 @@ /// </summary> private List<ButtonBase> listControl = new List<ButtonBase>(); /// <summary> + /// 鐣岄潰涓婂彲浠ユ搷浣滅殑鎺т欢 + /// </summary> + private List<FrameLayout> listFrameLayout = new List<FrameLayout>(); + /// <summary> /// 鎺т欢 /// </summary> - private PMSensor pMSensor = null; + private PMSensor pMSensor = null; /// <summary> /// 鐘舵�佹帶浠� /// </summary> - private NormalViewControl btnStatu = null; + private NormalViewControl btnStatu = null; /// <summary> /// 褰撳墠鐨勬枃鏈� /// </summary> - private string CurrentText = string.Empty; - + private string CurrentText = string.Empty; + /// <summary> /// 璁惧鍚嶇О鎺т欢 /// </summary> - private NormalViewControl btnDeviceName = null; - + private NormalViewControl btnDeviceName = null; + #endregion #region 鈻� 鍒濆鍖朹____________________________ public override void InitMiddleFrameAfter(FrameLayout frameWhiteBack) { //宸︽粦涓嶈兘 - this.ScrollEnabled = true; + this.ScrollEnabled = true; this.pMSensor = (PMSensor)this.device; //鍏堟竻绌� this.listControl = new List<ButtonBase>(); @@ -52,19 +56,19 @@ /// 鍒濆鍖朠M2.5浼犳劅鍣ㄦ帶浠� /// </summary> /// <param name="frameWhiteBack"></param> - private void InitPmControl(FrameLayout frameWhiteBack) + private void InitPmControl(FrameLayout frameWhiteBack) { //婀垮害瀹瑰櫒 var frameHumidityPic = new FrameLayout(); - frameHumidityPic.X = Application.GetMinRealAverage(138); - frameHumidityPic.Y = Application.GetRealHeight(242); - frameHumidityPic.Width = Application.GetMinRealAverage(311); + frameHumidityPic.X = Application.GetMinRealAverage(138); + frameHumidityPic.Y = Application.GetRealHeight(242); + frameHumidityPic.Width = Application.GetMinRealAverage(311); frameHumidityPic.Height = Application.GetMinRealAverage(351); frameHumidityPic.BackgroundImagePath = "PM2.5Sensor/HumidityPic.png"; frameWhiteBack.AddChidren(frameHumidityPic); //婀垮害鏂囨湰 - var btnHumidityText = new NormalViewControl(311, 49, true); + var btnHumidityText = new NormalViewControl(311, 49, true); btnHumidityText.Y = Application.GetRealHeight(45); btnHumidityText.TextID = R.MyInternationalizationString.Humidity; btnHumidityText.TextSize = 12; @@ -72,36 +76,40 @@ btnHumidityText.TextAlignment = TextAlignment.Center; frameHumidityPic.AddChidren(btnHumidityText); - //婀垮害鏁版嵁锛堢1涓紝listControl銆�0銆戯級 - var btnHumidityStatus = new NormalViewControl(193, 92, true); - btnHumidityStatus.Y = Application.GetRealHeight(181); + //婀垮害鏂囨湰瀹瑰櫒 + var frameHumidityTextFrameLayout = new FrameLayout(); + frameHumidityTextFrameLayout.Gravity = Gravity.CenterHorizontal; + frameHumidityTextFrameLayout.Y = Application.GetRealHeight(113); + frameHumidityTextFrameLayout.Height = Application.GetRealHeight(160); + frameHumidityPic.AddChidren(frameHumidityTextFrameLayout); + + //婀垮害鏁版嵁 + var btnHumidityStatus = new NormalViewControl(193, 160, true); btnHumidityStatus.Text = "20"; btnHumidityStatus.TextSize = 30; btnHumidityStatus.TextColor = ZigbeeColor.Current.XMWhite; - btnHumidityStatus.TextAlignment = TextAlignment.CenterRight; - frameHumidityPic.AddChidren(btnHumidityStatus); - this.listControl.Add(btnHumidityStatus); + btnHumidityStatus.TextAlignment = TextAlignment.BottomRight; + frameHumidityTextFrameLayout.AddChidren(btnHumidityStatus); //婀垮害鍗曚綅 - var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true); - btnHumidityUnit.Y = Application.GetRealHeight(181 + 46); - btnHumidityUnit.X = Application.GetRealWidth(180); + var btnHumidityUnit = new NormalViewControl(50, 140, true); + btnHumidityUnit.X = btnHumidityStatus.Right; btnHumidityUnit.Text = "%"; btnHumidityUnit.TextSize = 14; btnHumidityUnit.TextColor = ZigbeeColor.Current.XMWhite; - btnHumidityUnit.TextAlignment = TextAlignment.CenterLeft; - frameHumidityPic.AddChidren(btnHumidityUnit); + btnHumidityUnit.TextAlignment = TextAlignment.BottomLeft; + frameHumidityTextFrameLayout.AddChidren(btnHumidityUnit); //娓╁害瀹瑰櫒 var frameTemperaturePic = new FrameLayout(); - frameTemperaturePic.X = Application.GetMinRealAverage(518); - frameTemperaturePic.Y = Application.GetRealHeight(242); - frameTemperaturePic.Width = Application.GetMinRealAverage(311); + frameTemperaturePic.X = Application.GetMinRealAverage(518); + frameTemperaturePic.Y = Application.GetRealHeight(242); + frameTemperaturePic.Width = Application.GetMinRealAverage(311); frameTemperaturePic.Height = Application.GetMinRealAverage(351); frameTemperaturePic.BackgroundImagePath = "PM2.5Sensor/TemperaturePic.png"; frameWhiteBack.AddChidren(frameTemperaturePic); //娓╁害鏂囨湰 - var btnTemperatureText = new NormalViewControl(311, 49, true); + var btnTemperatureText = new NormalViewControl(311, 49, true); btnTemperatureText.Y = Application.GetRealHeight(45); btnTemperatureText.TextID = R.MyInternationalizationString.Temperature; btnTemperatureText.TextSize = 12; @@ -109,36 +117,40 @@ btnTemperatureText.TextAlignment = TextAlignment.Center; frameTemperaturePic.AddChidren(btnTemperatureText); - //娓╁害鏁版嵁锛堢2涓紝listControl銆�1銆戯級 - var btnTemperatureStatus = new NormalViewControl(193, 92, true); - btnTemperatureStatus.Y = Application.GetRealHeight(181); + // 娓╁害鏂囨湰瀹瑰櫒 + var frameTemperatureTextFrameLayout = new FrameLayout(); + frameTemperatureTextFrameLayout.Gravity = Gravity.CenterHorizontal; + frameTemperatureTextFrameLayout.Y = Application.GetRealHeight(113); + frameTemperatureTextFrameLayout.Height = Application.GetRealHeight(160); + frameTemperaturePic.AddChidren(frameTemperatureTextFrameLayout); + + //娓╁害鏁版嵁 + var btnTemperatureStatus = new NormalViewControl(193, 160, true); btnTemperatureStatus.Text = "20"; btnTemperatureStatus.TextSize = 30; btnTemperatureStatus.TextColor = ZigbeeColor.Current.XMWhite; - btnTemperatureStatus.TextAlignment = TextAlignment.CenterRight; - frameTemperaturePic.AddChidren(btnTemperatureStatus); - this.listControl.Add(btnTemperatureStatus); + btnTemperatureStatus.TextAlignment = TextAlignment.BottomRight; + frameTemperatureTextFrameLayout.AddChidren(btnTemperatureStatus); //娓╁害鍗曚綅 - var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true); - btnTemperatureUnit.Y = Application.GetRealHeight(181 + 46); - btnTemperatureUnit.X = Application.GetRealWidth(180); + var btnTemperatureUnit = new NormalViewControl(50, 140, true); + btnTemperatureUnit.X = btnTemperatureStatus.Right; btnTemperatureUnit.Text = "鈩�"; btnTemperatureUnit.TextSize = 14; btnTemperatureUnit.TextColor = ZigbeeColor.Current.XMWhite; - btnTemperatureUnit.TextAlignment = TextAlignment.CenterLeft; - frameTemperaturePic.AddChidren(btnTemperatureUnit); + btnTemperatureUnit.TextAlignment = TextAlignment.BottomLeft; + frameTemperatureTextFrameLayout.AddChidren(btnTemperatureUnit); //PM2.5浼犳劅鍣ㄧ殑PM2.5瀹瑰櫒 var framePmPic = new FrameLayout(); - framePmPic.X = Application.GetMinRealAverage(138); - framePmPic.Y = Application.GetRealHeight(662); - framePmPic.Width = Application.GetMinRealAverage(311); + framePmPic.X = Application.GetMinRealAverage(138); + framePmPic.Y = Application.GetRealHeight(662); + framePmPic.Width = Application.GetMinRealAverage(311); framePmPic.Height = Application.GetMinRealAverage(351); framePmPic.BackgroundImagePath = "PM2.5Sensor/PmPic.png"; frameWhiteBack.AddChidren(framePmPic); //PM2.5鏂囨湰 - var btnPmText = new NormalViewControl(311, 49, true); + var btnPmText = new NormalViewControl(311, 49, true); btnPmText.Y = Application.GetRealHeight(45); btnPmText.Text = "PM2.5"; btnPmText.TextSize = 12; @@ -146,26 +158,39 @@ btnPmText.TextAlignment = TextAlignment.Center; framePmPic.AddChidren(btnPmText); - //PM2.5鏁版嵁锛堢3涓紝listControl銆�2銆戯級 - var btnPmStatus = new NormalViewControl(162, 92, true); - btnPmStatus.Y = Application.GetRealHeight(181); + // PM2.5鏂囨湰瀹瑰櫒 + var framePmTextFrameLayout = new FrameLayout(); + framePmTextFrameLayout.Y = Application.GetRealHeight(113); + framePmTextFrameLayout.Gravity = Gravity.CenterHorizontal; + framePmTextFrameLayout.Height = Application.GetRealHeight(160); + framePmPic.AddChidren(framePmTextFrameLayout); + + //PM2.5鏁版嵁 + var btnPmStatus = new NormalViewControl(162, 160, true); btnPmStatus.Text = "155"; btnPmStatus.TextSize = 30; btnPmStatus.TextColor = ZigbeeColor.Current.XMWhite; - btnPmStatus.TextAlignment = TextAlignment.CenterRight; - framePmPic.AddChidren(btnPmStatus); - this.listControl.Add(btnPmStatus); + btnPmStatus.TextAlignment = TextAlignment.BottomRight; + framePmTextFrameLayout.AddChidren(btnPmStatus); - //PM2.5鍗曚綅 锛堢4涓紝listControl銆�3銆戯級 - var btnPmUnit = new NormalViewControl(120 + 26, 43, true); - btnPmUnit.Y = Application.GetRealHeight(181 + 46); - btnPmUnit.X = Application.GetRealWidth(153); + //PM2.5鍗曚綅 锛堢4涓紝listControl銆�3銆戯級 + var btnPmUnit = new NormalViewControl(144, 148, true); + btnPmUnit.X = btnPmStatus.Right; btnPmUnit.Text = "渭g/m鲁"; btnPmUnit.TextSize = 14; btnPmUnit.TextColor = ZigbeeColor.Current.XMWhite; - btnPmUnit.TextAlignment = TextAlignment.CenterLeft; - framePmPic.AddChidren(btnPmUnit); - this.listControl.Add(btnPmUnit); + btnPmUnit.TextAlignment = TextAlignment.BottomLeft; + framePmTextFrameLayout.AddChidren(btnPmUnit); + + this.listControl.Add(btnHumidityStatus);//锛堢1涓紝listControl銆�0銆戯級 + this.listControl.Add(btnTemperatureStatus);//锛堢2涓紝listControl銆�1銆戯級 + this.listControl.Add(btnPmStatus);//锛堢3涓紝listControl銆�2銆戯級 + this.listControl.Add(btnPmUnit);//锛堢4涓紝listControl銆�3銆戯級 + this.listControl.Add(btnHumidityUnit);//锛堢5涓紝listControl銆�4銆戯級 + this.listControl.Add(btnTemperatureUnit);//锛堢6涓紝listControl銆�5銆戯級 + this.listFrameLayout.Add(frameHumidityTextFrameLayout);//锛堢1涓紝listControl銆�0銆戯級 + this.listFrameLayout.Add(frameTemperatureTextFrameLayout);//锛堢2涓紝listControl銆�1銆戯級 + this.listFrameLayout.Add(framePmTextFrameLayout);//锛堢3涓紝listControl銆�2銆戯級 } #endregion @@ -177,63 +202,63 @@ /// <param name="comandDiv">鍛戒护鍖哄垎</param> /// <param name="report">涓婃姤鏁版嵁</param> /// <returns></returns> - public override bool CheckResponeResultStatu(ReceiveComandDiv comandDiv, CommonDevice report) - { - if (comandDiv == ReceiveComandDiv.A璁惧灞炴�т笂鎶�) - { - if (report.DeviceStatusReport.CluterID == 1026) - { - var attriButeList = report.DeviceStatusReport.AttriBute; - foreach (var attList in attriButeList) - { - if (attList.AttributeId == 0) + public override bool CheckResponeResultStatu(ReceiveComandDiv comandDiv, CommonDevice report) + { + if (comandDiv == ReceiveComandDiv.A璁惧灞炴�т笂鎶�) + { + if (report.DeviceStatusReport.CluterID == 1026) + { + var attriButeList = report.DeviceStatusReport.AttriBute; + foreach (var attList in attriButeList) + { + if (attList.AttributeId == 0) { - HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunMain(() => { UpdateStatus(); }); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 - return true; + return true; } - } - } - if (report.DeviceStatusReport.CluterID == 1029) - { - var attriButeList = report.DeviceStatusReport.AttriBute; - foreach (var attList in attriButeList) - { - if (attList.AttributeId == 0) + } + } + if (report.DeviceStatusReport.CluterID == 1029) + { + var attriButeList = report.DeviceStatusReport.AttriBute; + foreach (var attList in attriButeList) + { + if (attList.AttributeId == 0) { - HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunMain(() => { UpdateStatus(); }); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 - return true; + return true; } - } - } - if (report.DeviceStatusReport.CluterID == 1066) - { - var attriButeList = report.DeviceStatusReport.AttriBute; - foreach (var attList in attriButeList) - { - if (attList.AttributeId == 0) + } + } + if (report.DeviceStatusReport.CluterID == 1066) + { + var attriButeList = report.DeviceStatusReport.AttriBute; + foreach (var attList in attriButeList) + { + if (attList.AttributeId == 0) { - HdlThreadLogic.Current.RunMain(() => + HdlThreadLogic.Current.RunMain(() => { UpdateStatus(); }); //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 - return true; + return true; } - } - } - } - return false; + } + } + } + return false; } #endregion @@ -244,12 +269,25 @@ private void UpdateStatus() { //璁剧疆鐘舵�佹枃瀛� - this.listControl[0].Text = pMSensor.currentTemperature.ToString(); - this.listControl[1].Text = pMSensor.currentHumidity.ToString(); + this.listControl[0].Text = pMSensor.currentHumidity.ToString(); + this.listControl[1].Text = pMSensor.currentTemperature.ToString(); this.listControl[2].Text = pMSensor.currentPmData.ToString(); //璁剧疆鐘舵�佹枃瀛� var curText = Language.StringByID(R.MyInternationalizationString.AirQuality) + QuailityType(); this.SetStatuText(curText); + this.listControl[0].Width = this.listControl[0].GetRealWidthByText(); + this.listControl[4].X = this.listControl[0].Right; + this.listControl[1].Width = this.listControl[1].GetRealWidthByText(); + this.listControl[5].X = this.listControl[1].Right; + this.listControl[2].Width = this.listControl[2].GetRealWidthByText(); + this.listControl[3].X = this.listControl[2].Right; + this.listControl[3].Width = this.listControl[3].GetRealWidthByText(); + this.listFrameLayout[0].Width = this.listControl[0].Width + this.listControl[4].Width; + this.listFrameLayout[1].Width = this.listControl[1].Width + this.listControl[5].Width; + this.listFrameLayout[2].Width = this.listControl[2].Width + this.listControl[3].Width; + this.listFrameLayout[0].Gravity = Gravity.CenterHorizontal; + this.listFrameLayout[1].Gravity = Gravity.CenterHorizontal; + this.listFrameLayout[2].Gravity = Gravity.CenterHorizontal; } /// <summary> @@ -262,70 +300,34 @@ if (pMSensor.currentPmData <= 35 && pMSensor.currentPmData >= 0) { curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - - if (pMSensor.currentPmData < 10) - { - this.listControl[2].Width = Application.GetRealWidth(188 - 70); - this.listControl[3].X = Application.GetRealWidth(180 - 70); - } - else - { - this.listControl[2].Width = Application.GetRealWidth(193 - 40); - this.listControl[3].X = Application.GetRealWidth(137); - } } - else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35) { - curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - this.listControl[2].Width = Application.GetRealWidth(193 - 40); - this.listControl[3].X = Application.GetRealWidth(137); + curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality); } else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75) { - curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - - if (pMSensor.currentPmData < 100) - { - this.listControl[2].Width = Application.GetRealWidth(193 - 40); - this.listControl[3].X = Application.GetRealWidth(137); - } - else - { - this.listControl[2].Width = Application.GetRealWidth(162); - this.listControl[3].X = Application.GetRealWidth(153); - } + curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution); } else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115) { - curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - this.listControl[2].Width = Application.GetRealWidth(162); - this.listControl[3].X = Application.GetRealWidth(153); + curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted); } else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150) { - curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - this.listControl[2].Width = Application.GetRealWidth(162); - this.listControl[3].X = Application.GetRealWidth(153); + curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution); } else if (pMSensor.currentPmData > 250) { - curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality); - this.listControl[2].Width = Application.GetRealWidth(162); - this.listControl[3].X = Application.GetRealWidth(153); + curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution); } else { curQuality = ""; - this.listControl[2].Width = Application.GetRealWidth(162); - this.listControl[3].X = Application.GetRealWidth(153); } //璁剧疆鐘舵�佹枃瀛� return curQuality; } #endregion - - - } } -- Gitblit v1.8.0