using System; using System.Collections.Generic; using ZigBee.Device; namespace Shared.Phone.UserCenter.DeviceDirection { /// /// 网关添加可能的设备类型的一览画面, /// 它从[DeviceManagementMainForm]画面打开 /// public class AddDeviceTypeListForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 列表控件 /// private VerticalListControl listView = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// public void ShowForm() { //设定标题 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDeviceType)); //初始化中部控件 this.InitMiddleFrame(); } /// /// 初始化中部控件 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); var frameBack = new FrameLayout(); frameBack.Height = Application.GetRealHeight(3); frameBack.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(frameBack); listView = new VerticalListControl(29); listView.Y = frameBack.Bottom; listView.BackgroundColor = UserCenterColor.Current.White; listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(3); bodyFrameLayout.AddChidren(listView); //2按键触摸面板 var objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName1); var unSelectPic = "Device/ButtonPanelTwo.png"; var arry = objectText.Split(new string[] { "(" }, StringSplitOptions.RemoveEmptyEntries); objectText = arry[0].Trim(); this.AddMenuRow(objectText, unSelectPic, "PanelTwoButtonDirectionForm"); //3按键触摸面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName2); arry = objectText.Split(new string[] { "(" }, StringSplitOptions.RemoveEmptyEntries); objectText = arry[0].Trim(); unSelectPic = "Device/ButtonPanelThree.png"; this.AddMenuRow(objectText, unSelectPic, "PanelThreeButtonDirectionForm"); //4按键触摸面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName3); arry = objectText.Split(new string[] { "(" }, StringSplitOptions.RemoveEmptyEntries); objectText = arry[0].Trim(); unSelectPic = "Device/ButtonPanelFour.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFourButtonDirectionForm"); //方悦单开双控面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName4); unSelectPic = "Device/ButtonPanelFangyueTwo.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueTwoButtonDirectionForm"); //方悦双开四控面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName5); unSelectPic = "Device/ButtonPanelFangyueFour.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueFourButtonDirectionForm"); //方悦四开八控面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName6); unSelectPic = "Device/ButtonPanelFangyueEight.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueEightButtonDirectionForm"); //方悦新风小模块,图片和3路继电器小模块相同 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName7); unSelectPic = "Device/RelayThreeLoad.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueFreshAirModulDirectionForm"); //方悦新风面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName8); unSelectPic = "Device/ButtonPanelFangyueFreshAir.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueFreshAirDirectionForm"); //简约多功能面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName28); unSelectPic = "Device/ButtonPanelSimpleMultifunction.png"; this.AddMenuRow(objectText, unSelectPic, "PanelSimpleMultifunctionDirectionForm"); //简约环境面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName29); unSelectPic = "Device/ButtonPanelSimpleEnvironment.png"; this.AddMenuRow(objectText, unSelectPic, "PanelSimpleEnvironmentDirectionForm"); //方悦环境面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName9); unSelectPic = "Device/ButtonPanelFangyueEnvironment.png"; this.AddMenuRow(objectText, unSelectPic, "PanelFangyueEnvironmentDirectionForm"); //窗帘面板 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName10); unSelectPic = "Device/ButtonPanelCurtain.png"; this.AddMenuRow(objectText, unSelectPic, "PanelCurtainDirectionForm"); //3路继电器小模块 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName11); unSelectPic = "Device/RelayThreeLoad.png"; this.AddMenuRow(objectText, unSelectPic, "RelayThreeLoadDirectionForm"); //1路调光器小模块 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName12); unSelectPic = "Device/DimmableLightOneLoad.png"; this.AddMenuRow(objectText, unSelectPic, "DimmableLightOneLoadDirectionForm"); //Zigbee智能开合帘电机 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName13); unSelectPic = "Device/CurtainAutoOpen.png"; this.AddMenuRow(objectText, unSelectPic, "CurtainAutoOpenDirectionForm"); //Zigbee智能管状电机 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName14); unSelectPic = "Device/CurtainSiphonate.png"; this.AddMenuRow(objectText, unSelectPic, "CurtainSiphonateDirectionForm"); //空调 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName15); unSelectPic = "Device/AirConditionerZbGateway.png"; this.AddMenuRow(objectText, unSelectPic, "AirConditionerZbGatewayDirectionForm"); //智能门锁 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName16); unSelectPic = "Device/IntelligentLocksH06C.png"; this.AddMenuRow(objectText, unSelectPic, "IntelligentLocksH06cDirectionForm"); //PIR传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName17); unSelectPic = "Device/SensorPir.png"; this.AddMenuRow(objectText, unSelectPic, "SensorPirDirectionForm"); //红外传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName18); unSelectPic = "Device/SensorInfrared.png"; this.AddMenuRow(objectText, unSelectPic, "SensorInfraredDirectionForm"); //燃气传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName19); unSelectPic = "Device/SensorCarbonMonoxide.png"; this.AddMenuRow(objectText, unSelectPic, "SensorCarbonMonoxideDirectionForm"); //吸顶燃气传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName26); unSelectPic = "Device/SensorCarbonMonoxide.png"; this.AddMenuRow(objectText, unSelectPic, "SensorCeilingGasDirectionForm"); //烟雾传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName20); unSelectPic = "Device/SensorFire.png"; this.AddMenuRow(objectText, unSelectPic, "SensorFireDirectionForm"); //水浸传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName21); unSelectPic = "Device/SensorWater.png"; this.AddMenuRow(objectText, unSelectPic, "SensorWaterDirectionForm"); //门窗传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName22); unSelectPic = "Device/SensorDoorWindow.png"; this.AddMenuRow(objectText, unSelectPic, "SensorDoorWindowDirectionForm"); //温湿度传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName23); unSelectPic = "Device/SensorTemperatureHumidity.png"; this.AddMenuRow(objectText, unSelectPic, "SensorTemperatureHumidityForm"); //球型移动传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName30); unSelectPic = "Device/SensorSphericalMotion.png"; this.AddMenuRow(objectText, unSelectPic, "SensorSphericalMotionDirectionForm"); //PM2.5空气质量传感器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName27); unSelectPic = "Device/SensorPMTwoPointFive.png"; this.AddMenuRow(objectText, unSelectPic, "SensorPMTwoPointFiveForm"); //中继器 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName24); unSelectPic = "Device/RepeaterZigbee.png"; this.AddMenuRow(objectText, unSelectPic, "RepeaterZigbeeDirectionForm"); //空气开关 objectText = Language.StringByID(R.MyInternationalizationString.uDeviceDirectionName25); unSelectPic = "Device/AirSwitchCloudContr.png"; this.AddMenuRow(objectText, unSelectPic, "AirSwitchCloudContrDirectionForm"); //第三方设备 objectText = Language.StringByID(R.MyInternationalizationString.uThirdPartyDevice); unSelectPic = "Device/ThirdPartyDevice.png"; var rowThrid = this.AddMenuRow(objectText, unSelectPic, string.Empty, false); rowThrid.ButtonClickEvent += (sender, e) => { var form = new Device.DeviceSearchForm(); form.AddForm(string.Empty); }; //调整列表控件的高度 listView.AdjustRealHeight(Application.GetRealHeight(23)); } #endregion #region ■ 添加菜单栏_________________________ /// /// 添加菜单栏 /// /// 显示文本 /// 图片:非点亮 /// 目标界面名 /// 添加底线 private FrameRowControl AddMenuRow(string objectText, string unSelectPic, string formName, bool addLine = true) { var rowLayout = new FrameRowControl(listView.rowSpace / 2); listView.AddChidren(rowLayout); //图标 var btnIcon = rowLayout.AddLeftIcon(81); btnIcon.UnSelectedImagePath = unSelectPic; //设备 var btnObject = rowLayout.AddLeftCaption(objectText, 700); btnObject.TextSize = 15; //添加向右的图标 rowLayout.AddRightArrow(); if (addLine == true) { rowLayout.AddBottomLine(); } if (formName != string.Empty) { rowLayout.ButtonClickEvent += (sender, e) => { //反射目标界面 this.LoadFormByFullName("Shared.Phone.UserCenter.DeviceDirection." + formName); }; } return rowLayout; } #endregion } }