| | |
| | | /// Room |
| | | /// </summary> |
| | | private Common.Room room; |
| | | /// <summary> |
| | | /// action |
| | | /// </summary> |
| | | public Action action; |
| | | |
| | | FrameLayout roomNameBackground; |
| | | |
| | |
| | | CommonDevice humidDevice; |
| | | |
| | | #region ◆ 接口__________________________ |
| | | /// <summary> |
| | | /// 处理变化事件 --将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | | /// <returns>The changed.</returns> |
| | | /// <param name="common">Common.</param> |
| | | public void Changed(CommonDevice common) |
| | | { |
| | | |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IL ogic status. |
| | | /// </summary> |
| | | /// <param name="logic">Logic.</param> |
| | | public void ChangedILogicStatus(ZigBee.Device.Logic logic) |
| | | { |
| | | //throw new NotImplementedException(); |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IS cene status. |
| | | /// </summary> |
| | | /// <param name="scene">Scene.</param> |
| | | public void ChangedISceneStatus(Scene scene) |
| | | { |
| | | //throw new NotImplementedException(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设备状态更新接口 |
| | | /// <para>type:如果为 DeviceInComingRespon:设备新上报</para> |
| | |
| | | //是否为当前设备 |
| | | if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr) ) |
| | | { |
| | | //return; |
| | | return; |
| | | } |
| | | |
| | | //if (common.Type == DeviceType.TemperatureSensor) |
| | |
| | | /// <param name="r"></param> |
| | | public void Init(Common.Room r) |
| | | { |
| | | this.RemoveAll(); |
| | | |
| | | this.room = r; |
| | | |
| | | this.temperDevice= Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); |
| | | this.temperDevice = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); |
| | | |
| | | this.humidDevice= Common.LocalDevice.Current.GetDevice(room.HumidityDevice); |
| | | this.humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); |
| | | |
| | | var roomBackView = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(717), |
| | | Height = Application.GetRealHeight(478) |
| | | Height = Application.GetRealHeight(478), |
| | | Radius = (uint)Application.GetRealHeight(17) |
| | | }; |
| | | AddChidren(roomBackView); |
| | | |
| | |
| | | Radius = (uint)Application.GetRealHeight(17) |
| | | }; |
| | | roomBackView.AddChidren(roomImg); |
| | | |
| | | //加个特殊的遮罩 |
| | | var frameBackGroudTemp = new FrameLayout(); |
| | | frameBackGroudTemp.Width = roomBackView.Width; |
| | | frameBackGroudTemp.Height = roomBackView.Height; |
| | | frameBackGroudTemp.Radius = roomBackView.Radius; |
| | | frameBackGroudTemp.BackgroundColor = 0x12000000; |
| | | roomBackView.AddChidren(frameBackGroudTemp); |
| | | |
| | | roomNameBackground = new FrameLayout |
| | | { |
| | |
| | | { |
| | | X = Application.GetRealWidth(69), |
| | | Width = Application.GetRealWidth(120), |
| | | Text = room.Temperatrue == 0 ? "--℃" : $"{room.Temperatrue}℃", |
| | | Text = "--℃", |
| | | TextSize = 14, |
| | | TextAlignment=TextAlignment.CenterLeft |
| | | }; |
| | | if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) |
| | | {
|
| | | temperatureText.Text = room.Temperatrue == 0 ? "0.0℃" : room.Temperatrue.ToString() + "℃"; |
| | | } |
| | | roomTemperatureBackground.AddChidren(temperatureText); |
| | | temperatureText.Width = temperatureText.GetTextWidth() + Application.GetRealWidth(60); |
| | | |
| | |
| | | { |
| | | X = humidityIcon.Right, |
| | | Width = Application.GetRealWidth(120), |
| | | Text = room.Humidity == 0 ? "--%" : $"{room.Humidity}%", |
| | | Text = "--%", |
| | | TextSize = 14, |
| | | TextAlignment = TextAlignment.CenterLeft |
| | | }; |
| | | if (string.IsNullOrEmpty(room.HumidityDevice) == false) |
| | | {
|
| | | humidityText.Text = room.Humidity == 0 ? "0.0%" : room.Humidity.ToString() + "%"; |
| | | } |
| | | roomTemperatureBackground.AddChidren(humidityText); |
| | | humidityText.Width = humidityText.GetTextWidth() + Application.GetRealWidth(60); |
| | | roomTemperatureBackground.Width = (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)) > Application.GetRealWidth(600) ? Application.GetRealWidth(600) : (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)); |
| | | |
| | | if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) |
| | | { |
| | | {
|
| | | //发送获取温度的命令 |
| | | var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev); |
| | |
| | | roomListBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var editRoom = new Device.Room.EditRoom(); |
| | | HomePage.Instance.AddChidren(editRoom); |
| | | HomePage.Instance.PageIndex += 1; |
| | | editRoom.Show(room); |
| | | editRoom.action += () => |
| | | { |
| | | action?.Invoke(); |
| | | |
| | | var form = new UserCenter.Residence.EditorRoomInforForm(); |
| | | form.AddForm(room); |
| | | form.FinishEditorEvent += (roomName2) =>
|
| | | {
|
| | | //重新刷新控件
|
| | | this.Init(this.room);
|
| | | }; |
| | | }; |
| | | } |