陈嘉乐
2020-07-20 9cfd22c2c308adc7a7ce38cf96be04a70048de01
ZigbeeApp/Shared/Phone/Device/Logic/RoomAndDeviceView.cs
@@ -12,8 +12,17 @@
        {
            Tag = "Logic";
        }
        /// <summary>
        /// 记录点击房间
        /// </summary>
        Button roombjButton = new Button();
        /// <summary>
        /// 记录点击房间名称
        /// </summary>
        Button roomTextButton = new Button();
        /// <summary>
        /// 记录点击设备
        /// </summary>
        Button devicetypeButton = new Button();
        FrameLayout clickframeLayout = new FrameLayout();
        Button clickbutton = new Button();
@@ -27,9 +36,9 @@
        /// </summary>
        public HorizontalScrolViewLayout roomhorizontalScrol = new HorizontalScrolViewLayout
        {
            Width = Application.GetRealWidth(1080 - 58),
            Height = Application.GetRealHeight(200),
            X = Application.GetRealWidth(58),
            Width = Application.GetRealWidth(1080 - 29),
            Height = Application.GetRealHeight(204),
            X = Application.GetRealWidth(29),
            Y = Application.GetRealHeight(184),
        };
        /// <summary>
@@ -37,11 +46,11 @@
        /// </summary>
        public HorizontalScrolViewLayout devicetypehorizontalScrol = new HorizontalScrolViewLayout
        {
            Width = Application.GetRealWidth(1080 - 58),
            Width = Application.GetRealWidth(1080 - 52),
            Height = Application.GetRealHeight(280),
            Y = Application.GetRealHeight(184 + 200),
            Y = Application.GetRealHeight(184 + 204),
            BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
            X = Application.GetRealWidth(58),
            X = Application.GetRealWidth(52),
            // Radius = (uint)Application.GetRealHeight(50),
        };
@@ -51,22 +60,22 @@
        public VerticalScrolViewLayout middle = new VerticalScrolViewLayout
        {
            X = Application.GetRealWidth(58),
            Y = Application.GetRealHeight(184 + 200 + 280 + 40),
            Height = Application.GetRealHeight(1920 - 40 - 184 - 280 - 200),
            Y = Application.GetRealHeight(184 + 204 + 280 + 40),
            Height = Application.GetRealHeight(Method.H - 40 - 184 - 280 - 204),
            BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
        };
        public void Show(string Name)
        {
            #region  上面的布局代码
            UserView.HomePage.Instance.ScrollEnabled = false;
            UserView.HomePage.Instance.ScrollEnabled = false;//锁住左滑
            this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
            TopView view = new TopView();
            this.AddChidren(view.TopRowView(true));
            view.toptitleNameBtn.Text = Name;
            view.clickBtn.MouseDownEventHandler += (sender, e) =>
            {
                UserView.HomePage.Instance.ScrollEnabled = true;
                UserView.HomePage.Instance.ScrollEnabled = true;//恢复左滑
                RemoveFromParent();
            };
            view.foolrnameBtn.Text = Config.Instance.Home.GetCurrentFloorName;
@@ -151,8 +160,8 @@
                        var btnfoolricon = new Button
                        {
                            Width = Application.GetRealWidth(81),
                            Height = Application.GetRealHeight(81),
                            Width = Application.GetMinRealAverage(81),
                            Height = Application.GetMinRealAverage(81),
                            UnSelectedImagePath = "Floor/Floor.png",
                            Gravity = Gravity.CenterVertical,
                        };
@@ -214,49 +223,29 @@
            {
                var room = roomlist[i];
                var fra = new FrameLayout
                {
                    Height = Application.GetRealHeight(200),
                    Width = Application.GetRealWidth(255),
                };
                roomhorizontalScrol.AddChidren(fra);
                LogicView.RoomClickView roomClickView = new LogicView.RoomClickView();
                roomClickView.Show(roomhorizontalScrol);
                roomClickView.roomnameBtn.Text = room.Name;
                var roombjBtn = new Button
                {
                    Height = Application.GetRealHeight(158),
                    Width = Application.GetRealWidth(255),
                    UnSelectedImagePath = "ZigeeLogic/iconBackgroundColor.png",
                    SelectedImagePath = "ZigeeLogic/iconSelectedBackgroundColor.png",
                    Y = Application.GetRealHeight(21),
                };
                fra.AddChidren(roombjBtn);
                var roomnameBtn = new Button
                if (i == 0)//默认选中第一个房间
                {
                    Height = Application.GetRealHeight(152 - 26 - 20),
                    Width = Application.GetRealWidth(255 - 20 - 50),
                    Text = room.Name,
                    TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                    SelectedTextColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                    Y = Application.GetRealHeight(21 + 13 + 10),
                    X = Application.GetRealWidth(10 + 25),
                };
                fra.AddChidren(roomnameBtn);
                if (i == 0)//
                {
                    roombjButton.IsSelected = false;
                    roombjButton = roombjBtn;
                    roombjBtn.IsSelected = true;
                    roomClickView.roombjBtn.Height = Application.GetRealHeight(135);
                    roomClickView.roombjBtn.Width = Application.GetRealWidth(245);
                    roomClickView.roombjBtn.Y = Application.GetRealHeight(40);
                    roomClickView.roombjBtn.X = Application.GetRealWidth(0);
                    roombjButton = roomClickView.roombjBtn;
                    roomClickView.roombjBtn.IsSelected = true;
                    roomTextButton.IsSelected = false;
                    roomTextButton = roomnameBtn;
                    roomnameBtn.IsSelected = true;
                    roomClickView.roomnameBtn.Width = Application.GetRealWidth(245 - 60 * 2);
                    roomClickView.roomnameBtn.X = Application.GetRealWidth(60);
                    roomTextButton = roomClickView.roomnameBtn;
                    roomClickView.roomnameBtn.IsSelected = true;
                    roombjBtn.IsSelected = true;
                    roomnameBtn.IsSelected = true;
                    roomClickView.roombjBtn.IsSelected = true;
                    roomClickView.roomnameBtn.IsSelected = true;
                    var list = Method.GetDeviceUIList(room, deviceTypeList);
                    AllDeviceTypeView(list);
@@ -264,20 +253,38 @@
                EventHandler<MouseEventArgs> roomclick = (sender, e) =>
                {
                    roombjButton.Height = Application.GetRealHeight(72);
                    roombjButton.Width = Application.GetRealWidth(170);
                    roombjButton.Y = Application.GetRealHeight(60);
                    roombjButton.X = Application.GetRealWidth(26);
                    roombjButton.IsSelected = false;
                    roombjButton = roombjBtn;
                    roombjBtn.IsSelected = true;
                    roombjButton.Height = Application.GetRealHeight(72);
                    roombjButton.Width = Application.GetRealWidth(170);
                    roombjButton.Y = Application.GetRealHeight(60);
                    roombjButton.X = Application.GetRealWidth(26);
                    roombjButton.IsSelected = false;
                    roomClickView.roombjBtn.Height = Application.GetRealHeight(135);
                    roomClickView.roombjBtn.Width = Application.GetRealWidth(245);
                    roomClickView.roombjBtn.Y = Application.GetRealHeight(40);
                    roomClickView.roombjBtn.X = Application.GetRealWidth(0);
                    roombjButton = roomClickView.roombjBtn;
                    roomClickView.roombjBtn.IsSelected = true;
                    roomTextButton.Width = Application.GetRealWidth(125);
                    roomTextButton.X = Application.GetRealWidth(26 + 22);
                    roomTextButton.IsSelected = false;
                    roomTextButton = roomnameBtn;
                    roomnameBtn.IsSelected = true;
                    roomClickView.roomnameBtn.Width = Application.GetRealWidth(245 - 60 * 2);
                    roomClickView.roomnameBtn.X = Application.GetRealWidth(60);
                    roomTextButton = roomClickView.roomnameBtn;
                    roomClickView.roomnameBtn.IsSelected = true;
                    var list = Method.GetDeviceUIList(room, deviceTypeList);
                    AllDeviceTypeView(list);
                };
                roomnameBtn.MouseUpEventHandler += roomclick;
                roombjBtn.MouseUpEventHandler += roomclick;
                roomClickView.roomnameBtn.MouseUpEventHandler += roomclick;
                roomClickView.roombjBtn.MouseUpEventHandler += roomclick;
            }
        }
@@ -287,35 +294,32 @@
        /// <param name="devicelist">Devicelist.</param>
        void AllDeviceTypeView(List<CommonDevice> devicelist)
        {
            var devicetypelist = Method.GetDeviceTypeList(IfType, devicelist);
            var devicetypelist = Method.GetDeviceTypeList(devicelist);
            devicetypehorizontalScrol.RemoveAll();
            for (int i = 0; i < devicetypelist.Count; i++)
            {
                var devicetype = devicetypelist[i];
                var spaceRowLayout = new FrameLayout();
                devicetypehorizontalScrol.AddChidren(spaceRowLayout);
                if (i == 0)
                {
                    var spaceRowLayout = new FrameLayout();
                    devicetypehorizontalScrol.AddChidren(spaceRowLayout);
                    spaceRowLayout.Width = Application.GetRealWidth(37);
                }
                else
                {
                    spaceRowLayout.Width = Application.GetRealWidth(80);
                }
                var deviceRowLayout = new FrameLayout
                {
                    Width = Application.GetRealWidth(156 + 20),
                    Height = Application.GetRealHeight(280 - 30),
                    Y = Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(150+75),
                    Height = Application.GetRealHeight(173+52),
                    Y = Application.GetRealHeight(35),
                };
                devicetypehorizontalScrol.AddChidren(deviceRowLayout);
                var backgroundColor = new Button
                {
                    Width = Application.GetRealWidth(156),
                    Height = Application.GetRealHeight(180),
                    X = Application.GetRealWidth(10),
                    Width = Application.GetMinRealAverage(150),
                    Height = Application.GetMinRealAverage(173),
                    UnSelectedImagePath = "ZigeeLogic/deviceunselectedbackgroundcolor.png",
                    SelectedImagePath = "ZigeeLogic/deviceselectedbackgroundcolor.png",
                };
@@ -324,18 +328,18 @@
                var devicetypeicon = new Button
                {
                    Width = Application.GetRealWidth(84),
                    Height = Application.GetRealHeight(84),
                    X = Application.GetRealWidth(46),
                    Y = Application.GetRealHeight(30),
                    Width = Application.GetMinRealAverage(84),
                    Height = Application.GetMinRealAverage(84),
                    X = Application.GetRealWidth(35),
                    Y = Application.GetRealHeight(29),
                    UnSelectedImagePath =Method.GetDeviceTypeIcon(devicetype),
                };
                deviceRowLayout.AddChidren(devicetypeicon);
                var devicetypename = new Button
                {
                    Width = Application.GetRealWidth(176),
                    Height = Application.GetRealHeight(40),
                    Width = Application.GetRealWidth(150),
                    Height = Application.GetRealHeight(52),
                    Text = devicetype,
                    TextAlignment = TextAlignment.Center,
                    Y = backgroundColor.Bottom,
@@ -343,7 +347,17 @@
                    TextSize = 10,
                };
                deviceRowLayout.AddChidren(devicetypename);
                //if (i == 0)//默认选中第一个设备类型
                //{
                //    devicetypeButton.IsSelected = false;
                //    devicetypeButton = backgroundColor;
                //    backgroundColor.IsSelected = true;
                //    var list = Method.GetDeviceType(devicetypename.Text);
                //    ConditionDeviceView(list, devicelist);
                //}
                EventHandler<MouseEventArgs> devicetypeclick = (sender13, e13) =>
                {
                    devicetypeButton.IsSelected = false;
@@ -352,7 +366,6 @@
                    var list = Method.GetDeviceType(devicetypename.Text);
                    ConditionDeviceView(list, devicelist);
                };
                deviceRowLayout.MouseUpEventHandler += devicetypeclick;
                devicetypename.MouseUpEventHandler += devicetypeclick;
                devicetypeicon.MouseUpEventHandler += devicetypeclick;
                backgroundColor.MouseUpEventHandler += devicetypeclick;
@@ -360,6 +373,7 @@
            }
            ///显示房间所有设备
            ConditionDeviceView(new List<DeviceType>(), devicelist);
        }
        /// <summary>
@@ -369,6 +383,7 @@
        /// <param name="devicelist">设备列表</param>
        void ConditionDeviceView(List<DeviceType> deviceTypelist, List<CommonDevice> devicelist)
        {
            middle.RemoveAll();
            foreach (var common in devicelist)
            {
@@ -390,18 +405,18 @@
                middle.AddChidren(deviceFramelayout);
                var bjFramelayout = new FrameLayout
                {
                    Width = Application.GetRealWidth(112),
                    Height = Application.GetRealHeight(112),
                    Width = Application.GetMinRealAverage(112),
                    Height = Application.GetMinRealAverage(112),
                    X = Application.GetRealWidth(58),
                    Y = Application.GetRealHeight(30 + 9),
                    // Radius = (uint)Application.GetRealHeight(56),
                     Radius = (uint)Application.GetMinRealAverage(56),
                    BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
                };
                deviceFramelayout.AddChidren(bjFramelayout);
                var deviceIconBtn = new Button
                {
                    Width = Application.GetRealWidth(82),
                    Height = Application.GetRealHeight(82),
                    Width = Application.GetMinRealAverage(82),
                    Height = Application.GetMinRealAverage(82),
                    Gravity = Gravity.Center,
                };
                bjFramelayout.AddChidren(deviceIconBtn);
@@ -411,9 +426,9 @@
                    Y = Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(850),
                    Height = Application.GetRealHeight(130),
                    X = Application.GetRealWidth(176 + 10),
                    LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    X = Application.GetRealWidth(176 + 25),
                    //LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                    LineColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
                };
                deviceFramelayout.AddChidren(deviceRow);
                var devicename = new Button
@@ -425,6 +440,16 @@
                    TextSize = 14,
                };
                deviceRow.AddChidren(devicename);
                var lineBtn = new Button
                {
                    Y = deviceFramelayout.Height-1,
                    Height = 1,
                    Width = Application.GetRealWidth(850),
                    X = Application.GetRealWidth(176 + 25),
                    BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
                };
                deviceFramelayout.AddChidren(lineBtn);
                EventHandler<MouseEventArgs> devicclick = (sen, e) =>
                {
                    clickbutton.IsSelected = false;
@@ -438,8 +463,7 @@
                    devicename.IsSelected = true;
                    var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor };
                    this.AddChidren(flMain);
                    CurrentDeviceState.CurrentDeviceView(flMain, common, false, IfType);
                    CurrentDeviceState.CurrentDeviceView(flMain, common, false, IfType,0);
                };
                deviceFramelayout.MouseUpEventHandler += devicclick;
                bjFramelayout.MouseUpEventHandler += devicclick;