| | |
| | | /// </summary>
|
| | | private ZbGateway realGateway = null;
|
| | | /// <summary>
|
| | | /// 进度条
|
| | | /// 进度条控件
|
| | | /// </summary>
|
| | | private FrameLayout btnProgressBar = null;
|
| | | /// <summary>
|
| | | /// 进度值显示文本的整体
|
| | | /// </summary>
|
| | | private FrameLayout frameProgress = null;
|
| | | /// <summary>
|
| | | /// 进度值的显示文本
|
| | | /// </summary>
|
| | | private NormalViewControl btnProgressView = null;
|
| | | private ProgressRowBar btnProgressBar = null;
|
| | | /// <summary>
|
| | | /// 网关是否允许入网的标识
|
| | | /// </summary>
|
| | |
| | | bodyFrameLayout.AddChidren(btnSearch);
|
| | |
|
| | | //进度条
|
| | | var btnProRow = new FrameLayout();
|
| | | btnProRow.Gravity = Gravity.CenterHorizontal;
|
| | | btnProRow.Y = Application.GetRealHeight(861);
|
| | | btnProRow.Width = Application.GetRealWidth(559);
|
| | | btnProRow.Height = Application.GetRealHeight(29);
|
| | | btnProRow.BackgroundColor = 0xffe6e6e6;
|
| | | btnProRow.Radius = (uint)Application.GetRealHeight(29) / 2;
|
| | | bodyFrameLayout.AddChidren(btnProRow);
|
| | | this.btnProgressBar = new FrameLayout();
|
| | | btnProgressBar.Width = 0;
|
| | | btnProgressBar.Height = btnProRow.Height;
|
| | | btnProgressBar.BackgroundColor = 0xfffb744a;
|
| | | btnProgressBar.Radius = (uint)Application.GetRealHeight(29) / 2;
|
| | | btnProRow.AddChidren(btnProgressBar);
|
| | |
|
| | | //进度值文本
|
| | | this.frameProgress = new FrameLayout();
|
| | | frameProgress.Width = Application.GetRealWidth(84);
|
| | | frameProgress.Height = Application.GetRealHeight(60);
|
| | | frameProgress.Y = Application.GetRealHeight(772);
|
| | | bodyFrameLayout.AddChidren(frameProgress);
|
| | | frameProgress.X = btnProRow.X + btnProgressBar.Right - frameProgress.Width / 2;
|
| | | var btnProgressPic = new PicViewControl(84, 60);
|
| | | btnProgressPic.UnSelectedImagePath = "Item/ProgressMsg.png";
|
| | | frameProgress.AddChidren(btnProgressPic);
|
| | | this.btnProgressView = new NormalViewControl(84, 32, true);
|
| | | btnProgressView.TextSize = 10;
|
| | | btnProgressView.TextAlignment = TextAlignment.Center;
|
| | | btnProgressView.Text = "0%";
|
| | | frameProgress.AddChidren(btnProgressView);
|
| | | this.btnProgressBar = new ProgressRowBar(559, 29);
|
| | | btnProgressBar.Gravity = Gravity.CenterHorizontal;
|
| | | btnProgressBar.Y = Application.GetRealHeight(861);
|
| | | bodyFrameLayout.AddChidren(btnProgressBar);
|
| | | btnProgressBar.StartMode1(true);
|
| | |
|
| | | if (this.realGateway != null)
|
| | | {
|
| | |
| | |
|
| | | //给新设备设置主键属性
|
| | | Common.LocalDevice.Current.SetNewDeviceMainKeys(device, jobject);
|
| | | device.CurrentGateWayId = HdlGatewayLogic.Current.GetGatewayId(this.realGateway);
|
| | | device.CurrentGateWayId = this.realGateway.GwId;
|
| | | //将DeviceInfo的属性设置到主属性中
|
| | | Common.LocalDevice.Current.SetDeviceInfoToMain(device, device);
|
| | |
|
| | |
| | | return 0;
|
| | | }
|
| | | //网关告知客户端有设备声明
|
| | | this.SetDeviceProgressValue(1);
|
| | | this.btnProgressBar.SetValue(1, 6);
|
| | | return 2;
|
| | | }
|
| | | else if (topic == gatewayId + "/Device/DeviceGetActiveEP_Respon")
|
| | |
| | | return 2;
|
| | | }
|
| | | //设置进度值
|
| | | this.SetDeviceProgressValue(2);
|
| | | this.btnProgressBar.SetValue(2, 6);
|
| | | return 2;
|
| | | }
|
| | | else if (topic == gatewayId + "/Device/DeviceGetActiveEPSimpleDesc_Respon")
|
| | |
| | | return 2;
|
| | | }
|
| | | //设置进度值
|
| | | this.SetDeviceProgressValue(3);
|
| | | this.btnProgressBar.SetValue(3, 6);
|
| | | return 2;
|
| | | }
|
| | | else if (topic == gatewayId + "/Device/DeviceGetDefaultBind_Respon")
|
| | |
| | | return 2;
|
| | | }
|
| | | //设置进度值
|
| | | this.SetDeviceProgressValue(4);
|
| | | this.btnProgressBar.SetValue(4, 6);
|
| | | return 2;
|
| | | }
|
| | | else if (topic == gatewayId + "/Device/DeviceAutoBindZBCoord_Respon")
|
| | |
| | | return 2;
|
| | | }
|
| | | //设置进度值
|
| | | this.SetDeviceProgressValue(5);
|
| | | this.btnProgressBar.SetValue(5, 6);
|
| | | return 2;
|
| | | }
|
| | | else if (topic == gatewayId + "/DeviceInComingRespon")
|
| | | {
|
| | | this.topTimeOut = topMaxTime;
|
| | | //网关最终上报节点设备信息
|
| | | this.SetDeviceProgressValue(6);
|
| | | this.btnProgressBar.SetValue(6, 6);
|
| | | return 1;
|
| | | }
|
| | | return 0;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 设置设备的进度值
|
| | | /// </summary>
|
| | | /// <param name="value"></param>
|
| | | private void SetDeviceProgressValue(decimal value)
|
| | | {
|
| | | Application.RunOnMainThread(() =>
|
| | | {
|
| | | //进度条
|
| | | decimal result = value / 6;
|
| | | int width = (int)(result * Application.GetRealWidth(559));
|
| | | if (btnProgressBar.Width >= width)
|
| | | {
|
| | | //有些设备会上报两次,这里不能让它的进度条往回走
|
| | | return;
|
| | | }
|
| | | btnProgressBar.Width = width;
|
| | |
|
| | | //文本显示
|
| | | btnProgressView.Text = ((int)(result * 100)) + "%";
|
| | | //文本显示的那个图片框移动
|
| | | frameProgress.X = Application.GetRealWidth(262) + btnProgressBar.Right - frameProgress.Width / 2;
|
| | | });
|
| | | }
|
| | |
|
| | | /// <summary>
|