From dc6493db59dcb0893eac50b72122f94c24056b3f Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 12 十月 2020 14:35:39 +0800
Subject: [PATCH] 新版本
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 456 ++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 289 insertions(+), 167 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
index e47fed7..63679cc 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -1,26 +1,17 @@
锘縰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
+ /// <summary>
+ /// 鏅�氶潰鏉跨殑缁戝畾璁惧鐣岄潰銆愬彲缁戝畾澶氫釜璁惧銆�
+ /// </summary>
+ public class AddDevicePage : BindCommonLayout
{
- /// <summary>
- /// 鎸夐敭妯″紡鎺ユ敹
- /// </summary>
- /// <param name="common">Common.</param>
- public void Changed(CommonDevice common)
- {
- Shared.Application.RunOnMainThread(() =>
- {
- });
- }
-
/// 鏋勯�犲嚱鏁�
/// </summary>
/// <param name="doorLock"></param>
@@ -30,27 +21,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();
@@ -73,45 +105,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
@@ -156,38 +213,56 @@
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);
}
}
}
@@ -220,9 +295,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);
@@ -268,19 +357,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);
@@ -288,7 +378,7 @@
var btnRoom = new Button
{
Height = Application.GetRealHeight(58),
- Width = Application.GetRealWidth(127),
+ Width = Application.GetRealWidth(255),
Y = Application.GetRealHeight(58),
X = Application.GetRealWidth(14),
Text = room.Name,
@@ -301,12 +391,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 > 2)
+ {
+ 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) =>
{
@@ -315,24 +415,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)
@@ -340,55 +425,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;
}
@@ -396,11 +484,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);
@@ -410,9 +499,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;
}
@@ -420,11 +509,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);
@@ -434,9 +524,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;
}
@@ -444,11 +534,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);
@@ -462,7 +553,7 @@
}
/// <summary>
- /// 鎸夐敭缁戝畾鍦烘櫙琛ㄦ樉绀�
+ /// 鎸夐敭缁戝畾鐩爣琛ㄦ樉绀�
/// </summary>
/// <param name="gateway">Gateway.</param>
/// <param name="key">Key.</param>
@@ -473,11 +564,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);
@@ -486,11 +578,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);
@@ -499,11 +592,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);
@@ -515,7 +609,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;
}
@@ -524,7 +619,7 @@
{
Height = Application.GetRealHeight(23 + 127),
BackgroundColor = Shared.Common.ZigbeeColor.Current.XMWhite,
- Tag = device.CommonDevice?.DeviceEpointName,
+ Tag = device.DeviceEpointName,
};
midVerticalScrolViewLayout.AddChidren(rowLayout);
@@ -535,32 +630,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()
@@ -573,7 +671,7 @@
};
rowLayout.AddChidren(line2);
- if (curIndex == curRoom.SceneUIList.Count - 1)
+ if (curIndex == curTypeDeviceList.Count)
{
line2.Visible = false;
}
@@ -585,15 +683,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;
@@ -601,30 +716,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
@@ -641,8 +757,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",
@@ -655,27 +770,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),
};
@@ -683,9 +801,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",
};
@@ -696,7 +814,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,
@@ -707,6 +825,7 @@
if (currentKey.currentSelectFloorId == floorId)
{
btnAllMethod.IsSelected = true;
+ btnAllMethod.IsBold = true;
btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
}
@@ -735,10 +854,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)
{
@@ -764,18 +885,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