using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone { /// /// 安防传感器状态的自定义控件 /// public class SafetySensorStatuControl : FrameLayout { #region ■ 变量声明___________________________ /// /// 在线状态 /// private NormalViewControl btnOnline = null; /// /// 信息提示图标 /// private IconViewControl btnMsgIcon = null; /// /// 信息 /// private NormalViewControl btnMsg = null; #endregion #region ■ 初始化_____________________________ /// /// 安防传感器状态的自定义控件 /// public SafetySensorStatuControl() { this.Height = Application.GetRealHeight(256); this.Width = Application.GetRealWidth(968); this.Gravity = Gravity.CenterHorizontal; this.BackgroundColor = UserCenterColor.Current.White; this.Radius = (uint)Application.GetRealHeight(17); } /// /// 初始化控件 /// /// 设备对象 public void InitControl(CommonDevice device) { //区域 var btnArea = new NormalViewControl(400, 49, true); btnArea.Y = Application.GetRealHeight(40); btnArea.X = Application.GetRealWidth(46); btnArea.TextSize = 12; btnArea.TextColor = UserCenterColor.Current.TextGrayColor3; btnArea.Text = HdlRoomLogic.Current.GetRoomNameByDevice(device); this.AddChidren(btnArea); //状态 var btnStatu = new NormalViewControl(200, 49, true); btnStatu.Y = btnArea.Y; btnStatu.X = this.Width - Application.GetRealWidth(200 + 46); btnStatu.TextSize = 12; btnStatu.TextAlignment = TextAlignment.CenterRight; btnStatu.TextColor = UserCenterColor.Current.TextGrayColor1; btnStatu.TextID = R.MyInternationalizationString.uStatu; this.AddChidren(btnStatu); //线 var btnLine = new NormalViewControl(Application.GetRealWidth(876), HdlControlResourse.BottomLineHeight, false); btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine; btnLine.X = Application.GetRealWidth(46); btnLine.Y = Application.GetRealHeight(104); this.AddChidren(btnLine); //设备名称 var btnDeviceName = new NormalViewControl(400, 58, true); btnDeviceName.X = Application.GetRealWidth(46); btnDeviceName.Y = Application.GetRealHeight(141); btnDeviceName.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device); this.AddChidren(btnDeviceName); //在线状态 btnOnline = new NormalViewControl(200, 58, true); btnOnline.X = this.Width - Application.GetRealWidth(200 + 46); btnOnline.Y = btnDeviceName.Y; btnOnline.TextAlignment = TextAlignment.CenterRight; this.SetOnlineStatu(HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(device)); this.AddChidren(btnOnline); } #endregion #region ■ 一般方法___________________________ /// /// 设置在线状态 /// /// public void SetOnlineStatu(bool online) { if (online == false) { //离线 btnOnline.TextID = R.MyInternationalizationString.uOffLine; btnOnline.TextColor = UserCenterColor.Current.TextGrayColor1; } else { //在线 btnOnline.TextID = R.MyInternationalizationString.uOnline; btnOnline.TextColor = UserCenterColor.Current.TextColor1; } } /// /// 设置传感器报警信息 /// /// public void SetSensoReportInfo(IASZoneReportInfo reportInfo) { if (reportInfo == null) { return; } string strMsg = reportInfo.AlarmMsg; if (reportInfo.DemolishmenMsg != null) { //被拆报警 strMsg = reportInfo.DemolishmenMsg; } else if (reportInfo.BatteryMsg != null) { //电池报警 strMsg = reportInfo.BatteryMsg; } if (strMsg == null || strMsg == string.Empty) { //不是在册的报警消息 return; } //在线状态的控件隐藏 btnOnline.Visible = false; if (btnMsg == null) { //图标 btnMsgIcon = new IconViewControl(58); btnMsgIcon.X = Application.GetRealWidth(864); btnMsgIcon.Y = Application.GetRealHeight(141); btnMsgIcon.UnSelectedImagePath = "Item/Tips.png"; this.AddChidren(btnMsgIcon); //信息 btnMsg = new NormalViewControl(400, 58, true); btnMsg.TextAlignment = TextAlignment.CenterRight; btnMsg.TextColor = 0xfff34747; btnMsg.X = this.Width - Application.GetRealWidth(400 + 115); btnMsg.Y = Application.GetRealHeight(141); this.AddChidren(btnMsg); } btnMsg.Text = strMsg; } #endregion } }