using System; using System.Collections.Generic; using Shared; using Shared.Common; using Shared.Phone; using Shared.R; using ZigBee.Device; namespace Shared.Phone.Device.Logic { public class DelayTime : FrameLayout { public DelayTime() { Tag = "Logic"; } public void Show(int isInt=0, bool edit=false) { #region 最上面的布局代码 var topRowLayout = new RowLayout { BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor, Height = Application.GetRealHeight(184), LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor, }; this.AddChidren(topRowLayout); var titleName = new Button { TextSize = 16, TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth(176), Width = Application.GetRealWidth(400), Height = Application.GetRealHeight(69), Y = Application.GetRealHeight(92), TextID = MyInternationalizationString.adddelay, }; topRowLayout.AddChidren(titleName); var clickBtn = new Button { Width = Application.GetRealWidth(81 + 51), Height = Application.GetRealHeight(58 + 40), Y = Application.GetRealHeight(98 - 40), }; topRowLayout.AddChidren(clickBtn); clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); }; var back = new Button { Width = Application.GetRealWidth(30), Height = Application.GetRealHeight(51), X = Application.GetRealWidth(81), Y = Application.GetRealHeight(98), //Gravity = Gravity.CenterVertical; UnSelectedImagePath = "ZigeeLogic/back.png", }; topRowLayout.AddChidren(back); back.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); }; #endregion var middle = new FrameLayout { Y = topRowLayout.Bottom, Height = Application.GetRealHeight(1920 - 184), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); var blancolor = new FrameLayout { Width = Application.GetMinRealAverage(200), Height = Application.GetMinRealAverage(200), Y = Application.GetRealHeight(130), BackgroundColor = 0xFFFFFFFF, Radius = (uint)Application.GetMinRealAverage(100), X = Application.GetRealWidth(440), }; middle.AddChidren(blancolor); var color = new FrameLayout { Width = blancolor.Width - Application.GetMinRealAverage(24), Height = blancolor.Height - Application.GetMinRealAverage(24), Y = Application.GetRealHeight(12), BackgroundColor = 0xFFFEF1ED, Radius = (uint)Application.GetMinRealAverage(86), X = Application.GetRealWidth(12), }; blancolor.AddChidren(color); var btnicon = new Button { X = Application.GetRealWidth(48), Width = Application.GetRealWidth(80), Height = Application.GetRealHeight(80), Y = Application.GetRealHeight(48), UnSelectedImagePath = "ZigeeLogic/delay.png", }; color.AddChidren(btnicon); var titleText = new Button { Width = Application.GetMinRealAverage(480), Height = Application.GetMinRealAverage(60), X = Application.GetRealWidth(300), Y = blancolor.Bottom + Application.GetRealHeight(50), TextID =MyInternationalizationString.createtimetext, TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; middle.AddChidren(titleText); var PickerViewfra = new FrameLayout { Y = titleText.Bottom + Application.GetRealHeight(250), Height = Application.GetRealHeight(1046), BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; middle.AddChidren(PickerViewfra); var mUIPickerView = new UIPickerView { Y = Application.GetRealHeight(50), Height = Application.GetRealHeight(600), }; PickerViewfra.AddChidren(mUIPickerView); var mList1 = new List(); var mList2 = new List(); for (int i = 0; i < 61; i++) { if (i < 10) { var a = "0" + i.ToString(); mList1.Add(a + " " + Language.StringByID(MyInternationalizationString.minute)); mList2.Add(a + " " + Language.StringByID(MyInternationalizationString.second)); } else { mList1.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.minute)); mList2.Add(i.ToString() + " " + Language.StringByID(MyInternationalizationString.second)); } } mUIPickerView.setNPicker(mList1, mList2, new List()); ///默认状态 mUIPickerView.setCurrentItems(0, 5, 0); int timevalue = 5; int value = 0; if (edit) { timevalue = int.Parse(Common.Logic.CurrentLogic.Actions[isInt]["DelayTime"].ToString()); var minutevalue1 = timevalue / 60; var secondvalue1 = timevalue % 60; //更新最新状态 mUIPickerView.setCurrentItems(minutevalue1, secondvalue1, 0); value = timevalue; } string selectde = ""; mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => { var minutevalue = int.Parse(mList1[s1].Split(' ')[0]); var secondvalue = int.Parse(mList2[s2].Split(' ')[0]); timevalue = minutevalue * 60 + secondvalue; selectde = "yes"; }; var btnsave = new Button { Y = PickerViewfra.Height - Application.GetRealHeight(260), X = Application.GetRealWidth(85), Height = Application.GetRealHeight(130), Width = Application.GetRealWidth(910), Radius = (uint)Application.GetRealHeight(60), BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, TextID = MyInternationalizationString.Save, TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; PickerViewfra.AddChidren(btnsave); ///完成点击事件 btnsave.MouseUpEventHandler += (sender, e) => { if (timevalue == 0) { return; } if (selectde != ""|| timevalue==5) { Dictionary actionsInfo = new Dictionary(); actionsInfo.Add("LinkType", 7); actionsInfo.Add("DelayTime", timevalue); if (edit) { Common.Logic.CurrentLogic.Actions.RemoveAt(isInt); Common.Logic.CurrentLogic.Actions.Insert(isInt, actionsInfo); } else { Common.Logic.CurrentLogic.Actions.Add(actionsInfo); } } else { if (!edit) { var alert = new Alert(Language.StringByID(MyInternationalizationString.Prompt), Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), Language.StringByID(MyInternationalizationString.complete)); alert.Show(); return; } } var logicCommunalPage = new LogicCommunalPage { }; UserView.HomePage.Instance.AddChidren(logicCommunalPage); UserView.HomePage.Instance.PageIndex += 1; logicCommunalPage.Show(() => { }); }; } } }