| | |
| | |
|
| | | //加一个白色背景
|
| | | var frameBack1 = new FrameLayout();
|
| | | frameBack1.Height = Application.GetRealHeight(450);
|
| | | frameBack1.Height = Application.GetRealHeight(750);
|
| | | frameBack1.Y = Application.GetRealHeight(196);
|
| | | frameBack1.BackgroundColor = UserCenterColor.Current.White;
|
| | | frameBack1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
|
| | | listBackControl.frameTable.AddChidren(frameBack1);
|
| | |
|
| | | //初始化信息桌布
|
| | | var tableContr = new InformationEditorControl();
|
| | | this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1175);
|
| | |
|
| | | //房间图片底部阴影
|
| | | var btnShadow = new PicViewControl(853, 593);
|
| | |
| | | };
|
| | | }
|
| | |
|
| | | //变更一下那个白色背景的Y轴,它到图片的中间位置
|
| | | frameBack1.Y = btnPic.Y + btnPic.Height / 2;
|
| | | //初始化信息桌布
|
| | | var tableContr = new InformationEditorControl();
|
| | | this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), bodyFrameLayout.Height - btnShadow.Bottom, false);
|
| | |
|
| | | //添加全部菜单
|
| | | this.AddAllMenuRow(tableContr, btnPic);
|
| | |
| | | && data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
|
| | | {
|
| | | //处理网关返回的温度值
|
| | | decimal temperatrue = 0;
|
| | | this.AdjustTemperatrueValue(data.AttributeData, ref temperatrue);
|
| | | decimal temperatrue = Common.LocalDevice.Current.AdjustTemperatrueValue(data.AttributeData);
|
| | |
|
| | | device.GetType().InvokeMember("currentTemperature", System.Reflection.BindingFlags.SetField, null, device, new object[] { temperatrue });
|
| | | device.ReSave();
|
| | |
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 处理网关返回的温度值
|
| | | /// </summary>
|
| | | /// <param name="value">网关返回的属性值</param>
|
| | | /// <param name="temperatrue">转换成的温度值</param>
|
| | | private void AdjustTemperatrueValue(int value, ref decimal temperatrue)
|
| | | {
|
| | | if (value == 0)
|
| | | {
|
| | | //0℃
|
| | | temperatrue = 0;
|
| | | }
|
| | | else if (value > 32767)
|
| | | {
|
| | | //负数(特殊处理)
|
| | | string strValue = (value - 65536).ToString();
|
| | | //小数点需要一位
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | //记录温度
|
| | | temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | }
|
| | | else
|
| | | {
|
| | | //小数点需要一位
|
| | | string strValue = value.ToString();
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | //记录温度
|
| | | temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
| | | && data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue)
|
| | | {
|
| | | //处理网关返回的湿度值
|
| | | decimal humidity = 0;
|
| | | this.AdjustHumidityValue(data.AttributeData, ref humidity);
|
| | | decimal humidity = Common.LocalDevice.Current.AdjustHumidityValue(data.AttributeData);
|
| | |
|
| | | device.GetType().InvokeMember("currentHumidity", System.Reflection.BindingFlags.SetField, null, device, new object[] { humidity });
|
| | | device.ReSave();
|
| | |
| | | }
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 处理网关返回的湿度值
|
| | | /// </summary>
|
| | | /// <param name="value">网关返回的属性值</param>
|
| | | /// <param name="temperatrue">转换成的湿度值</param>
|
| | | /// <param name="valueText">转换成的湿度值的翻译文本</param>
|
| | | private void AdjustHumidityValue(int value, ref decimal humidity)
|
| | | {
|
| | | if (value == 0)
|
| | | {
|
| | | //0%
|
| | | humidity = 0;
|
| | | }
|
| | | //不会出现负数
|
| | | else
|
| | | {
|
| | | //小数点需要一位
|
| | | string strValue = value.ToString();
|
| | | strValue = strValue.Substring(0, strValue.Length - 1);
|
| | | //记录温度
|
| | | humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, "."));
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|