黄学彪
2019-12-09 163777d8a2cb7cfa469f54a7042528870ebc10a3
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;
                }
                //这个手机弄弄,那个手机弄弄的情况下,
                //采用后备操作 -> 新建一个临时房间对象出来
                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);