From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs |  198 +++++++++++++++++++++++++++++++------------------
 1 files changed, 126 insertions(+), 72 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
index 45f747d..b436761 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
@@ -11,12 +11,16 @@
     /// </summary>
     public class DevicePmSensorDetailCardForm : DeviceDetailCardCommonForm
     {
-        #region 鈻� 鍙橀噺澹版槑___________________________ 
+        #region 鈻� 鍙橀噺澹版槑___________________________
         /// <summary>
         /// 鐣岄潰涓婂彲浠ユ搷浣滅殑鎺т欢
         /// </summary>
         private List<ButtonBase> listControl = new List<ButtonBase>();
         /// <summary>
+        /// 鐣岄潰涓婂彲浠ユ搷浣滅殑鎺т欢
+        /// </summary>
+        private List<FrameLayout> listFrameLayout = new List<FrameLayout>();
+        /// <summary>
         /// 鎺т欢
         /// </summary>
         private PMSensor pMSensor = null;
@@ -44,7 +48,7 @@
             this.pMSensor = (PMSensor)this.device;
             //鍏堟竻绌�
             this.listControl = new List<ButtonBase>();
-            InitFreshAirControl(frameWhiteBack);
+            InitPmControl(frameWhiteBack);
             UpdateStatus();
         }
 
@@ -52,7 +56,7 @@
         /// 鍒濆鍖朠M2.5浼犳劅鍣ㄦ帶浠�
         /// </summary>
         /// <param name="frameWhiteBack"></param>
-        private void InitFreshAirControl(FrameLayout frameWhiteBack)
+        private void InitPmControl(FrameLayout frameWhiteBack)
         {
             //婀垮害瀹瑰櫒
             var frameHumidityPic = new FrameLayout();
@@ -72,25 +76,29 @@
             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 = 32;
+            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(190);
+            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();
@@ -109,25 +117,29 @@
             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 = 32;
+            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(188);
+            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();
@@ -146,27 +158,41 @@
             btnPmText.TextAlignment = TextAlignment.Center;
             framePmPic.AddChidren(btnPmText);
 
-            //PM2.5鏁版嵁锛堢3涓紝listControl銆�2銆戯級
-            var btnPmStatus = new NormalViewControl(109 + 40, 92, true);
-            btnPmStatus.Y = Application.GetRealHeight(181);
-            btnPmStatus.Text = "35";
-            btnPmStatus.TextSize = 32;
-            btnPmStatus.TextColor = ZigbeeColor.Current.XMWhite;
-            btnPmStatus.TextAlignment = TextAlignment.CenterRight;
-            framePmPic.AddChidren(btnPmStatus);
-            this.listControl.Add(btnPmStatus);
+            // 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 btnPmUnit = new NormalViewControl(124 + 15, 43, true);
-            btnPmUnit.Y = Application.GetRealHeight(181 + 46);
-            btnPmUnit.X = Application.GetRealWidth(150);
+            //PM2.5鏁版嵁
+            var btnPmStatus = new NormalViewControl(162, 160, true);
+            btnPmStatus.Text = "155";
+            btnPmStatus.TextSize = 30;
+            btnPmStatus.TextColor = ZigbeeColor.Current.XMWhite;
+            btnPmStatus.TextAlignment = TextAlignment.BottomRight;
+            framePmTextFrameLayout.AddChidren(btnPmStatus);
+
+            //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);
+            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 
+        #endregion
 
         #region 鈻� 鏄惁鑾峰彇缃戝叧鍙嶉鐨勭粨鏋淿____________
 
@@ -236,31 +262,6 @@
         }
         #endregion
 
-        #region 鈻� 璁剧疆鏂规硶 
-        /// <summary>
-        ///鍛戒护
-        ///0:Off
-        ///1:Low
-        ///3:High
-        ///4:On
-        ///5:Auto
-        /// 15:Manual
-        /// </summary> 
-        private void SetFanComand(int command)
-        {
-            //妫�娴嬫槸鍚﹁幏鍙栫綉鍏冲弽棣堢殑缁撴灉,濡傛灉缃戝叧娌℃湁鍥炲,鍒欎細寮瑰嚭娑堟伅
-            this.StartCheckResponeResult(this.listControl, (result) =>
-            {
-                //鎺ユ敹鍒扮綉鍏冲洖澶�
-                if (result == true)
-                {
-                }
-            });
-
-
-        }
-        #endregion
-
         #region 鈻� 鍒锋柊鐘舵�乢____________
         /// <summary>
         /// 鍒锋柊鐘舵��
@@ -268,11 +269,64 @@
         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();
-            //璁剧疆鐘舵�佹枃瀛� 
-            this.SetStatuText(Language.StringByID(R.MyInternationalizationString.uOpen1));
+            //璁剧疆鐘舵�佹枃瀛�
+            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>
+        /// 璐ㄩ噺绛夌骇
+        /// </summary>
+        private string QuailityType()
+        {
+            string curQuality = string.Empty;
+
+            if (pMSensor.currentPmData <= 35 && pMSensor.currentPmData >= 0)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.ExcellentAirQuality);
+            }
+            else if (pMSensor.currentPmData <= 75 && pMSensor.currentPmData > 35)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.GoodAirQuality);
+            }
+            else if (pMSensor.currentPmData <= 115 && pMSensor.currentPmData > 75)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.LightPollution);
+            }
+            else if (pMSensor.currentPmData <= 150 && pMSensor.currentPmData > 115)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.Moderatelyolluted);
+            }
+            else if (pMSensor.currentPmData <= 250 && pMSensor.currentPmData > 150)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.HeavyPollution);
+            }
+            else if (pMSensor.currentPmData > 250)
+            {
+                curQuality = Language.StringByID(R.MyInternationalizationString.SeriousPollution);
+            }
+            else
+            {
+                curQuality = "";
+            }
+            //璁剧疆鐘舵�佹枃瀛�
+            return curQuality;
         }
         #endregion
     }

--
Gitblit v1.8.0