xm
2020-05-19 34b65350abbb8b740b9c3bc0b43254cbbe23fcb5
ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
@@ -44,7 +44,7 @@
            this.pMSensor = (PMSensor)this.device;
            //先清空
            this.listControl = new List<ButtonBase>();
            InitFreshAirControl(frameWhiteBack);
            InitPmControl(frameWhiteBack);
            UpdateStatus();
        }
@@ -52,7 +52,7 @@
        /// 初始化PM2.5传感器控件
        /// </summary>
        /// <param name="frameWhiteBack"></param>
        private void InitFreshAirControl(FrameLayout frameWhiteBack)
        private void InitPmControl(FrameLayout frameWhiteBack)
        {
            //湿度容器
            var frameHumidityPic = new FrameLayout();
@@ -85,7 +85,7 @@
            //湿度单位
            var btnHumidityUnit = new NormalViewControl(37 + 81, 40, true);
            btnHumidityUnit.Y = Application.GetRealHeight(181 + 46);
            btnHumidityUnit.X = Application.GetRealWidth(190);
            btnHumidityUnit.X = Application.GetRealWidth(180);
            btnHumidityUnit.Text = "%";
            btnHumidityUnit.TextSize = 14;
            btnHumidityUnit.TextColor = ZigbeeColor.Current.XMWhite;
@@ -122,7 +122,7 @@
            //温度单位
            var btnTemperatureUnit = new NormalViewControl(40 + 81, 40, true);
            btnTemperatureUnit.Y = Application.GetRealHeight(181 + 46);
            btnTemperatureUnit.X = Application.GetRealWidth(188);
            btnTemperatureUnit.X = Application.GetRealWidth(180);
            btnTemperatureUnit.Text = "℃";
            btnTemperatureUnit.TextSize = 14;
            btnTemperatureUnit.TextColor = ZigbeeColor.Current.XMWhite;
@@ -147,7 +147,7 @@
            framePmPic.AddChidren(btnPmText);
            //PM2.5数据(第3个,listControl【2】)
            var btnPmStatus = new NormalViewControl(109 + 40, 92, true);
            var btnPmStatus = new NormalViewControl(162, 92, true);
            btnPmStatus.Y = Application.GetRealHeight(181);
            btnPmStatus.Text = "155";
            btnPmStatus.TextSize = 30;
@@ -156,15 +156,16 @@
            framePmPic.AddChidren(btnPmStatus);
            this.listControl.Add(btnPmStatus);
            //PM2.5单位
            var btnPmUnit = new NormalViewControl(124 + 15, 43, true);
            //PM2.5单位  (第4个,listControl【3】)
            var btnPmUnit = new NormalViewControl(120 + 26, 43, true);
            btnPmUnit.Y = Application.GetRealHeight(181 + 46);
            btnPmUnit.X = Application.GetRealWidth(150);
            btnPmUnit.X = Application.GetRealWidth(153);
            btnPmUnit.Text = "μg/m³";
            btnPmUnit.TextSize = 14;
            btnPmUnit.TextColor = ZigbeeColor.Current.XMWhite;
            btnPmUnit.TextAlignment = TextAlignment.CenterLeft;
            framePmPic.AddChidren(btnPmUnit);
            this.listControl.Add(btnPmUnit);
        }
        #endregion
@@ -247,7 +248,8 @@
            this.listControl[1].Text = pMSensor.currentHumidity.ToString();
            this.listControl[2].Text = pMSensor.currentPmData.ToString();
            //设置状态文字
            this.btnStatu.Text = Language.StringByID(R.MyInternationalizationString.AirQuality) + "";
            var curText = Language.StringByID(R.MyInternationalizationString.AirQuality) + QuailityType();
            this.SetStatuText(curText);
        }
        /// <summary>
@@ -259,13 +261,71 @@
            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);
                }
            }
            this.listControl[2].Text = pMSensor.currentPmData.ToString();
            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);
            }
            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);
                }
            }
            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);
            }
            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);
            }
            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);
            }
            else
            {
                curQuality = "";
                this.listControl[2].Width = Application.GetRealWidth(162);
                this.listControl[3].X = Application.GetRealWidth(153);
            }
            //设置状态文字
            return curQuality;
        }
        #endregion
    }
}