| | |
| | | /// </summary> |
| | | private PicViewControl btnPictrue = null; |
| | | /// <summary> |
| | | /// 控制器控制状态提示文本按钮 |
| | | /// </summary> |
| | | NormalViewControl btnControlTip = null; |
| | | /// <summary> |
| | | /// 控制器控制时间提示文本按钮 |
| | | /// </summary> |
| | | NormalViewControl btnControlTimeTip = null; |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | private IconViewControl btnTimeSet = null; |
| | | |
| | | /// <summary> |
| | | /// 开关控件 |
| | | /// </summary> |
| | | private IconViewControl btnSwitch = null; |
| | |
| | | { |
| | | base.SetTitleText(Language.StringByID(StringId.AirCleaner)); |
| | | |
| | | //添加第二索引页 |
| | | this.AddSecondPage(); |
| | | ////添加第二索引页 |
| | | //this.AddSecondPage(); |
| | | //初始化第一个索引页的内容 |
| | | this.InitFrameWhiteContent1(); |
| | | //刷新界面状态 |
| | |
| | | this.SendSwitchComand(); |
| | | }; |
| | | |
| | | btnControlTip = new NormalViewControl(300,30, true) |
| | | { |
| | | Y = Application.GetRealHeight(231), |
| | | TextAlignment = TextAlignment.Center, |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | SelectedTextColor = CSS_Color.MainColor, |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextID = StringId.ControllerNotOn, |
| | | }; |
| | | FrameWhiteCentet1.AddChidren(btnControlTip); |
| | | |
| | | btnControlTimeTip = new NormalViewControl(300, 30, true) |
| | | { |
| | | Y = Application.GetRealHeight(252), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | //TextColor = 0x00000000, |
| | | SelectedTextColor = CSS_Color.TextualColor, |
| | | TextColor = CSS_Color.TextualColor, |
| | | Text = "00:00:00" |
| | | }; |
| | | FrameWhiteCentet1.AddChidren(btnControlTimeTip); |
| | | |
| | | btnTimeSet = new IconViewControl(50) |
| | | { |
| | | Y = Application.GetRealHeight(365), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | UnSelectedImagePath = "FunctionIcon/Electrical/WaterValve/SetTimeIcon.png", |
| | | SelectedImagePath = "FunctionIcon/Electrical/WaterValve/SetTimeIcon.png", |
| | | }; |
| | | FrameWhiteCentet1.AddChidren(btnTimeSet); |
| | | btnTimeSet.ButtonClickEvent = (sender, e) => { |
| | | SetControlTime(); |
| | | }; |
| | | |
| | | //开关图标 |
| | | this.btnSwitch = new IconViewControl(40); |
| | | btnSwitch.Gravity = Gravity.CenterHorizontal; |
| | |
| | | //发送开关命令 |
| | | this.SendSwitchComand(); |
| | | }; |
| | | |
| | | var pack = new DAL.Server.HttpServerRequest().GetDeviceInfoList(new List<string>() { base.device.deviceId }); |
| | | } |
| | | #endregion |
| | | |
| | |
| | | this.btnSwitch.CanClick = false; |
| | | |
| | | string statu = this.btnSwitch.IsSelected == true ? "off" : "on"; |
| | | //btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | HdlThreadLogic.Current.RunThread(() => |
| | | { |
| | | var dic = new Dictionary<string, string>(); |
| | |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | foreach (var data in this.device.attributes) |
| | | var onoffStatu = device.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff); |
| | | var timeStatu = device.status.Find((obj) => obj.key == FunctionAttributeKey.TuyaWaterTime); |
| | | |
| | | if (onoffStatu != null) |
| | | { |
| | | if (data.key == FunctionAttributeKey.OnOff) |
| | | if (onoffStatu.value.ToString() == "on") |
| | | { |
| | | this.btnSwitch.IsSelected = this.btnPictrue.IsSelected = data.curValue.ToString() == "on"; |
| | | btnControlTip.TextID = StringId.ControllerOn; |
| | | } |
| | | else |
| | | { |
| | | btnControlTip.TextID = StringId.ControllerNotOn; |
| | | } |
| | | this.btnSwitch.IsSelected = this.btnPictrue.IsSelected = onoffStatu.value.ToString() == "on"; |
| | | } |
| | | if (timeStatu != null) |
| | | { |
| | | int.TryParse(timeStatu.value, out waterRunningTime); |
| | | } |
| | | RefreshTimeButton(); |
| | | }); |
| | | } |
| | | |
| | | System.Threading.Thread refreshTimeThread; |
| | | int waterRunningTime = 0; |
| | | /// <summary> |
| | | /// 刷新水阀时间文本 |
| | | /// </summary> |
| | | private void RefreshTimeButton() |
| | | { |
| | | if (refreshTimeThread == null || refreshTimeThread.ThreadState == System.Threading.ThreadState.Stopped) |
| | | { |
| | | refreshTimeThread = new System.Threading.Thread(() => |
| | | { |
| | | while (waterRunningTime >= 0) |
| | | { |
| | | if (waterRunningTime > 0) |
| | | { |
| | | waterRunningTime--; |
| | | } |
| | | var sce = waterRunningTime % 60; |
| | | var min = 0; |
| | | if(waterRunningTime > 60) |
| | | { |
| | | min = (waterRunningTime - sce) / 60 %60; |
| | | } |
| | | var hour = 0; |
| | | if(waterRunningTime > 360) |
| | | { |
| | | hour = (waterRunningTime - sce - (min * 60)) / 3600; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnControlTimeTip.Text = $"{hour.ToString().PadLeft(2,'0')}:{min.ToString().PadLeft(2, '0')}:{sce.ToString().PadLeft(2, '0')}"; |
| | | }); |
| | | System.Threading.Thread.Sleep(1000); |
| | | } |
| | | }) |
| | | { IsBackground = true }; |
| | | } |
| | | refreshTimeThread.Start(); |
| | | } |
| | | |
| | | public override void RemoveFromParent() |
| | | { |
| | | if (refreshTimeThread != null) |
| | | { |
| | | refreshTimeThread.Abort(); |
| | | } |
| | | base.RemoveFromParent(); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | private void SetControlTime() |
| | | { |
| | | var timeControl = new BottomTimeSelectControl(); |
| | | timeControl.InitControl(0,0); |
| | | timeControl.FinishEvent = (type,hours,min) => { |
| | | if (type == 1)//0:取消;1:确定 |
| | | { |
| | | HdlThreadLogic.Current.RunThread(() => |
| | | { |
| | | var time = hours * 60 * 60 + min * 60; |
| | | var dic = new Dictionary<string, string>(); |
| | | dic.Add(FunctionAttributeKey.TuyaWaterTime, time.ToString()); |
| | | Control.Ins.SendWriteCommand(this.device, dic, true); |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | waterRunningTime = time; |
| | | this.btnControlTimeTip.Text = $"{hours.ToString().PadLeft(2, '0')}:{min.ToString().PadLeft(2, '0')}:00"; |
| | | }); |
| | | }); |
| | | } |
| | | }; |
| | | } |
| | | } |
| | | } |