xm
2020-07-21 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -1,32 +1,74 @@
using System;
using System.Collections.Generic;
using Shared.Common;
using Shared.Phone.UserView;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DoorLock
{
    public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus
    public class FunctionSetting : DoorLockCommonLayout
    {
        #region  构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="doorLock"></param>
        public FunctionSetting(ZigBee.Device.DoorLock doorLock)
        public FunctionSetting(Room room, CommonDevice doorLock)
        {
            this.doorLock = doorLock;
            this.doorLock = doorLock as ZigBee.Device.DoorLock;
            currentRoom = room;
            deviceUI = doorLock;
            listNewDevice.Add(doorLock);
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #region ◆ 变量申明__________________________
        ZigBee.Device.DoorLock doorLock;
        #endregion
        #region  变量申明
        public ZigBee.Device.DoorLock doorLock = null;
        /// <summary>
        /// 当前房间
        /// </summary>
        Room currentRoom;
        /// <summary>
        /// 设备UI对象
        /// </summary>
        CommonDevice deviceUI;
        /// <summary>
        /// 设备需要保存的设备名字
        /// </summary>
        private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
        /// <summary>
        /// 当前选择的设备
        /// </summary>
        private CommonDevice nowSelectDevice = null;
        /// <summary>
        /// 设备备注的控件
        /// </summary>
        private FrameCaptionInputControl btnDeviceName = null;
        /// <summary>
        /// 设备的某一回路
        /// </summary>
        private CommonDevice deviceObj = null;
        /// <summary>
        /// 设备对象
        /// </summary>
        private List<CommonDevice> listNewDevice = new List<CommonDevice> { };
        Action action;
        Action actionNone;
        string modifyDeviceName = "";
        bool IsModifyName = true;
        public Action<string> devicNameAction;
        private VerticalListControl listview = null;//功能列表
        FrameLayout bottomFrameLayout;
        #endregion
        #region  UI显示
        /// <summary>
        /// UI显示 
        /// </summary>
        public void Show()
        {
            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.FunctionSetting));
            this.TopFrameLayout(this, Language.StringByID(R.MyInternationalizationString.DoorLockFunctionSetting));
            EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
            {
@@ -39,48 +81,45 @@
            MidFrameLayoutContent();
        }
        #endregion
        #region  中部显示
        public void MidFrameLayoutContent()
        {
            //图片
            var btnPic = new DeviceInfoIconControl();
            btnPic.Y = Application.GetRealHeight(92);
            btnPic.Gravity = Gravity.CenterHorizontal;
            this.midFrameLayout.AddChidren(btnPic);
            btnPic.InitControl(doorLock);
            var MidTopFrameLayout = new FrameLayout()
            var btnDeviceText = new Button()
            {
                X = Application.GetRealWidth(449),
                Y = Application.GetRealHeight(58),
                Width = Application.GetRealWidth(184),
                Height = Application.GetRealHeight(184),
                BackgroundImagePath = "DoorLock/DoorlockPicture.png",
                Y = Application.GetRealHeight(288),
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                TextColor = ZigbeeColor.Current.XMBlack,
                TextSize = 15,
                Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock),
            };
            this.midFrameLayout.AddChidren(MidTopFrameLayout);
            this.midFrameLayout.AddChidren(btnDeviceText);
            BottomFrameLayout();
        }
        #endregion
        #region  底部显示
        public void BottomFrameLayout()
        {
            #region  UI 
            var bottomFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(100),
                Y = Application.GetRealHeight(418),
                Radius = 17,
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            this.midFrameLayout.AddChidren(bottomFrameLayout);
            var bottomFrameLayout1 = new FrameLayout()
            {
                Height = Application.GetRealHeight(1319 - 50),
                Y = Application.GetRealHeight(418 + 48),
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            this.midFrameLayout.AddChidren(bottomFrameLayout1);
            var bottomFrameLayout2 = new FrameLayout()
            bottomFrameLayout = new FrameLayout()
            {
                Height = Application.GetRealHeight(1319),
                Y = Application.GetRealHeight(418),
                BackgroundColor = ZigbeeColor.Current.XMWhite,
            };
            this.midFrameLayout.AddChidren(bottomFrameLayout2);
            this.midFrameLayout.AddChidren(bottomFrameLayout);
            bottomFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
            var informationEdit = new Button()
            {
@@ -90,223 +129,367 @@
                Text = Language.StringByID(R.MyInternationalizationString.InformationEdit),
                TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 12,
                TextSize = 15,
            };
            bottomFrameLayout2.AddChidren(informationEdit);
            bottomFrameLayout.AddChidren(informationEdit);
            for (int i = 0; i < 7; i++)
            listview = new VerticalListControl()
            {
                var btnName = new Button()
                {
                    Width = Application.GetRealWidth(233),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(58),
                    TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                    TextAlignment = TextAlignment.CenterLeft,
                    TextSize = 12,
                };
                bottomFrameLayout2.AddChidren(btnName);
                Height = Application.GetRealHeight(1319 - 141),
                Y = Application.GetRealHeight(170),
            };
            bottomFrameLayout.AddChidren(listview);
            #endregion
                var btnNextFrameLayout = new FrameLayout()
                {
                    Width = Application.GetRealWidth(104),
                    Height = Application.GetRealHeight(58),
                    X = Application.GetRealWidth(861 + 58),
                };
                bottomFrameLayout2.AddChidren(btnNextFrameLayout);
            FunctionDetail(doorLock);
        }
        #endregion
                var btnNext = new Button()
        #region  功能显示
        void FunctionDetail(ZigBee.Device.DoorLock doorLock)
        {
            listview.RemoveAll();
            //设备备注
            string caption = Language.StringByID(R.MyInternationalizationString.DeviceRemarkXm);
            string deviceName = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
            var btnNote = new FrameCaptionInputControl(caption, deviceName, listview.rowSpace / 2);
            listview.AddChidren(btnNote);
            btnNote.InitControl();
            //划线
            btnNote.AddBottomLine();
            btnNote.txtInput.FinishInputEvent += () =>
            {
                string oldName = Common.LocalDevice.Current.GetDeviceMacName(doorLock);
                if (btnNote.Text == string.Empty)
                {
                    Width = Application.GetRealWidth(60),
                    Height = Application.GetRealHeight(60),
                };
                btnNextFrameLayout.AddChidren(btnNext);
                var btnLine = new FrameLayout()
                {
                    Width = Application.GetRealWidth(965),
                    Height = Application.GetRealHeight(5),
                    X = Application.GetRealWidth(58),
                    BackgroundColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
                    Visible = false,
                };
                bottomFrameLayout2.AddChidren(btnLine);
                if (i == 0)
                {
                    btnName.Y = Application.GetRealHeight(204);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DeviceName) + ":";
                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNextFrameLayout.X = btnName.Right;
                    btnNext.TextAlignment = TextAlignment.CenterLeft;
                    btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                    btnNext.Text = "智能门锁";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(308);
                    btnNote.Text = oldName;
                }
                else if (i == 1)
                if (oldName != btnNote.Text)
                {
                    btnName.Y = Application.GetRealHeight(343);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongZone) + ":";
                    var btnArea = new Button()
                    {
                        Width = Application.GetRealWidth(789 - 109 - 58),
                        Height = Application.GetRealHeight(58),
                        X = btnName.Right,
                        Y = btnName.Y,
                        TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
                        Text = "一楼,客厅",
                        TextAlignment = TextAlignment.CenterLeft,
                    };
                    bottomFrameLayout2.AddChidren(btnArea);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(446);
                    //修改名字
                    this.DeviceReName(btnNote.Text, false);
                }
                else if (i == 2)
                {
                    btnName.Y = Application.GetRealHeight(481);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.BelongModel) + ":";
                    btnNextFrameLayout.Width = btnNext.Width = Application.GetRealWidth(789 - 58);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNextFrameLayout.X = btnName.Right;
            };
                    btnNext.TextAlignment = TextAlignment.CenterLeft;
                    btnNext.Height = Application.GetRealHeight(58);
                    btnNext.Text = "HDL-Doorlock";
                    btnNext.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
            //所属区域
            var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
            listview.AddChidren(rowBeloneArea);
            rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), this.listNewDevice);
            //底线
            rowBeloneArea.AddBottomLine();
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(1025 - 449);
                }
                else if (i == 3)
                {
                    btnName.Y = Application.GetRealHeight(585 + 35);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.TemporaryPassword);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(619 + 58 + 35);
                }
                else if (i == 4)
                {
                    btnName.Y = Application.GetRealHeight(723 + 35);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.RemotelyUnlock);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNext.Width = Application.GetRealWidth(104);
                    btnNext.Height = Application.GetRealHeight(63);
                    btnNext.UnSelectedImagePath = "DoorLock/Switch.png";
                    btnNext.SelectedImagePath = "DoorLock/SwitchOn.png";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(723 + 127);
                    if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
                    {
                        btnNext.IsSelected = false;
            var listCheck = new List<string>();
            rowBeloneArea.SelectRoomEvent += (roomKeys) =>
            {
                //选择未分配时,清空
                if (roomKeys == string.Empty) { listCheck = new List<string>(); }
                foreach (var device in this.listNewDevice)
                {
                    if (roomKeys == string.Empty)
                    {
                        //如果选择的是未分配,则它的全部回路无条件全部清空房间
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                        continue;
                    }
                    else
                    var room = HdlRoomLogic.Current.GetRoomByDevice(device);
                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
                    if (room == null)
                    {
                        btnNext.IsSelected = true;
                        //这里有点特殊,如果回路没有设置有区域的时候,才设置
                        listCheck.Add(mainKeys);
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                    else if (listCheck.Contains(mainKeys) == true)
                    {
                        //如果这个回路之前都还没有区域,在本界面还没有关闭之前,可以无条件随便变更
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                }
                else if (i == 5)
                //保存设备房间索引
                Common.LocalDevice.Current.SaveRealDeviceRoomId(this.listNewDevice, roomKeys);
            };
            //设备模块
            caption = Language.StringByID(R.MyInternationalizationString.BelongDevice);
            deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice);
            var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2);
            btnType.UseClickStatu = false;
            listview.AddChidren(btnType);
            btnType.InitControl();
            //划线
            btnType.AddBottomLine();
            //添加全部菜单
            this.AddAllMenuRow();
            FinishInitControl(bottomFrameLayout, this.listview);
            //保存
            var btnFinish = new BottomClickButton();
            btnFinish.Y = Application.GetRealHeight(1054);
            btnFinish.TextID = R.MyInternationalizationString.uSave;
            bottomFrameLayout.AddChidren(btnFinish);
            btnFinish.ButtonClickEvent += (sender, e) =>
            {
                string oldName = Common.LocalDevice.Current.GetDeviceMacName(listNewDevice[0]);
                if (btnNote.Text.Trim() == string.Empty)
                {
                    btnName.Y = Application.GetRealHeight(861 + 35);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.DoorLockTime);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(861 + 127);
                    btnNote.Text = oldName;
                }
                else if (i == 6)
                if (oldName != btnNote.Text.Trim())
                {
                    btnName.Y = Application.GetRealHeight(999 + 35);
                    btnName.Text = Language.StringByID(R.MyInternationalizationString.Shared);
                    btnNextFrameLayout.Y = btnName.Y;
                    btnNext.UnSelectedImagePath = "DoorLock/RightIcon.png";
                    btnLine.Visible = true;
                    btnLine.Y = Application.GetRealHeight(999 + 127);
                    //修改名字
                    this.DeviceReName(btnNote.Text.Trim(), true);
                }
                int currentIndex = i;
                EventHandler<MouseEventArgs> eHandler = (sender, e) =>
                else
                {
                    if (currentIndex == 1)
                    //关闭自身
                    this.CloseForm();
                }
            };
        }
        #endregion
        #region  添加全部菜单
        /// <summary>
        /// 添加全部菜单
        /// </summary>
        private void AddAllMenuRow()
        {
            if (UserCenterResourse.UserInfo.AuthorityNo == 1)
            {
                //添加【临时密码】行
                this.AddTempPasswordRow();
                //添加【远程开锁】行
                this.AddRemoteUnLocksRow();
                //添加【门锁时间】行
                this.AddDoorLocksTimeRow();
            }
            else
            {
                //添加【远程开锁】行
                this.AddRemoteUnLocksRow();
            }
        }
        #endregion
        #region 临时密码
        /// <summary>
        /// 临时密码
        /// </summary>
        private void AddTempPasswordRow()
        {
            //用户管理
            string caption = Language.StringByID(R.MyInternationalizationString.TemporaryPassword);
            var btnRow = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(btnRow);
            btnRow.AddLeftCaption(caption, 600);
            //向右图标
            btnRow.AddRightArrow();
            //底线
            btnRow.AddBottomLine();
            btnRow.ButtonClickEvent += async (sender, e) =>
            {
                action = async () =>
                {
                    var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
                    Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                    temporaryPassword.Show();
                };
                actionNone = async () =>
                {
                    Shared.Phone.UserCenter.DoorLock.DoorLockCommonLayout.SecurityRequest(doorLock);
                };
                HdlCheckLogic.Current.CheckSecondarySecurity(action, actionNone);
            };
        }
        #endregion
        #region 远程开锁
        /// <summary>
        /// 添加【远程开锁】行(门锁专用)
        /// </summary>
        private void AddRemoteUnLocksRow()
        {
            //远程开锁
            string caption = Language.StringByID(R.MyInternationalizationString.uRemoteUnLocks);
            var btnRow = new FrameRowControl(listview.rowSpace / 2);
            btnRow.UseClickStatu = false;
            listview.AddChidren(btnRow);
            btnRow.AddLeftCaption(caption, 600);
            //开关图标
            var btnswitch = btnRow.AddMostRightSwitchIcon();
            //底线
            btnRow.AddBottomLine();
            var doorLock = (ZigBee.Device.DoorLock)listNewDevice[0];
            if (string.IsNullOrEmpty(doorLock.RemoteUnlockPassword) == false)
            {
                btnswitch.IsSelected = true;
            }
            btnswitch.ButtonClickEvent += async (sender, e) =>
            {
                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                {
                    if (btnswitch.IsSelected == true)
                    {
                        btnswitch.IsSelected = false;
                        doorLock.RemoteUnlockPassword = string.Empty;
                        return;
                    }
                    else if (currentIndex == 3)
                    var frame = new DoorLock.DoorLockCommonLayout();
                    frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
                    frame = null;
                }
                else
                {
                    var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
                    if (result == false)
                    {
                        var temporaryPassword = new Shared.Phone.UserCenter.DoorLock.TemporaryPassword(doorLock);
                        Shared.Phone.UserView.HomePage.Instance.AddChidren(temporaryPassword);
                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                        temporaryPassword.Show();
                    }
                    else if (currentIndex == 4)
                    {
                        btnNext.IsSelected = !btnNext.IsSelected;
                        if (btnNext.IsSelected)
                        var result1 = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid);
                        if (result1 == true)
                        {
                            if (ZigBee.Device.DoorLock.RemoteUnlockPassword == "")
                            if (btnswitch.IsSelected == true)
                            {
                                RemotePasswordDialog(doorLock, btnNext);
                                btnswitch.IsSelected = false;
                                doorLock.RemoteUnlockPassword = string.Empty;
                                return;
                            }
                            var frame = new DoorLock.DoorLockCommonLayout();
                            frame.RemotePasswordDialog((ZigBee.Device.DoorLock)listNewDevice[0], btnswitch.btnIcon);
                            frame = null;
                        }
                        else
                        {
                            ZigBee.Device.DoorLock.RemoteUnlockPassword = "";
                            this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess));
                        }
                    }
                    else if (currentIndex == 5)
                    else
                    {
                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
                    }
                }
            };
        }
        #endregion
        #region 门锁时间
        /// <summary>
        /// 添加【门锁时间】行(门锁专用)
        /// </summary>
        private void AddDoorLocksTimeRow()
        {
            //门锁时间
            string caption = Language.StringByID(R.MyInternationalizationString.uDoorLocksTime);
            var btnRow = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(btnRow);
            btnRow.AddLeftCaption(caption, 600);
            //向右图标
            btnRow.AddRightArrow();
            //底线
            btnRow.AddBottomLine();
            var doorLock = this.listNewDevice[0] as ZigBee.Device.DoorLock;
            btnRow.ButtonClickEvent += async (sender, e) =>
            {
                if (UserCenterResourse.UserInfo.AuthorityNo == 1)
                {
                    var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
                    Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                    tempPage.Show();
                }
                else
                {
                    var result = await Shared.Phone.UserCenter.DoorLock.DoorLockCommonInfo.GetDoorLockOperateAccess(doorLock, Shared.Common.Config.Instance.Guid);
                    if (result == false)
                    {
                        var tempPage = new Shared.Phone.UserCenter.DoorLock.TimeSettignPage(doorLock, "DoorLockTime");
                        Shared.Phone.UserView.HomePage.Instance.AddChidren(tempPage);
                        Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                        tempPage.Show();
                    }
                    else if (currentIndex == 6)
                    else
                    {
                        this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.AccountIsFreezed));
                    }
                };
                btnNext.MouseDownEventHandler += eHandler;
                btnName.MouseDownEventHandler += eHandler;
                btnNextFrameLayout.MouseDownEventHandler += eHandler;
                #endregion
                }
            };
        }
        #endregion
        #region  设备重命名
        /// <summary>
        /// 设备重命名
        /// </summary>
        /// <param name="i_deviceName">deviceName.</param>
        private void DeviceReName(string i_deviceName, bool closeForm)
        {
            //开启进度条
            this.ShowProgressBar();
            //修改MAC名
            string deviceName = i_deviceName.Trim();
            var result = Common.LocalDevice.Current.ReMacName(listNewDevice, deviceName);
            //关闭进度条
            this.CloseProgressBar();
            if (result == false)
            {
                return;
            }
            else
            {
                if (devicNameAction != null)
                {
                    devicNameAction(deviceName);
                }
            }
            if (closeForm == true)
            {
                //关闭界面
                this.CloseForm();
            }
            else
            {
                //设备备注修改成功!
                string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess);
                this.ShowMassage(ShowMsgType.Tip, msg);
            }
        }
        #endregion
        #region ◆ 接口实现__________________________
        #region  行数超过容器时,补一个空白FrameLayout
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
        /// <returns>The changed.</returns>
        /// <param name="common">Common.</param>
        public void Changed(CommonDevice common)
        /// 行数超过容器时,补一个空白FrameLayout,使之能滑动
        /// </summary>
        void FinishInitControl(FrameLayout bodyFrameLayout, VerticalListControl listview)
        {
            if (listview.ChildrenCount > 0)
            {
                var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
                if (bodyFrameLayout.Height - Application.GetRealHeight(1054) + realHeight > listview.Height)
                {
                    //促使被挡住的菜单能够向上滑动
                    var frameTemp = new FrameLayout();
                    frameTemp.Height = bodyFrameLayout.Height - Application.GetRealHeight(1054) + Application.GetRealHeight(115);
                    listview.AddChidren(frameTemp);
                }
            }
        }
        #endregion
        #region 移除方法
        /// <summary>
        /// 处理变化事件
        /// 重写移除方法
        /// </summary>
        /// <param name="common"></param>
        /// <param name="typeTag"></param>
        public void DeviceInfoChange(CommonDevice common, string typeTag)
        public override void RemoveFromParent()
        {
        }
        /// <summary>
        /// Changeds the IL ogic status.
        /// </summary>
        /// <param name="logic">Logic.</param>
        public void ChangedILogicStatus(ZigBee.Device.Logic logic)
        {
        }
        /// <summary>
        /// Changeds the IS cene status.
        /// </summary>
        /// <param name="scene">Scene.</param>
        public void ChangedISceneStatus(Scene scene)
        {
            base.RemoveFromParent();
        }
        #endregion
    }