HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-04-15 23532fa8ad34c89b6d24b01eaef6475fd0aad898
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/19.jpg";
            mLeftImageView.Radius = (uint)Application.GetRealHeight(17);
            mLeftImageView.Width = Application.GetRealWidth(717);
            mLeftImageView.Height = Application.GetRealHeight(478);
            //房间滑动控件右边的虚拟图片
            var mRightImageView = new ImageView();
            mRightImageView.ImagePath = "RoomIcon/19.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];
@@ -470,13 +480,11 @@
            };
            //设置房间的初始选择
            roomPageView.PageIndex = curIndex;
#if iOS
            //Ios如果索引是第一个时,它触发不了事件,需要手动触发
            //如果索引是第一个时,它触发不了事件,需要手动触发
            if (curIndex == 0)
            {
                roomPageView.EndScrollAction();
            }
#endif
        }
        /// <summary>
@@ -675,8 +683,11 @@
                        }, ShowErrorMode.NO);
                    }
                });
                System.Threading.Thread.Sleep(50);
                if (contrCount > 6)
                {
                    //让它呈现一种直接一次性刷出来的效果
                    System.Threading.Thread.Sleep(50);
                }
            }
        }
@@ -824,7 +835,7 @@
            HdlThreadLogic.Current.RunThread(() =>
            {
                //初始化设备卡片列表控件
                //初始化场景卡片列表控件
                this.InitSceneListCardControl(listSceneBackContr, listScene);
            });
        }
@@ -838,7 +849,7 @@
            //场景计数
            int contrCount = 0;
            //X轴坐标(图片左边有余白)
            int XX = Application.GetMinRealAverage(44);
            int XX = this.GetPictrueRealSize(44);
            //Y轴坐标
            int YY = 0;
            foreach (var sceneUi in listScene)
@@ -865,11 +876,11 @@
                    //设备计数
                    contrCount++;
                    //每两个后,X轴重置
                    XX = contrCount % 2 == 0 ? Application.GetMinRealAverage(44) : cardContr.Right + Application.GetMinRealAverage(20);
                    XX = contrCount % 2 == 0 ? this.GetPictrueRealSize(44) : cardContr.Right + this.GetPictrueRealSize(20);
                    if (contrCount % 2 == 0)
                    {
                        //没两个之后,Y轴递增
                        YY = cardContr.Bottom + Application.GetMinRealAverage(15);
                        YY = cardContr.Bottom + this.GetPictrueRealSize(15);
                    }
                    //控件记录到缓存中
                    this.dicSceneCardControl[sceneUi.Id] = cardContr;
@@ -890,7 +901,11 @@
                        });
                    }
                });
                System.Threading.Thread.Sleep(50);
                if (contrCount > 6)
                {
                    //让它呈现一种一次性显示出来的效果
                    System.Threading.Thread.Sleep(50);
                }
            }
        }
@@ -899,25 +914,19 @@
        /// </summary>
        private void ShowNoSceneTip()
        {
            var noScene = new Button
            {
                Y = Application.GetRealHeight(69),
                Width = Application.GetMinRealAverage(683),
                Height = Application.GetMinRealAverage(392),
                Gravity = Gravity.CenterHorizontal,
                UnSelectedImagePath = "Item/NoFunction.png"
            };
            bodyFrameLayout.AddChidren(noScene);
            var noScenceTip = new Button()
            {
                Y = noScene.Bottom,
                Height = Application.GetRealHeight(200),
                Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"),
                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                TextAlignment = TextAlignment.Center,
                IsMoreLines = true
            };
            bodyFrameLayout.AddChidren(noScenceTip);
            var picNoFunc = new PicViewControl(683, 392);
            picNoFunc.Y = Application.GetRealHeight(69);
            picNoFunc.Gravity = Gravity.CenterHorizontal;
            picNoFunc.UnSelectedImagePath = "Item/NoFunction.png";
            bodyFrameLayout.AddChidren(picNoFunc);
            var btnTip = new NormalViewControl(bodyFrameLayout.Width, Application.GetRealHeight(200), false);
            btnTip.Y = picNoFunc.Bottom;
            btnTip.Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n");
            btnTip.TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor;
            btnTip.TextAlignment = TextAlignment.Center;
            btnTip.IsMoreLines = true;
            bodyFrameLayout.AddChidren(btnTip);
        }
        /// <summary>