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