From 163777d8a2cb7cfa469f54a7042528870ebc10a3 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 09 十二月 2019 17:46:20 +0800 Subject: [PATCH] 一个新版本 --- ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs | 133 +++++++++++++++----------------------------- 1 files changed, 45 insertions(+), 88 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs index e7de8fc..27c3faf 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs @@ -66,10 +66,6 @@ var frameBack = new FrameLayout(); frameBack.Height = Application.GetRealHeight(204); bodyFrameLayout.AddChidren(frameBack); - var scrolContr = new HorizontalScrolViewLayout(); - scrolContr.Gravity = Gravity.CenterVertical; - scrolContr.Height = frameBack.Height; - frameBack.AddChidren(scrolContr); //妗屽竷鎺т欢 this.frameTable = new FrameLayout(); @@ -77,12 +73,44 @@ frameTable.Height = bodyFrameLayout.Height - frameBack.Height; bodyFrameLayout.AddChidren(frameTable); + //鍏朵粬 + var tempRoom = new Common.Room(); + tempRoom.Name = Language.StringByID(R.MyInternationalizationString.uOther); + foreach (var mainKeys in this.listEsixtDevice) + { + var device = Common.LocalDevice.Current.GetDevice(mainKeys); + if (device == null) + { + continue; + } + //杩欎釜鎵嬫満寮勫紕,閭d釜鎵嬫満寮勫紕鐨勬儏鍐典笅, + //閲囩敤鍚庡鎿嶄綔 -> 鏂板缓涓�涓复鏃舵埧闂村璞″嚭鏉� + if (Common.Room.CurrentRoom.GetRoomByDevice(device) == null) + { + tempRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(device)); + } + } + HdlThreadLogic.Current.RunMainInThread(() => { if (dicRoom.ContainsKey(nowSelectFloorId) == true && dicRoom[nowSelectFloorId].Count > 0) { //鍒濆鍖栨埧闂存帶浠� - this.InitRoomControl(scrolContr, dicRoom[nowSelectFloorId]); + var listRoom = new List<Common.Room>(); + listRoom.AddRange(dicRoom[nowSelectFloorId]); + if (tempRoom.DeviceUIList.Count > 0) + { + //鏄剧ず鏂板缓鐨勪复鏃舵埧闂村璞� + listRoom.Add(tempRoom); + } + var roomContr = new RoomDeviceGroupMenuControl(listRoom); + frameBack.AddChidren(roomContr); + roomContr.SelectRoomEvent += (myRoom) => + { + //鍒濆鍖栬澶囪 + this.InitDeviceControl(myRoom); + }; + roomContr.InitControl(); //纭畾鎸夐挳 var btnOk = new BottomClickButton(); @@ -139,6 +167,17 @@ { return; } + int indexTemp = 1; + foreach (var floorId in dicRoom.Keys) + { + if (dicFloor.ContainsKey(floorId) == false) + { + //杩欐槸澶氬彴鎵嬫満鐬庢悶涔嬪悗鍑虹幇鐨勫悗澶囪ˉ鏁戞帾鏂� + dicFloor[floorId] = Language.StringByID(R.MyInternationalizationString.uOther) + indexTemp; + indexTemp++; + } + } + var btnIconContr = new MostRightIconControl(69, 69); btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png"; topFrameLayout.AddChidren(btnIconContr); @@ -175,88 +214,6 @@ } }; } - #endregion - - #region 鈻� 鍒濆鍖栨埧闂存帶浠禵____________________ - - /// <summary> - /// 鍒濆鍖栨埧闂存帶浠� - /// </summary> - /// <param name="scrolContr">瀹瑰櫒</param> - /// <param name="listRoom">鎴块棿鍒楄〃</param> - private void InitRoomControl(HorizontalScrolViewLayout scrolContr, List<Common.Room> listRoom) - { - string oldRoomId = listRoom[0].Id; - FrameLayoutControl oldFrameBack = null; - NormalViewControl oldBtnText = null; - - //寮勪釜绌虹殑杩涘幓鍗犱綅缃� - var frameTemp = new FrameLayout(); - frameTemp.Height = scrolContr.Height; - frameTemp.Width = ControlCommonResourse.XXLeft / 2; - scrolContr.AddChidren(frameTemp); - - for (int i = 0; i < listRoom.Count; i++) - { - var room = listRoom[i]; - //甯﹀浘鐗囩殑 - var frameBack = new FrameLayoutControl(); - frameBack.UseClickStatu = false; - frameBack.Gravity = Gravity.Center; - frameBack.Height = Application.GetRealHeight(159); - frameBack.Width = Application.GetRealWidth(255); - if (i == 0) - { - frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; - oldFrameBack = frameBack; - } - else - { - frameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; - } - scrolContr.AddChidren(frameBack); - //鏂囧瓧 - var btnText = new NormalViewControl(frameBack.Width - (int)(frameBack.Height * 0.47), frameBack.Height, false); - btnText.Gravity = Gravity.CenterHorizontal; - btnText.Text = room.Name; - btnText.TextSize = 12; - btnText.TextAlignment = TextAlignment.Center; - if (i == 0) - { - btnText.TextColor = UserCenterColor.Current.White; - oldBtnText = btnText; - } - else - { - btnText.TextColor = UserCenterColor.Current.TextGrayColor1; - } - frameBack.AddChidren(btnText, ChidrenBindMode.BindEventOnly); - - frameBack.ButtonClickEvent += (sender, e) => - { - if (oldRoomId == room.Id) - { - //鍚屼竴涓笢瑗� - return; - } - oldRoomId = room.Id; - - //鐘舵�佸彉鏇� - frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; - btnText.TextColor = UserCenterColor.Current.White; - - oldFrameBack.BackgroundImagePath = "Item/RoomIconBackground.png"; - oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1; - oldFrameBack = frameBack; - oldBtnText = btnText; - //鍒濆鍖栬澶囪 - this.InitDeviceControl(room); - }; - } - //鍒濆鍖栬澶囪 - this.InitDeviceControl(listRoom[0]); - } - #endregion #region 鈻� 鍒濆鍖栬澶囨帶浠禵____________________ @@ -303,7 +260,7 @@ var btnIcon = rowDevice.AddLeftIcon(81); Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device); //璁惧鍚嶇О - var btnName = rowDevice.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 600); + var btnName = rowDevice.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 700); btnName.TextSize = 15; //閫夋嫨 var btnSelect = rowDevice.AddMostRightEmptyIcon(58, 58); -- Gitblit v1.8.0