using System; using System.Collections.Generic; using Newtonsoft.Json.Linq; using Shared; using Shared.Common; using Shared.Phone; using Shared.R; using ZigBee.Device; namespace Shared.Phone.Device.Logic { public class LogicListPage : FrameLayout { public LogicListPage () { Tag = "Logic"; } Button beforeClickButton = new Button (); Common.Logic logicIfon = null; public void Show () { this.BackgroundColor = ZigbeeColor.Current.LogicTopViewBackgroundColor; this.AddChidren (new Button { Height = Application.GetRealHeight (80), }); var topFrameLayout = new FrameLayout { Height = Application.GetRealHeight (180), Y = Application.GetRealHeight (80), }; AddChidren (topFrameLayout); var titleName = new Button { TextID = MyInternationalizationString.automation, TextSize = 16, TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; topFrameLayout.AddChidren (titleName); var back = new Button { Width = Application.GetRealWidth (110), Height = Application.GetRealHeight (110), X = Application.GetRealWidth (20), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "ZigeeLogic/Back.png", }; topFrameLayout.AddChidren (back); back.MouseDownEventHandler += (sender, e) => { RemoveFromParent (); }; var searchdevice = new Button { Width = Application.GetMinRealAverage (100), Height = Application.GetMinRealAverage (100), X = Application.GetRealWidth (1080-140), Gravity = Gravity.CenterVertical, UnSelectedImagePath = "ZigeeLogic/seekdevice.png", }; topFrameLayout.AddChidren (searchdevice); var middle = new VerticalScrolViewLayout (); middle.Y = topFrameLayout.Bottom; middle.Height = Application.GetRealHeight (1920 - 220 - 174); middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; this.AddChidren (middle); var btncomplete = new Button { Y = middle.Bottom, Height = Application.GetRealHeight (174), TextID = MyInternationalizationString.complete, TextSize=16, TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; AddChidren (btncomplete); ///加载逻辑界面的方法 refreshlogicView(middle); ///逻辑刷新图标的点击事件 searchdevice.MouseUpEventHandler += (sender, e) => { middle.RemoveAll(); logicIfon = null; ///读取逻辑 //refreshlogiclist(() => { // ///加载逻辑界面的方法 // refreshlogicView(middle); //}); }; ///保存控件的点击事件 btncomplete.MouseUpEventHandler += (sedder, e) => { if (Shared.Common.Logic.LogicList.Count == 0||logicIfon==null) { var alert = new Alert (Language.StringByID (MyInternationalizationString.Prompt), Language.StringByID (MyInternationalizationString.selectlogic), Language.StringByID (MyInternationalizationString.complete)); alert.Show (); return; } var selectedLogicState = new SelectedLogicState (); UserView.HomePage.Instance.AddChidren (selectedLogicState); UserView.HomePage.Instance.PageIndex += 1; selectedLogicState.Show (logicIfon); }; } /// /// 加载逻辑界面的方法 /// /// Middle. /// Logic ifon. void refreshlogicView (VerticalScrolViewLayout middle ) { foreach (var logic in Shared.Common.Logic.LogicList) { var deviceRowLayout = new RowLayout { Height = Application.GetRealHeight (180), }; middle.AddChidren (deviceRowLayout); var btn = new Button { Height = Application.GetRealHeight (180), Width = LayoutParams.MatchParent, SelectedBackgroundColor = 0xfffe5e00, }; deviceRowLayout.AddChidren (btn); var btnlogic = new Button { Width = Application.GetRealWidth (600), Text = logic.LogicName, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth (40), TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; deviceRowLayout.AddChidren (btnlogic); var btnlogicback = new Button { Width = Application.GetRealWidth (110), Height = Application.GetRealHeight (110), UnSelectedImagePath = "ZigeeLogic/next.png", SelectedImagePath = "ZigeeLogic/NextSelecte.png", X = Application.GetRealWidth (1080-140), Gravity=Gravity.CenterVertical, }; deviceRowLayout.AddChidren (btnlogicback); EventHandler logicclick = (sender, e) => { logicIfon = logic; beforeClickButton.IsSelected = false; beforeClickButton = btn; btn.IsSelected = true; }; btnlogic.MouseUpEventHandler += logicclick; deviceRowLayout.MouseUpEventHandler += logicclick; btnlogicback.MouseUpEventHandler += logicclick; btn.MouseUpEventHandler += logicclick; } } } }