黄学彪
2020-04-08 4dce704aaf8587cf3f91cf88f2208315a03c4cbb
ZigbeeApp/Shared/Phone/MainPage/HomeMainPageForm.cs
@@ -364,9 +364,22 @@
            //左右滑动控件的背景容器
            var frameBack = new FrameLayout();
            frameBack.Y = Application.GetRealHeight(302);
            frameBack.Width = Application.GetRealWidth(CommonPage.AppRealWidth);
            frameBack.Width = this.Width;
            frameBack.Height = Application.GetRealHeight(478);
            this.listBodyContr.frameTable.AddChidren(frameBack);
            //房间滑动控件左边的虚拟图片
            var mLeftImageView = new ImageView();
            mLeftImageView.ImagePath = "RoomIcon/1.jpg";
            mLeftImageView.Radius = (uint)Application.GetRealHeight(17);
            mLeftImageView.Width = Application.GetRealWidth(717);
            mLeftImageView.Height = Application.GetRealHeight(478);
            //房间滑动控件右边的虚拟图片
            var mRightImageView = new ImageView();
            mRightImageView.ImagePath = "RoomIcon/2.jpg";
            mRightImageView.Radius = (uint)Application.GetRealHeight(17);
            mRightImageView.Width = mLeftImageView.Width;
            mRightImageView.Height = mLeftImageView.Height;
            this.roomPageView = new HorizontalPages();
            roomPageView.Width = frameBack.Width;
@@ -382,6 +395,9 @@
            btnRoomBottomShadow.Gravity = Gravity.CenterHorizontal;
            btnRoomBottomShadow.UnSelectedImagePath = "Room/RoomCardShadow.png";
            this.listBodyContr.frameTable.AddChidren(btnRoomBottomShadow);
            //设置控制最左和最右2边填充的假背景View,不设置不显示,需要在AddChidren 前调用该方法
            roomPageView.SetLeftAndRightImageView(mLeftImageView, mRightImageView);
            //当前房间
            var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
@@ -404,40 +420,34 @@
                    roomView.HideName(true);
                }
            }
            //房间能够滑动的时候才显示
            FrameLayout btnRoomLeftShadow = null;
            FrameLayout btnRoomRightShadow = null;
            if (listRoom.Count > 1)
            {
                //在房间卡片左边添加遮罩
                btnRoomLeftShadow = new FrameLayout();
                btnRoomLeftShadow.Width = Application.GetRealWidth(124);
                btnRoomLeftShadow.Height = roomPageView.Height - roomPageView.JMBJ * 2;
                btnRoomLeftShadow.Gravity = Gravity.CenterVertical;
                btnRoomLeftShadow.BackgroundColor = 0x1c000000;
                btnRoomLeftShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
                btnRoomLeftShadow.Visible = curIndex >= 1;
                frameBack.AddChidren(btnRoomLeftShadow);
                //在房间卡片右边添加遮罩
                btnRoomRightShadow = new FrameLayout();
                btnRoomRightShadow.Width = btnRoomLeftShadow.Width;
                btnRoomRightShadow.Height = btnRoomLeftShadow.Height;
                btnRoomRightShadow.X = Application.GetRealWidth(956);
                btnRoomRightShadow.Gravity = Gravity.CenterVertical;
                btnRoomRightShadow.BackgroundColor = btnRoomLeftShadow.BackgroundColor;
                btnRoomRightShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
                btnRoomRightShadow.Visible = curIndex < listRoom.Count - 1;
                frameBack.AddChidren(btnRoomRightShadow);
            }
            //在房间卡片左边添加遮罩
            var btnRoomLeftShadow = new FrameLayout();
            btnRoomLeftShadow.Width = Application.GetRealWidth(124);
            btnRoomLeftShadow.Height = roomPageView.Height - roomPageView.JMBJ * 2;
            btnRoomLeftShadow.Gravity = Gravity.CenterVertical;
            btnRoomLeftShadow.BackgroundColor = 0x1c000000;
            btnRoomLeftShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopRight | HDLUtils.RectCornerBottomRight);
            frameBack.AddChidren(btnRoomLeftShadow);
            //在房间卡片右边添加遮罩
            var btnRoomRightShadow = new FrameLayout();
            btnRoomRightShadow.Width = btnRoomLeftShadow.Width;
            btnRoomRightShadow.Height = btnRoomLeftShadow.Height;
            btnRoomRightShadow.X = Application.GetRealWidth(956);
            btnRoomRightShadow.Gravity = Gravity.CenterVertical;
            btnRoomRightShadow.BackgroundColor = btnRoomLeftShadow.BackgroundColor;
            btnRoomRightShadow.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerBottomLeft);
            frameBack.AddChidren(btnRoomRightShadow);
            //控件开始滑动的事件
            roomPageView.StartScrollAction += () =>
            {
                this.isRoomChanging = true;
                //开始滑动时,隐藏当前的数据显示
                (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(true);
                if (btnRoomLeftShadow != null) { btnRoomLeftShadow.Visible = false; }
                if (btnRoomRightShadow != null) { btnRoomRightShadow.Visible = false; }
                btnRoomLeftShadow.Visible = false;
                btnRoomRightShadow.Visible = false;
                btnRoomBottomShadow.Visible = false;
            };
            roomPageView.EndScrollAction += () =>
@@ -459,8 +469,8 @@
                    (roomPageView.GetChildren(curIndex + 1) as RoomView).HideName(true);
                }
                if (btnRoomLeftShadow != null) { btnRoomLeftShadow.Visible = curIndex >= 1; }
                if (btnRoomRightShadow != null) { btnRoomRightShadow.Visible = curIndex < listRoom.Count - 1; }
                btnRoomLeftShadow.Visible = true;
                btnRoomRightShadow.Visible = true;
                btnRoomBottomShadow.Visible = true;
                //切换当前房间
                HdlRoomLogic.Current.CurrentRoom = listRoom[curIndex];