| | |
| | | { |
| | | Tag = "PirView"; |
| | | } |
| | | public void Show() { |
| | | public void Show() |
| | | { |
| | | #region 界面布局 |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | PirDevice.View.TopView topView = new View.TopView(); |
| | |
| | | topView.topIconBtn.Visible = true; |
| | | this.AddChidren(topView.FLayoutView()); |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; |
| | | VerticalScrolViewLayout vv = new VerticalScrolViewLayout(); |
| | | VerticalRefreshLayout vv = new VerticalRefreshLayout(); |
| | | vv.Height = Application.GetRealHeight(667 - 64); |
| | | vv.Y = Application.GetRealHeight(64); |
| | | this.AddChidren(vv); |
| | | #endregion |
| | | int a = 3; |
| | | int b = 3; |
| | | for (int i = 0; i < b; i++) |
| | | vv.BeginHeaderRefreshingAction += () => |
| | | { |
| | | //关闭刷新View; |
| | | vv.EndHeaderRefreshing(); |
| | | //获取列表 |
| | | Method.GetPirDeviceList(this,() => |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | //刷新界面 |
| | | UIView(vv); |
| | | }); |
| | | }); |
| | | |
| | | }; |
| | | #endregion |
| | | UIView(vv); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载UI界面 |
| | | /// </summary> |
| | | /// <param name="vv">上下滑控件</param> |
| | | void UIView(VerticalRefreshLayout vv) |
| | | { |
| | | vv.RemoveAll(); |
| | | for (int i = 0; i < Pir.pirDeviceList.Count; i++) |
| | | { |
| | | var pirDevice = Pir.pirDeviceList[i]; |
| | | #region 红外宝图标 版本号 名称 状态 |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(375), |
| | | Height = Application.GetRealHeight(12+92+(50* a)), |
| | | Height = Application.GetRealHeight(12 + 92 + (50 * pirDevice.FunctioList.Count)), |
| | | }; |
| | | vv.AddChidren(fLayout); |
| | | |
| | | |
| | | //红外宝显示父控件 |
| | | FrameLayout devfLayout = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(12), |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375-16*2), |
| | | Height = Application.GetRealHeight(92 + (50 * a)), |
| | | Width = Application.GetRealWidth(375 - 16 * 2), |
| | | Height = Application.GetRealHeight(92 + (50 * pirDevice.FunctioList.Count)), |
| | | BackgroundColor = CSS.CSS_Color.view, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | }; |
| | | fLayout.AddChidren(devfLayout); |
| | | |
| | | |
| | | //红外宝图标 |
| | | Button priequipmentBtn = new Button |
| | | { |
| | | Y=Application.GetRealHeight(16), |
| | | Y = Application.GetRealHeight(16), |
| | | X = Application.GetRealWidth(5), |
| | | Width = Application.GetRealWidth(60), |
| | | Height = Application.GetRealWidth(60), |
| | |
| | | //红外宝名称 |
| | | Button deviceNameBtn = new Button |
| | | { |
| | | Y=Application.GetRealHeight(16), |
| | | Y = Application.GetRealHeight(16), |
| | | X = priequipmentBtn.Right + Application.GetRealWidth(7), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(20), |
| | | Text = "红外宝A"+i.ToString(), |
| | | Text = pirDevice.name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | |
| | | //版本号 |
| | | Button versionBtn = new Button |
| | | { |
| | | Y = deviceNameBtn.Bottom+ Application.GetRealHeight(4), |
| | | Y = deviceNameBtn.Bottom + Application.GetRealHeight(4), |
| | | X = priequipmentBtn.Right + Application.GetRealWidth(7), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(17), |
| | |
| | | X = priequipmentBtn.Right + Application.GetRealWidth(7), |
| | | Width = Application.GetRealWidth(120), |
| | | Height = Application.GetRealHeight(17), |
| | | Text = "2", |
| | | Text = pirDevice.FunctioList.Count.ToString(), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = TextSize.text12, |
| | | TextColor = CSS.CSS_Color.textConfirmColor, |
| | |
| | | X = geBtn.Right, |
| | | Width = Application.GetRealWidth(20), |
| | | Height = Application.GetRealHeight(17), |
| | | Text ="/10", |
| | | Text = "/10", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = TextSize.text12, |
| | | TextColor = CSS.CSS_Color.textCancelColor, |
| | |
| | | //状态图标 |
| | | Button stateIconBtn = new Button |
| | | { |
| | | Y =Application.GetRealHeight(23), |
| | | Y = Application.GetRealHeight(23), |
| | | X = Application.GetRealWidth(291), |
| | | Width = Application.GetRealWidth(8), |
| | | Height = Application.GetRealWidth(8), |
| | |
| | | X = Application.GetRealWidth(303), |
| | | Width = Application.GetRealWidth(30), |
| | | Height = Application.GetRealHeight(17), |
| | | TextID=StringId.zaixianhwb, |
| | | TextID = StringId.zaixianhwb, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = TextSize.text12, |
| | | TextColor = 0xFF67D569,// CSS.CSS_Color.textColor, |
| | | IsBold=true, |
| | | IsBold = true, |
| | | }; |
| | | devfLayout.AddChidren(stateTextBtn); |
| | | //线 |
| | | Button lineBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(92)-1, |
| | | Y = Application.GetRealHeight(92) - 1, |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(343-16*2), |
| | | Height =1, |
| | | Width = Application.GetRealWidth(343 - 16 * 2), |
| | | Height = 1, |
| | | BackgroundColor = CSS.CSS_Color.viewLine, |
| | | }; |
| | | devfLayout.AddChidren(lineBtn); |
| | | //点击事件 |
| | | FrameLayout clickFram = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(12), |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(375 - 16 * 2), |
| | | Height = Application.GetRealHeight(92), |
| | | BackgroundColor = 0x00000000, //CSS.CSS_Color.view, |
| | | Radius = (uint)Application.GetRealHeight(12), |
| | | Tag = Pir.pirDeviceList[i], |
| | | }; |
| | | fLayout.AddChidren(clickFram); |
| | | |
| | | if (b - 1 == i) |
| | | clickFram.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var pirclick = (clickFram.Tag as Pir); |
| | | NewSwitchView(pirclick, vv); |
| | | }; |
| | | |
| | | if (Pir.pirDeviceList.Count - 1 == i) |
| | | { |
| | | //最后一个后面增加间隔背景 |
| | | vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) }); |
| | | } |
| | | #endregion |
| | | |
| | | for (int j = 0; j < a; j++) { |
| | | for (int j = 0; j < pirDevice.FunctioList.Count; j++) |
| | | { |
| | | var control = pirDevice.FunctioList[i]; |
| | | RowLayout funControlRow = new RowLayout |
| | | { |
| | | Y = Application.GetRealHeight(92 + (50 * j)), |
| | | Width = Application.GetRealWidth(375 - 16 * 2), |
| | | Height = Application.GetRealHeight(50), |
| | | LineColor = CSS.CSS_Color.textWhiteColor, |
| | | SubViewWidth=Application.GetRealWidth(68), |
| | | SubViewWidth = Application.GetRealWidth(68), |
| | | }; |
| | | devfLayout.AddChidren(funControlRow); |
| | | //遥控器名称 |
| | |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(150), |
| | | Height = Application.GetRealHeight(20), |
| | | Text =j.ToString(), |
| | | TextAlignment=TextAlignment.CenterLeft, |
| | | Text = control.name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | Gravity=Gravity.CenterVertical, |
| | | Gravity = Gravity.CenterVertical, |
| | | }; |
| | | funControlRow.AddChidren(nameBtn); |
| | | //遥控器区域 |
| | | Button areaBtn = new Button |
| | | { |
| | | X=Application.GetRealWidth(311+16-(40+100)), |
| | | X = Application.GetRealWidth(311 + 16 - (40 + 100)), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(17), |
| | | Text = j.ToString(), |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextSize = TextSize.text12, |
| | | TextColor = CSS.CSS_Color.textCancelColor, |
| | | Gravity =Gravity.CenterVertical, |
| | | Gravity = Gravity.CenterVertical, |
| | | }; |
| | | funControlRow.AddChidren(areaBtn); |
| | | //下一级图标 |
| | | Button nextIconBtn = new Button |
| | | { |
| | | X = Application.GetRealWidth(295+16), |
| | | X = Application.GetRealWidth(295 + 16), |
| | | Width = Application.GetRealWidth(16), |
| | | Height = Application.GetRealWidth(16), |
| | | UnSelectedImagePath = "PirIcon/next.png", |
| | |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = TextSize.text16, |
| | | TextColor = CSS.CSS_Color.textWhiteColor, |
| | | IsBold=true, |
| | | BackgroundColor= CSS.CSS_Color.textRedColor, |
| | | IsBold = true, |
| | | BackgroundColor = CSS.CSS_Color.textRedColor, |
| | | Tag = control, |
| | | }; |
| | | funControlRow.AddRightView(delBtn); |
| | | //线 |
| | |
| | | BackgroundColor = CSS.CSS_Color.viewLine, |
| | | }; |
| | | funControlRow.AddChidren(line1Btn); |
| | | if (j == a - 1) |
| | | if (j == pirDevice.FunctioList.Count - 1) |
| | | { |
| | | //最后改变一个线的颜色 |
| | | line1Btn.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | funControlRow.LineColor = CSS.CSS_Color.viewTranslucence; |
| | | } |
| | | delBtn.MouseUpEventHandler += (sender,e) => { |
| | | delBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | var Function = delBtn.Tag as Entity.Function; |
| | | //加载log |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | responsePackNew = PirSend.DeleteDevice(Function.deviceId); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | try |
| | | { |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | pirDevice.FunctioList.Remove(Function); |
| | | UIView(vv); |
| | | } |
| | | |
| | | else |
| | | { |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载弹框 |
| | | /// </summary> |
| | | /// <param name="pirclick"></param> |
| | | /// <param name="vv"></param> |
| | | void NewSwitchView(Pir pirclick, VerticalRefreshLayout vv) |
| | | { |
| | | FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence }; |
| | | this.AddChidren(frame); |
| | | SwitchView switchView = new SwitchView(); |
| | | switchView.btnOff.TextColor = CSS.CSS_Color.textConfirmColor; |
| | | switchView.FLayoutView(frame, StringId.shanchushebei, StringId.xiugaimingzi, "", (intValue) => |
| | | { |
| | | if (StringId.xiugaimingzi == intValue) |
| | | { |
| | | List<string> list = new List<string>(); |
| | | for (int b = 0; b < Pir.pirDeviceList.Count; b++) |
| | | { |
| | | list.Add(Pir.pirDeviceList[b].name); |
| | | } |
| | | TipPopView tipPopView = new TipPopView(); |
| | | tipPopView.InputBox(StringId.xiugaimingzi, pirclick.name, StringId.nameNull, StringId.NameAlreadyExists, list, (name, view) => |
| | | { |
| | | pirclick.name = name; |
| | | //加载log |
| | | Loading loading = new Loading(); |
| | | view.AddChidren(loading); |
| | | HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | responsePackNew = PirSend.DeviceRename(pirclick); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | view.Close(); |
| | | UIView(vv); |
| | | } |
| | | else |
| | | { |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | }, () => |
| | | { |
| | | NewSwitchView(pirclick, vv); |
| | | }, false); |
| | | |
| | | } |
| | | else |
| | | { |
| | | string text = Language.StringByID(StringId.shanchushebei) + pirclick.name + "?"; |
| | | TipPopView tipPopView = new TipPopView(); |
| | | tipPopView.TipBox(StringId.tip, text, (dialog) => |
| | | { |
| | | //加载log |
| | | Loading loading = new Loading(); |
| | | dialog.AddChidren(loading); |
| | | HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | try |
| | | { |
| | | responsePackNew = PirSend.DeleteDevice(pirclick.deviceId); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | dialog.Close(); |
| | | UIView(vv); |
| | | } |
| | | else |
| | | { |
| | | |
| | | Method method = new Method(); |
| | | method.ErrorShow(responsePackNew); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }, () => |
| | | { |
| | | NewSwitchView(pirclick, vv); |
| | | }, false); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |