using System; using System.Collections.Generic; using System.Threading.Tasks; using ZigBee.Device; namespace Shared.Phone.UserCenter.Direction { /// /// 向网关添加设备的指示图画面 /// public class AddDeviceDirectionForm : UserCenterCommonForm { /// /// 设备类型 /// private DeviceConcreteType deviceConcreteType = DeviceConcreteType.UnKownDevice; /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 设备类型 public void ShowForm(DeviceConcreteType i_deviceType) { this.deviceConcreteType = i_deviceType; //设置标题信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddDevice)); //初始化中部控件 this.InitMiddleFrame(); } /// /// 初始化中部控件 /// private void InitMiddleFrame() { //进度条一样的东西,没什么逻辑 ProgressLine line = new ProgressLine(); bodyFrameLayout.AddChidren(line); line.SetValue(45); //图标 var btnimage = new PicViewControl(915, 492); btnimage.Y = Application.GetRealHeight(80); btnimage.Gravity = Gravity.CenterHorizontal; btnimage.UnSelectedImagePath = "Instruct/" + this.deviceConcreteType.ToString().Replace("_", string.Empty) + ".png"; bodyFrameLayout.AddChidren(btnimage); //入网步骤提示控件 List listMsgContr = this.GetMsgControl(btnimage.Width, btnimage.X, btnimage.Bottom + Application.GetRealHeight(60)); foreach (MsgViewControl msgView in listMsgContr) { bodyFrameLayout.AddChidren(msgView); } //下一步 var btnNext = new BottomClickButton(); btnNext.TextID = R.MyInternationalizationString.uNextway; bodyFrameLayout.AddChidren(btnNext); btnNext.MouseUpEventHandler += (sender, e) => { var form = new Device.SearchDeviceForm(); this.AddForm(form); }; } /// /// 初始化提示信息控件 /// /// /// /// /// private List GetMsgControl(int width, int XX, int YY) { List list = new List(); MsgViewControl btnText = null; //设置提示信息 List listmsg = this.GetDirectionMsg(); foreach (string msg in listmsg) { int YPoint = YY; if (btnText != null) { YPoint = btnText.Bottom; } btnText = new MsgViewControl(width, Application.GetRealHeight(100)); btnText.X = XX; btnText.Y = YPoint; btnText.TextAlignment = TextAlignment.CenterLeft; btnText.Text = msg; bodyFrameLayout.AddChidren(btnText); } return list; } /// /// 获取指定设备类型的操作步骤 /// /// private List GetDirectionMsg() { List listMsg = new List(); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAccessStepsMsg)); //智能空气开关 if (this.deviceConcreteType == DeviceConcreteType.CloudContr_AirSwitch) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg3)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg4)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAirSwitchDirectionMsg5)); } //窗帘电机 else if (this.deviceConcreteType == DeviceConcreteType.AutoOpen_Curtain) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uAutoOpenCurtainDirectionMsg3)); } //2按键面板 else if (this.deviceConcreteType == DeviceConcreteType.Two_ButtonPanel) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uTwoButtonPanelDirectionMsg3)); } //3按键面板 else if (this.deviceConcreteType == DeviceConcreteType.Three_ButtonPanel) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uThreeButtonPanelDirectionMsg3)); } //4按键面板 else if (this.deviceConcreteType == DeviceConcreteType.Four_ButtonPanel) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uFourButtonPanelDirectionMsg3)); } //红外传感器 else if (this.deviceConcreteType == DeviceConcreteType.Pir_Sensor) { listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg1)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg2)); listMsg.Add(Language.StringByID(R.MyInternationalizationString.uInfraredSensorDirectionMsg3)); } return listMsg; } } }