using System; using System.Collections.Generic; using Shared.Common; using Shared.R; namespace Shared.Phone.Device.Logic { public class PublicInterface { /// /// 单选择 /// /// 显示在哪个界面的父控件 /// 显示数据源 /// 标题文本 /// 之前状态文本 /// 返回值 public void SingleSelectionShow(FrameLayout frame, List list, int titleText, string stateText, Action action) { FrameLayout frameLayout = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, }; frame.AddChidren(frameLayout); CompleteView view = new CompleteView(); view.Btntitle.TextID = titleText; frameLayout.AddChidren(view.Show(list.Count)); UserView.HomePage.Instance.ScrollEnabled = false; view.Btncancel.MouseUpEventHandler += (sender, e) => { UserView.HomePage.Instance.ScrollEnabled = true; //移除fLayout界面 frameLayout.RemoveFromParent(); }; ///定义一个Btn记录选中状态 Button checkIconBtn = new Button { Tag = "unknown", }; Button checkTextBtn = new Button { Tag = "unknown", }; for (int i = 0; i < list.Count; i++) { string str = list[i]; mFunView mFun= new mFunView(); mFun.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; mFun.titleBtn.SelectedTextColor = ZigbeeColor.Current.LogicBtnSelectedColor; mFun.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160 * i); view.fraView.AddChidren(mFun.Show()); mFun.titleBtn.Text = str; mFun.clickviewBtn.Tag = str;//标记 if (list.Count-1==i) { //改变最后一条的颜色 mFun.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; } if (stateText == str) { //图标改变 checkIconBtn.Visible = false; mFun.selectedIconBtn.Visible = true; checkIconBtn = mFun.selectedIconBtn; checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString(); //字体改变 checkTextBtn.IsSelected = false; mFun.titleBtn.IsSelected = true; checkTextBtn = mFun.titleBtn; } //点击事件 mFun.clickviewBtn.MouseUpEventHandler += (sender1, e1) => { //图标改变 checkIconBtn.Visible = false; mFun.selectedIconBtn.Visible = true; checkIconBtn = mFun.selectedIconBtn; checkIconBtn.Tag = mFun.clickviewBtn.Tag.ToString(); //字体改变 checkTextBtn.IsSelected = false; mFun.titleBtn.IsSelected = true; checkTextBtn = mFun.titleBtn; }; } view.Btncomplete.MouseUpEventHandler += (sender1, e1) => { if (checkIconBtn.Tag.ToString() == "unknown") { return; } action(checkIconBtn.Tag.ToString()); UserView.HomePage.Instance.ScrollEnabled = true; //移除fLayout界面 frameLayout.RemoveFromParent(); }; } /// /// 获取界面列表 /// /// 自己定义自己用 /// public List GetViewList(string isStr) { List list = null; switch (isStr) { case "安防": { list = new List { Language.StringByID(MyInternationalizationString.logicathomegarrison), Language.StringByID(MyInternationalizationString.logicremovehomegarrison), Language.StringByID(MyInternationalizationString.withdrawal), Language.StringByID(MyInternationalizationString.urgentwithdrawal), }; } break; case "时间": { list = new List { Language.StringByID(MyInternationalizationString.immediateexecution), Language.StringByID(MyInternationalizationString.timeframe), }; } break; case "地理围栏": { list = new List { Language.StringByID(MyInternationalizationString.athome), Language.StringByID(MyInternationalizationString.leavehome), }; } break; case "组合条件": { list = new List { Language.StringByID(MyInternationalizationString.Allconditions), Language.StringByID(MyInternationalizationString.anycondition), }; } break; } return list; } } }