From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 459 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 286 insertions(+), 173 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs index 93da3b6..441b86e 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs @@ -1,32 +1,14 @@ 锘縰sing System; using System.Collections.Generic; using Shared.Common; -using Shared.Phone.Device.Light; using Shared.Phone.UserCenter.Device; using ZigBee.Device; using static ZigBee.Device.BindObj; using static ZigBee.Device.Panel; namespace Shared.Phone.UserCenter.DeviceBind { - public class AddDevicePage : BindCommonLayout, ZigBee.Common.IStatus + public class AddDevicePage : BindCommonLayout { - /// <summary> - /// 鎸夐敭妯″紡鎺ユ敹 - /// </summary> - /// <param name="common">Common.</param> - public void Changed(CommonDevice common) - { - //if (common.Type != ZigBee.Device.DeviceType.OnOffSwitch) - //{ - // return; - //} - - Shared.Application.RunOnMainThread(() => - { - //var dev = common as Panel; - }); - } - /// 鏋勯�犲嚱鏁� /// </summary> /// <param name="doorLock"></param> @@ -36,27 +18,68 @@ this.curDeviceBindType = deviceBindType; } - #region 鈼� 鍙橀噺鐢虫槑__________________________ + #region 鍙橀噺鐢虫槑 + /// <summary> + /// 褰撳墠鎸夐敭 + /// </summary> ZigBee.Device.Panel currentKey; - //鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + /// <summary> + /// 鏄剧ず琚粦瀹氳澶囨垨鍦烘櫙鐨剉iew + /// </summary> VerticalScrolViewLayout midVerticalScrolViewLayout; + /// <summary> + /// 鏄剧ず鎴块棿鐨剉iew + /// </summary> HorizontalScrolViewLayout btnHorizontalScrolViewLayout; /// <summary> /// 鎸夐敭閰嶇疆鐨勭洰鏍囧垪琛� /// </summary> List<CommonDevice> targetList = new List<CommonDevice>(); + /// <summary> + /// 鎴块棿鍒楄〃 + /// </summary> List<Room> roomList = new List<Room>(); + /// <summary> + /// 娣诲姞璁惧鍚庣殑鍥炶皟 + /// </summary> public Action<List<BindListResponseObj>> actionAddDevicePage; - List<DeviceUI> curTypeDeviceList = new List<DeviceUI> { }; + /// <summary> + /// 褰撳墠璁惧绫诲瀷鍒楄〃 + /// </summary> + List<CommonDevice> curTypeDeviceList = new List<CommonDevice> { }; + /// <summary> + /// 褰撳墠璁惧缁戝畾绫诲瀷 + /// </summary> string curDeviceBindType = ""; + /// <summary> + /// 妤煎眰鏂囨湰 + /// </summary> Button btnFloorText; + /// <summary> + /// 妤煎眰琛� + /// </summary> Dictionary<string, string> dicFloor; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬寜閿ā寮� + /// </summary> Button btnChooseKeyMode; - bool IsInitEntry = false;//鏄惁棣栨杩涘叆璇ラ〉 - List<DeviceUI> currentKeyAllRoomDeviceList = new List<DeviceUI>(); + /// <summary> + /// 鏄惁棣栨杩涘叆璇ラ〉 + /// </summary> + bool IsInitEntry = false; + /// <summary> + /// 褰撳墠鎸夐敭鐨勬墍鏈夋埧闂磋澶囧垪琛� + /// </summary> + List<CommonDevice> currentKeyAllRoomDeviceList = new List<CommonDevice>(); + /// <summary> + /// 涓存椂瀛樺偍鐨勭洰鏍囧垪琛� + /// </summary> Dictionary<string, CommonDevice> oldTargetList = new Dictionary<string, CommonDevice> { }; #endregion + /// <summary> + /// 娣诲姞璁惧鏄剧ず + /// </summary> public void Show() { targetList.Clear(); @@ -79,45 +102,70 @@ { RemoveFromParent(); }; - this.btnTitle.Width = Application.GetRealWidth(1080 - 161 - 200 - 58); + this.btnTitle.Width = Application.GetRealWidth(1080 - 161 - 300); this.btnBack.MouseUpEventHandler += eHandlerBack; this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack; this.MidFrameLayout(this); var btnAddFrameLayout = new FrameLayout { - X = Application.GetRealWidth(830), - Width = Application.GetRealWidth(200), + X = Application.GetRealWidth(619), }; this.titleFrameLayout.AddChidren(btnAddFrameLayout); btnFloorText = new Button { - Width = Application.GetRealWidth(110), + Width = Application.GetRealWidth(300 - 69 - 58), X = Application.GetRealWidth(15), Text = Language.StringByID(R.MyInternationalizationString.FirstFloor), TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 15, + TextSize = 14, + IsBold = true, TextAlignment = TextAlignment.CenterRight, }; btnAddFrameLayout.AddChidren(btnFloorText); + var btnBindDownFrameLayout = new FrameLayout + { + Width = Application.GetMinReal(69 + 58), + X = Application.GetRealWidth(300 - 69 - 58), + }; + btnAddFrameLayout.AddChidren(btnBindDownFrameLayout); + var btnBindDown = new Button { - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(69), - X = Application.GetRealWidth(200 - 77), + Height = Application.GetMinReal(69), + Width = Application.GetMinReal(69), UnSelectedImagePath = "BindPic/BindDown.png", Gravity = Gravity.CenterVertical, }; - btnAddFrameLayout.AddChidren(btnBindDown); - btnBindDown.MouseDownEventHandler += (sender, e) => + btnBindDownFrameLayout.AddChidren(btnBindDown); + + if (Common.Config.Instance.Home.FloorDics.Count == 0) + { + btnBindDown.Visible = false; + } + + EventHandler<MouseEventArgs> eHandlerBindDown = (sender, e) => { SideslipFramelayout(); }; + btnBindDown.MouseDownEventHandler += eHandlerBindDown; + btnBindDownFrameLayout.MouseDownEventHandler += eHandlerBindDown; + if (Common.Config.Instance.Home.FloorDics.Count == 0) + { + btnAddFrameLayout.Width = 0; + } + else + { + btnAddFrameLayout.Width = Application.GetRealWidth(300); + } MidFrameLayoutContent(btnFloorText); } + /// <summary> + /// 涓儴甯冨眬 + /// </summary> async void MidFrameLayoutContent(Button btnFloorText) { #region UI @@ -157,43 +205,61 @@ { Width = Application.GetRealWidth(907), Gravity = Gravity.CenterHorizontal, - Radius = (uint)Application.GetRealHeight(120) / 2, + Radius = (uint)Application.GetRealHeight(127) / 2, TextID = R.MyInternationalizationString.ChooseKeyMode, BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, TextSize = 16, + IsBold = true, }; bottomFrameLayout.AddChidren(btnChooseKeyMode); #endregion #region 鏁版嵁澶勭悊 //鑾峰彇妤煎眰 - dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); + dicFloor = HdlRoomLogic.Current.GetFloorSortList(); currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId(); btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName(); - // 鑾峰彇妤煎眰瀵瑰簲瀵规埧闂� - foreach (var room in Shared.Common.Room.Lists) + + if (Common.Config.Instance.Home.FloorDics.Count == 0) { - if (room.FloorId == currentKey.currentSelectFloorId) + // 鑾峰彇娌℃湁妤煎眰鎴块棿 + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { - roomList.Add(room); + if (string.IsNullOrEmpty(room.FloorId)) + { + roomList.Add(room); + } + } + } + else + { + // 鑾峰彇妤煎眰瀵瑰簲瀵规埧闂� + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) + { + if (room.FloorId == currentKey.currentSelectFloorId) + { + roomList.Add(room); + } } } //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍 GetALlDispalyRoomDeviceList(); if (currentKeyAllRoomDeviceList.Count != 0) { - if (currentKey.bindList != null && currentKey.bindList.Count != 0) + if (currentKey.bindList.Count != 0) { foreach (var devA in currentKeyAllRoomDeviceList) { - var id = devA.CommonDevice?.DeviceAddr + devA.CommonDevice?.DeviceEpoint; + var id = devA.DeviceAddr + devA.DeviceEpoint; var dev = currentKey.bindList.Find(obj => (obj != null) && (obj.BindMacAddr + obj.BindEpoint == id)); if (dev != null) { if (!oldTargetList.ContainsKey(id)) { - oldTargetList.Add(id, devA.CommonDevice); + oldTargetList.Add(id, devA); } } } @@ -226,9 +292,23 @@ btnChooseKeyMode.Enable = true; btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } - + if (targetList.Count == 0) + { + btnChooseKeyMode.Enable = false; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + } + else + { + btnChooseKeyMode.Enable = true; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + } btnChooseKeyMode.MouseUpEventHandler += (sender, e) => { + if (targetList.Count == 0) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindDeviceTargetIsEmpty), Direction = AMPopTipDirection.Up, CloseTime = 1 }.Show(btnChooseKeyMode); + return; + } this.RemoveFromParent(); var chooseKeyModePage = new Shared.Phone.UserCenter.DeviceBind.ChooseKeyModePage(currentKey, curDeviceBindType, targetList); @@ -274,19 +354,20 @@ continue; } roomTempList.Add(room); - if (roomTempList.Count != 0) - { - curRoom = roomTempList[0]; - } + } + + for (int i = 0; i < roomTempList.Count; i++) + { + var room = roomTempList[i]; + curRoom = roomTempList[0]; var btnRoomFrameLayout = new FrameLayout { - Height = Application.GetRealHeight(78), - Width = Application.GetRealWidth(187), - Y = Application.GetRealHeight(58), - X = Application.GetRealWidth(58), - Radius = (uint)Application.GetMinRealAverage(78 / 2), - BorderColor = Shared.Common.ZigbeeColor.Current.XMOrange, + Height = Application.GetMinReal(159), + Width = Application.GetMinReal(255), + Y = Application.GetRealHeight(23), + X = Application.GetRealWidth(5), + BackgroundImagePath = "Item/RoomIconBackground.png", BorderWidth = 1, }; btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayout); @@ -307,12 +388,22 @@ btnRoom.IsSelected = false; if (index == 0) { - btnRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange; - btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange; - btnRoomFrameLayout.BorderWidth = 0; + btnRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite; curentOldRoom = btnRoom; curentOldRoomFrameLayout = btnRoomFrameLayout; + } + if (index == roomTempList.Count - 1 && index > 3) + { + var btnRoomFrameLayoutEmpty = new FrameLayout + { + Height = Application.GetMinReal(159), + Width = Application.GetMinReal(50), + Y = Application.GetRealHeight(23), + X = Application.GetRealWidth(5), + BorderWidth = 1, + }; + btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayoutEmpty); } EventHandler<MouseEventArgs> eHandlerRoom = (sender, e) => { @@ -321,24 +412,9 @@ if (curentOldRoom != null) { curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3; - curentOldRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout; } curentOldRoom = btnRoom; curentOldRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite; - curentOldRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange; - curRoom = room; - currentKey.RoomId = room.Id; - RefreshDeviceList(curRoom); - if (curTypeDeviceList.Count == 0) - { - btnChooseKeyMode.Enable = false; - btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; - } - else - { - btnChooseKeyMode.Enable = true; - btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - } } if (btnRoomFrameLayout.BorderWidth == 1) @@ -346,55 +422,58 @@ if (curentOldRoomFrameLayout != null) { curentOldRoomFrameLayout.BorderWidth = 1; - curentOldRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout; + curentOldRoomFrameLayout.BorderColor = Shared.Common.ZigbeeColor.Current.XMOrange; + curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackground.png"; } curentOldRoomFrameLayout = btnRoomFrameLayout; curentOldRoomFrameLayout.BorderWidth = 0; - curentOldRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange; - curRoom = room; - currentKey.RoomId = room.Id; - RefreshDeviceList(curRoom); - if (curTypeDeviceList.Count == 0) - { - btnChooseKeyMode.Enable = false; - btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; - } - else - { - btnChooseKeyMode.Enable = true; - btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; - } + curentOldRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png"; + } + curRoom = room; + RefreshDeviceList(curRoom); + if (curTypeDeviceList.Count == 0) + { + btnChooseKeyMode.Enable = false; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + } + else + { + btnChooseKeyMode.Enable = true; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + } + if (targetList.Count == 0) + { + btnChooseKeyMode.Enable = false; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + } + else + { + btnChooseKeyMode.Enable = true; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } }; btnRoom.MouseUpEventHandler += eHandlerRoom; btnRoomFrameLayout.MouseUpEventHandler += eHandlerRoom; - - var btnEmpty = new Button - { - Width = Application.GetRealWidth(58), - X = btnRoom.Right, - }; - btnHorizontalScrolViewLayout.AddChidren(btnEmpty); index++; } BindInfo.FinishDisplay(roomTempList, btnChooseKeyMode); RefreshDeviceList(curRoom); } - //褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞� - List<DeviceUI> GetALlDispalyRoomDeviceList() + /// <summary> + /// 褰撳墠鎸夐敭鎵�鏈夋樉绀烘埧闂寸殑鎵�鏈夎澶囧鐞� + /// </summary> + /// <returns></returns> + List<CommonDevice> GetALlDispalyRoomDeviceList() { currentKeyAllRoomDeviceList.Clear(); + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); switch (curDeviceBindType) { case "AddSwitch": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.IsLove == true) - { - var aa = 0; ; - } - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } @@ -402,11 +481,12 @@ { continue; } - foreach (var device in r.DeviceUIList) + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -416,9 +496,9 @@ } break; case "AddDimmer": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } @@ -426,11 +506,12 @@ { continue; } - foreach (var device in r.DeviceUIList) + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -440,9 +521,9 @@ } break; case "AddCurtain": - foreach (var r in Shared.Common.Room.Lists) + foreach (var r in listAllRoom) { - if (r.DeviceUIList.Count == 0) + if (r.ListDevice.Count == 0) { continue; } @@ -450,11 +531,12 @@ { continue; } - foreach (var device in r.DeviceUIList) + foreach (var deviceKeys in r.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); if (dev != null) { currentKeyAllRoomDeviceList.Add(device); @@ -468,7 +550,7 @@ } /// <summary> - /// 鎸夐敭缁戝畾鍦烘櫙琛ㄦ樉绀� + /// 鎸夐敭缁戝畾鐩爣琛ㄦ樉绀� /// </summary> /// <param name="gateway">Gateway.</param> /// <param name="key">Key.</param> @@ -479,11 +561,12 @@ switch (curDeviceBindType) { case "AddSwitch": - foreach (var device in curRoom.DeviceUIList) + foreach (var deviceKeys in curRoom.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6)); if (dev != null) { curTypeDeviceList.Add(device); @@ -492,11 +575,12 @@ } break; case "AddDimmer": - foreach (var device in curRoom.DeviceUIList) + foreach (var deviceKeys in curRoom.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8)); if (dev != null) { curTypeDeviceList.Add(device); @@ -505,11 +589,12 @@ } break; case "AddCurtain": - foreach (var device in curRoom.DeviceUIList) + foreach (var deviceKeys in curRoom.ListDevice) { - if (device.CommonDevice != null) + var device = LocalDevice.Current.GetDevice(deviceKeys); + if (device != null) { - var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); + var dev = device.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258)); if (dev != null) { curTypeDeviceList.Add(device); @@ -521,7 +606,8 @@ int curIndex = 0; foreach (var device in curTypeDeviceList) { - if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0) + curIndex++; + if (device != null && device.IsOnline == 0) { continue; } @@ -530,7 +616,7 @@ { Height = Application.GetRealHeight(23 + 127), BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, }; midVerticalScrolViewLayout.AddChidren(rowLayout); @@ -541,32 +627,35 @@ Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), UnSelectedImagePath = device.IconPath, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, }; rowLayout.AddChidren(devicePic); var btnBindName = new Button() { - Width = Application.GetRealWidth(500 - 120), + Width = Application.GetRealWidth(790), X = devicePic.Right + Application.GetRealWidth(20), TextColor = Shared.Common.ZigbeeColor.Current.TextBlack, TextAlignment = TextAlignment.CenterLeft, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, + Text = Common.LocalDevice.Current.GetDeviceEpointName(device), + TextSize = 15, }; rowLayout.AddChidren(btnBindName); var btnChoose = new Button() { - Width = Application.GetRealWidth(60), - Height = Application.GetRealHeight(60), + Width = Application.GetMinReal(60), + Height = Application.GetMinReal(60), X = Application.GetRealWidth(861 + 81), Y = Application.GetRealHeight(35), SelectedImagePath = "DoorLock/SelectedIcon.png", - //Text = device.CommonDevice?.DeviceEpointName, TextColor = Shared.Common.ZigbeeColor.Current.XMWhite, Visible = false, - Tag = device.CommonDevice?.DeviceEpointName, + Tag = device.DeviceEpointName, + Gravity = Gravity.CenterVertical, }; + rowLayout.AddChidren(btnChoose); var line2 = new Button() @@ -579,7 +668,7 @@ }; rowLayout.AddChidren(line2); - if (curIndex == curRoom.SceneUIList.Count - 1) + if (curIndex == curTypeDeviceList.Count) { line2.Visible = false; } @@ -591,15 +680,32 @@ if (!btnChoose.IsSelected) { - targetList.Remove(device.CommonDevice); + targetList.Remove(device); btnChoose.IsSelected = false; btnChoose.Visible = false; } else { - targetList.Add(device.CommonDevice); - btnChoose.IsSelected = true; - btnChoose.Visible = true; + if (targetList.Count > 7) + { + new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFull), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance); + } + else + { + targetList.Add(device); + btnChoose.IsSelected = true; + btnChoose.Visible = true; + } + } + if (targetList.Count == 0) + { + btnChooseKeyMode.Enable = false; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + } + else + { + btnChooseKeyMode.Enable = true; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; } }; rowLayout.MouseUpEventHandler += hander; @@ -607,30 +713,31 @@ btnBindName.MouseUpEventHandler += hander; btnChoose.MouseUpEventHandler += hander; - if (device.CommonDevice?.DeviceEpointName == "") - { - btnBindName.Text = device.CommonDevice?.DeviceAddr + "_" + device.CommonDevice?.DeviceEpoint; - } - else - { - btnBindName.Text = device.CommonDevice?.DeviceEpointName; - } foreach (var bindedDev in targetList) { - var id = device.CommonDevice?.DeviceAddr + device.CommonDevice?.DeviceEpoint; + var id = device.DeviceAddr + device.DeviceEpoint; if (id == bindedDev.DeviceAddr + bindedDev.DeviceEpoint) { btnChoose.IsSelected = true; btnChoose.Visible = true; } } - - curIndex++; } - //IsInitEntry = false; + if (targetList.Count == 0) + { + btnChooseKeyMode.Enable = false; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMUnSelect; + } + else + { + btnChooseKeyMode.Enable = true; + btnChooseKeyMode.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack; + } } - // 渚ц竟瀵艰埅鏍� + /// <summary> + /// 閫夋嫨妤煎眰鐨勪晶杈规爮 + /// </summary> void SideslipFramelayout() { var dialog = new Dialog @@ -647,8 +754,7 @@ var sidelipFrameLayout = new FrameLayout() { - Height = Application.GetRealHeight(783), - Width = Application.GetRealWidth(449), + Width = Application.GetMinReal(449), Y = Application.GetRealHeight(161), X = Application.GetRealWidth(596), BackgroundImagePath = "DoorLock/SideslipPic.png", @@ -661,27 +767,30 @@ Height = Application.GetRealHeight(58), X = Application.GetRealWidth(81), Y = Application.GetRealHeight(81), - TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, + TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, TextID = R.MyInternationalizationString.SelectFloor, + IsBold = true, }; sidelipFrameLayout.AddChidren(btnSelectFloor); var sidelipVerticalScrolViewLayout = new VerticalScrolViewLayout() { Height = Application.GetRealHeight(600), - Y = btnSelectFloor.Bottom, + Y = btnSelectFloor.Bottom + Application.GetRealHeight(45), }; sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout); Button oldbutton = null; Button oldbuttonText = null; + int count = 0; foreach (var floorId in dicFloor.Keys) { + count++; var rowFrameLayout = new RowLayout() { - Height = Application.GetRealHeight(150), + Height = Application.GetRealHeight(152), LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine, X = Application.GetRealWidth(81), }; @@ -689,9 +798,9 @@ var btnAllMethod = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), - Y = Application.GetRealHeight(55), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), + Gravity = Gravity.CenterVertical, UnSelectedImagePath = "Floor/Floor.png", SelectedImagePath = "Floor/FloorSelected.png", }; @@ -702,7 +811,7 @@ Width = Application.GetRealWidth(311), Height = Application.GetRealHeight(58), X = Application.GetRealWidth(92), - Y = Application.GetRealHeight(69), + Gravity = Gravity.CenterVertical, TextColor = Shared.Common.ZigbeeColor.Current.XMGray3, TextSize = 14, TextAlignment = TextAlignment.CenterLeft, @@ -713,6 +822,7 @@ if (currentKey.currentSelectFloorId == floorId) { btnAllMethod.IsSelected = true; + btnAllMethod.IsBold = true; btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; } @@ -741,10 +851,12 @@ oldbuttonText = btnMethodText; btnMethodText.IsSelected = true; oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack; + oldbuttonText.IsBold = true; } //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂� - foreach (var room in Shared.Common.Room.Lists) + var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { if (room.FloorId == currentKey.currentSelectFloorId) { @@ -770,18 +882,19 @@ rowFrameLayout.MouseUpEventHandler += hander; btnMethodText.MouseUpEventHandler += hander; } - } - public void DeviceInfoChange(CommonDevice common, string typeTag) - { - } - - public void ChangedILogicStatus(ZigBee.Device.Logic logic) - { - } - - public void ChangedISceneStatus(Scene scene) - { + if (count == 0) + { + sidelipFrameLayout.Height = 0; + } + else if (count <= 4 && count > 0) + { + sidelipFrameLayout.Height = Application.GetRealHeight(180) + count * Application.GetRealHeight(150); + } + else + { + sidelipFrameLayout.Height = Application.GetMinReal(780); + } } } } -- Gitblit v1.8.0