HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-03-23 cc0d80c7d86c6d0167269b3408c4b30c24ce84e9
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/FunctionSetting.cs
@@ -5,9 +5,9 @@
namespace Shared.Phone.UserCenter.DoorLock
{
    public class FunctionSetting : DoorLockCommonLayout, ZigBee.Common.IStatus
    public class FunctionSetting : DoorLockCommonLayout
    {
        #region ◆ 构造函数__________________________
        #region  构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
@@ -18,11 +18,10 @@
            this.doorLock = doorLock;
            listNewDevice.Add(doorLock);
            BackgroundColor = Shared.Common.ZigbeeColor.Current.GXCTopViewBackgroundColor;
            ZigBee.Device.ZbGateway.StatusList.Add(this);
        }
        #endregion
        #region ◆ 变量申明__________________________
        #region  变量申明
        public ZigBee.Device.DoorLock doorLock = null;
        /// <summary>
        /// 设备需要保存的设备名字
@@ -53,7 +52,7 @@
        FrameLayout bottomFrameLayout;
        #endregion
        #region ◆ UI显示 __________________________
        #region  UI显示
        /// <summary>
        /// UI显示 
        /// </summary>
@@ -74,18 +73,15 @@
        }
        #endregion
        #region ◆ 中部显示 __________________________
        #region  中部显示
        public void MidFrameLayoutContent()
        {
            var MidTopFrameLayout = new FrameLayout()
            {
                X = Application.GetRealWidth(449),
                Y = Application.GetRealHeight(58),
                Width = Application.GetRealWidth(184),
                Height = Application.GetRealHeight(184),
                BackgroundImagePath = "DoorLock/DoorlockPicture.png",
            };
            this.midFrameLayout.AddChidren(MidTopFrameLayout);
            //图片
            var btnPic = new DeviceInfoIconControl();
            btnPic.Y = Application.GetRealHeight(92);
            btnPic.Gravity = Gravity.CenterHorizontal;
            this.midFrameLayout.AddChidren(btnPic);
            btnPic.InitControl(doorLock);
            var btnDeviceText = new Button()
            {
@@ -102,7 +98,7 @@
        }
        #endregion
        #region ◆ 底部显示 __________________________
        #region  底部显示
        public void BottomFrameLayout()
        {
            #region  UI 
@@ -133,13 +129,13 @@
                Y = Application.GetRealHeight(170),
            };
            bottomFrameLayout.AddChidren(listview);
            #endregion
            #endregion
            FunctionDetail(doorLock);
        }
        #endregion
        #region ◆ 功能显示 __________________________
        #region  功能显示
        void FunctionDetail(ZigBee.Device.DoorLock doorLock)
        {
            listview.RemoveAll();
@@ -177,18 +173,18 @@
            {
                foreach (var device in this.listNewDevice)
                {
                    var room = Room.CurrentRoom.GetRoomByDevice(device);
                    var room = HdlRoomLogic.Current.GetRoomByDevice(device);
                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(device);
                    if (room == null)
                    {
                        //这里有点特殊,如果回路没有设置有区域的时候,才设置
                        listCheck.Add(mainKeys);
                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                    else if (listCheck.Contains(mainKeys) == true)
                    {
                        //如果这个回路之前都还没有区域,在本界面还没有关闭之前,可以无条件随便变更
                        Room.CurrentRoom.ChangedRoom(device, roomKeys);
                        HdlRoomLogic.Current.ChangedRoom(device, roomKeys);
                    }
                }
                //保存设备房间索引
@@ -234,7 +230,7 @@
        }
        #endregion
        #region 添加全部菜单
        #region  添加全部菜单
        /// <summary>
        /// 添加全部菜单
        /// </summary>
@@ -407,7 +403,7 @@
        #endregion
        #region ◆ 设备重命名__________________________
        #region  设备重命名
        /// <summary>
        /// 设备重命名
        /// </summary>
@@ -448,60 +444,24 @@
        }
        #endregion
        #region ◆ 行数超过容器时,补一个空白FrameLayout__________________________
        #region  行数超过容器时,补一个空白FrameLayout
        /// <summary>
        /// 行数超过容器时,补一个空白FrameLayout,使之能滑动
        /// </summary> 
        void FinishInitControl(FrameLayout bodyFrameLayout, VerticalListControl listview)
        {
            var btnFinish = new BottomClickButton();
            btnFinish.Y = Application.GetRealHeight(1054);
            if (listview.ChildrenCount > 0)
            {
                var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount;
                if (bodyFrameLayout.Height - btnFinish.Y + realHeight > listview.Height)
                if (bodyFrameLayout.Height - Application.GetRealHeight(1054) + realHeight > listview.Height)
                {
                    //促使被挡住的菜单能够向上滑动
                    var frameTemp = new FrameLayout();
                    frameTemp.Height = bodyFrameLayout.Height - btnFinish.Y + Application.GetRealHeight(115);
                    frameTemp.Height = bodyFrameLayout.Height - Application.GetRealHeight(1054) + Application.GetRealHeight(115);
                    listview.AddChidren(frameTemp);
                }
            }
        }
        #endregion
        #region ◆ 接口实现__________________________
        /// <summary>
        /// 处理变化事件 --将弃用 改用DeviceInfoChange()
        /// </summary>
        /// <returns>The changed.</returns>
        /// <param name="common">Common.</param>
        public void Changed(CommonDevice common)
        {
        }
        /// <summary>
        /// 处理变化事件
        /// </summary>
        /// <param name="common"></param>
        /// <param name="typeTag"></param>
        public void DeviceInfoChange(CommonDevice common, string typeTag)
        {
        }
        /// <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)
        {
        }
        #endregion
    }