From a39e669803d485caa354f0c6facde96905c0c44b Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 10 一月 2020 12:00:42 +0800
Subject: [PATCH] 2019.1.10
---
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs | 567 ++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 440 insertions(+), 127 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
index 5cb012c..8384b88 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/AddDevicePage.cs
@@ -16,14 +16,8 @@
/// <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;
});
}
@@ -49,12 +43,19 @@
public Action<List<BindListResponseObj>> actionAddDevicePage;
List<DeviceUI> curTypeDeviceList = new List<DeviceUI> { };
string curDeviceBindType = "";
+ Button btnFloorText;
+ Dictionary<string, string> dicFloor;
+ Button btnChooseKeyMode;
+ bool IsInitEntry = false;//鏄惁棣栨杩涘叆璇ラ〉
+ List<DeviceUI> currentKeyAllRoomDeviceList = new List<DeviceUI>();
+ Dictionary<string, CommonDevice> oldTargetList = new Dictionary<string, CommonDevice> { };
#endregion
public void Show()
{
targetList.Clear();
string titleText = "";
+ IsInitEntry = true;
switch (curDeviceBindType)
{
case "AddSwitch":
@@ -68,48 +69,64 @@
break;
}
this.TopFrameLayout(this, titleText);
-
EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
{
RemoveFromParent();
};
+ this.btnTitle.Width = Application.GetRealWidth(1080 - 161 - 200 - 58);
this.btnBack.MouseUpEventHandler += eHandlerBack;
this.btnBackFrameLayout.MouseUpEventHandler += eHandlerBack;
this.MidFrameLayout(this);
var btnAddFrameLayout = new FrameLayout
{
- X = Application.GetRealWidth(953),
- Height = Application.GetRealHeight(72),
- Width = Application.GetRealWidth(72),
+ X = Application.GetRealWidth(830),
};
this.titleFrameLayout.AddChidren(btnAddFrameLayout);
- var btnFloorText = new Button
+ btnFloorText = new Button
{
- Height = Application.GetRealHeight(84),
- Width = Application.GetRealWidth(58),
- X = Application.GetRealWidth(881),
- Text = "涓�妤�",
+ Width = Application.GetRealWidth(110),
+ X = Application.GetRealWidth(15),
+ Text = Language.StringByID(R.MyInternationalizationString.FirstFloor),
TextColor = Shared.Common.ZigbeeColor.Current.XMBlack,
+ TextSize = 14,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterRight,
};
btnAddFrameLayout.AddChidren(btnFloorText);
var btnBindDown = new Button
{
- Height = Application.GetRealHeight(72),
- Width = Application.GetRealWidth(72),
- //UnSelectedImagePath = "BindPic/BindDown.png",
+ Height = Application.GetRealHeight(69),
+ Width = Application.GetRealWidth(69),
+ X = Application.GetRealWidth(200 - 77),
+ UnSelectedImagePath = "BindPic/BindDown.png",
+ Gravity = Gravity.CenterVertical,
};
btnAddFrameLayout.AddChidren(btnBindDown);
+
+ if (Common.Config.Instance.Home.FloorDics.Count == 0)
+ {
+ btnBindDown.Visible = false;
+ }
+
btnBindDown.MouseDownEventHandler += (sender, e) =>
{
+ SideslipFramelayout();
};
-
- MidFrameLayoutContent();
+ if (Common.Config.Instance.Home.FloorDics.Count == 0)
+ {
+ btnAddFrameLayout.Width = 0;
+ }
+ else
+ {
+ btnAddFrameLayout.Width = Application.GetRealWidth(200);
+ }
+ MidFrameLayoutContent(btnFloorText);
}
- async void MidFrameLayoutContent()
+ async void MidFrameLayoutContent(Button btnFloorText)
{
#region UI
var btnMidTopLayout = new FrameLayout
@@ -120,16 +137,9 @@
btnHorizontalScrolViewLayout = new HorizontalScrolViewLayout
{
+ X = Application.GetRealWidth(58),
};
btnMidTopLayout.AddChidren(btnHorizontalScrolViewLayout);
-
- //var btnLine = new Button
- //{
- // Y = btnMidTopLayout.Bottom,
- // Height = 1,
- // BackgroundColor = Shared.Common.ZigbeeColor.Current.XMTitleLine,
- //};
- //this.midFrameLayout.AddChidren(btnLine);
var btnmidVerticalScrolViewLayoutFrameLayout = new FrameLayout
{
@@ -140,7 +150,6 @@
midVerticalScrolViewLayout = new VerticalScrolViewLayout()
{
-
};
btnmidVerticalScrolViewLayoutFrameLayout.AddChidren(midVerticalScrolViewLayout);
@@ -152,25 +161,85 @@
};
this.midFrameLayout.AddChidren(bottomFrameLayout);
- var btnChooseKeyMode = new Button()
+ btnChooseKeyMode = new Button()
{
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 鏁版嵁澶勭悊
- roomList = Shared.Common.Room.Lists;
+ //鑾峰彇妤煎眰
+ dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
+ currentKey.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
+ btnFloorText.Text = BindInfo.GetCurrentSelectFloorIdName();
+
+ if (Common.Config.Instance.Home.FloorDics.Count == 0)
+ {
+ // 鑾峰彇娌℃湁妤煎眰鎴块棿
+ foreach (var room in Shared.Common.Room.Lists)
+ {
+ if (string.IsNullOrEmpty(room.FloorId))
+ {
+ roomList.Add(room);
+ }
+ }
+ }
+ else
+ {
+ // 鑾峰彇妤煎眰瀵瑰簲瀵规埧闂�
+ foreach (var room in Shared.Common.Room.Lists)
+ {
+ if (room.FloorId == currentKey.currentSelectFloorId)
+ {
+ roomList.Add(room);
+ }
+ }
+ }
+ //棣栨鎷垮埌鎵�鏈夋埧闂翠腑鎸夐敭鐨勭洰鏍囧苟瀛樺偍
+ GetALlDispalyRoomDeviceList();
+ if (currentKeyAllRoomDeviceList.Count != 0)
+ {
+ if (currentKey.bindList.Count != 0)
+ {
+ foreach (var devA in currentKeyAllRoomDeviceList)
+ {
+ var id = devA.CommonDevice?.DeviceAddr + devA.CommonDevice?.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);
+ }
+ }
+ }
+ }
+ }
+ if (oldTargetList.Count != 0)
+ {
+ foreach (var de in oldTargetList.Keys)
+ {
+ var curDev = oldTargetList[de];
+ targetList.Add(curDev);
+ }
+ }
+
+ if (roomList.Count == 0)
+ {
+ return;
+ }
Shared.Common.Room curRoom = roomList[0];
int index = 0;
RefreshRoomList(curRoom, btnChooseKeyMode, ref index);
- RefreshDeviceList(roomList[index]);
+
if (curTypeDeviceList.Count == 0)
{
btnChooseKeyMode.Enable = false;
@@ -181,9 +250,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);
@@ -201,7 +284,7 @@
chooseKeyModePage.action += action;
}
};
- #endregion
+ #endregion
}
/// <summary>
@@ -211,21 +294,36 @@
/// <param name="key">Key.</param>
void RefreshRoomList(Shared.Common.Room curRoom, Button btnChooseKeyMode, ref int index2)
{
+ if (roomList.Count == 0)
+ {
+ return;
+ }
+ btnHorizontalScrolViewLayout.RemoveAll();
Button curentOldRoom = null;
FrameLayout curentOldRoomFrameLayout = null;
int index = 0;
+ var roomTempList = new List<Room>();
for (int i = 0; i < roomList.Count; i++)
{
var room = roomList[i];
+ //妫�娴嬭鎴块棿鑳藉惁鏄剧ず
+ if (BindInfo.CheckCanShowRoom(room, curDeviceBindType) == false)
+ {
+ continue;
+ }
+ roomTempList.Add(room);
+ if (roomTempList.Count != 0)
+ {
+ 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.GetRealHeight(159),
+ Width = Application.GetRealWidth(255),
+ Y = Application.GetRealHeight(23),
+ X = Application.GetRealWidth(5),
+ BackgroundImagePath = "Item/RoomIconBackground.png",
BorderWidth = 1,
};
btnHorizontalScrolViewLayout.AddChidren(btnRoomFrameLayout);
@@ -244,45 +342,13 @@
btnRoomFrameLayout.AddChidren(btnRoom);
btnRoom.IsSelected = false;
- if (currentKey.RoomId == "")
+ if (index == 0)
{
- if (i == index)
- {
- btnRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- btnRoomFrameLayout.BorderWidth = 0;
- btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
- curentOldRoom = btnRoom;
- curentOldRoomFrameLayout = btnRoomFrameLayout;
- }
- else
- {
- btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
- btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
- btnRoomFrameLayout.BorderWidth = 1;
- }
+ btnRoomFrameLayout.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
+ btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
+ curentOldRoom = btnRoom;
+ curentOldRoomFrameLayout = btnRoomFrameLayout;
}
- else
- {
- if (currentKey.RoomId == room.Id)
- {
- btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMWhite;
- btnRoom.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMOrange;
- btnRoomFrameLayout.BorderWidth = 0;
- curentOldRoom = btnRoom;
- curentOldRoomFrameLayout = btnRoomFrameLayout;
- curRoom = room;
- index2 = i;
- }
- else
- {
- btnRoom.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
- btnRoomFrameLayout.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMMidFrameLayout;
- btnRoomFrameLayout.BorderWidth = 1;
- }
- }
-
EventHandler<MouseEventArgs> eHandlerRoom = (sender, e) =>
{
if (!btnRoom.IsSelected)
@@ -290,24 +356,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)
@@ -315,36 +366,125 @@
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;
+ 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 (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()
+ {
+ currentKeyAllRoomDeviceList.Clear();
+ switch (curDeviceBindType)
+ {
+ case "AddSwitch":
+ foreach (var r in Shared.Common.Room.Lists)
+ {
+ if (r.DeviceUIList.Count == 0)
+ {
+ continue;
+ }
+ if (r.IsLove == true)
+ {
+ continue;
+ }
+ foreach (var device in r.DeviceUIList)
+ {
+ if (device.CommonDevice != null)
+ {
+ var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 6));
+ if (dev != null)
+ {
+ currentKeyAllRoomDeviceList.Add(device);
+ }
+ }
+ }
+ }
+ break;
+ case "AddDimmer":
+ foreach (var r in Shared.Common.Room.Lists)
+ {
+ if (r.DeviceUIList.Count == 0)
+ {
+ continue;
+ }
+ if (r.IsLove == true)
+ {
+ continue;
+ }
+ foreach (var device in r.DeviceUIList)
+ {
+ if (device.CommonDevice != null)
+ {
+ var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 8));
+ if (dev != null)
+ {
+ currentKeyAllRoomDeviceList.Add(device);
+ }
+ }
+ }
+ }
+ break;
+ case "AddCurtain":
+ foreach (var r in Shared.Common.Room.Lists)
+ {
+ if (r.DeviceUIList.Count == 0)
+ {
+ continue;
+ }
+ if (r.IsLove == true)
+ {
+ continue;
+ }
+ foreach (var device in r.DeviceUIList)
+ {
+ if (device.CommonDevice != null)
+ {
+ var dev = device.CommonDevice.InClusterList.Find(obj => (obj != null) && (obj.InCluster == 258));
+ if (dev != null)
+ {
+ currentKeyAllRoomDeviceList.Add(device);
+ }
+ }
+ }
+ }
+ break;
+ }
+ return currentKeyAllRoomDeviceList;
}
/// <summary>
@@ -355,7 +495,6 @@
void RefreshDeviceList(Shared.Common.Room curRoom)
{
midVerticalScrolViewLayout.RemoveAll();
-
curTypeDeviceList.Clear();
switch (curDeviceBindType)
{
@@ -402,6 +541,11 @@
int curIndex = 0;
foreach (var device in curTypeDeviceList)
{
+ curIndex++;
+ if (device.CommonDevice != null && device.CommonDevice.IsOnline == 0)
+ {
+ continue;
+ }
#region 缁戝畾琛║I鏄撅紙鏃犳暟鎹鐞嗭級
var rowLayout = new FrameLayout()
{
@@ -429,6 +573,7 @@
TextColor = Shared.Common.ZigbeeColor.Current.TextBlack,
TextAlignment = TextAlignment.CenterLeft,
Tag = device.CommonDevice?.DeviceEpointName,
+ TextSize = 15,
};
rowLayout.AddChidren(btnBindName);
@@ -439,7 +584,6 @@
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,
@@ -456,7 +600,7 @@
};
rowLayout.AddChidren(line2);
- if (curIndex == curRoom.SceneUIList.Count - 1)
+ if (curIndex == curTypeDeviceList.Count)
{
line2.Visible = false;
}
@@ -474,9 +618,26 @@
}
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.CommonDevice);
+ 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;
@@ -492,18 +653,170 @@
{
btnBindName.Text = device.CommonDevice?.DeviceEpointName;
}
-
- foreach (var bindedDev in currentKey.bindList)
+ foreach (var bindedDev in targetList)
{
var id = device.CommonDevice?.DeviceAddr + device.CommonDevice?.DeviceEpoint;
- if (id == bindedDev.BindMacAddr + bindedDev.BindEpoint)
+ if (id == bindedDev.DeviceAddr + bindedDev.DeviceEpoint)
{
btnChoose.IsSelected = true;
btnChoose.Visible = true;
- targetList.Add(device.CommonDevice);
}
}
- curIndex++;
+ }
+ 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;
+ }
+ }
+
+ // 渚ц竟瀵艰埅鏍�
+ void SideslipFramelayout()
+ {
+ var dialog = new Dialog
+ {
+ };
+ dialog.Show();
+
+ var flMain = new FrameLayout { BackgroundColor = 0x00000000 };
+ dialog.AddChidren(flMain);
+ flMain.MouseUpEventHandler += (sender11, e11) =>
+ {
+ dialog.Close();
+ };
+
+ var sidelipFrameLayout = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(783),
+ Width = Application.GetRealWidth(449),
+ Y = Application.GetRealHeight(161),
+ X = Application.GetRealWidth(596),
+ BackgroundImagePath = "DoorLock/SideslipPic.png",
+ };
+ flMain.AddChidren(sidelipFrameLayout);
+
+ var btnSelectFloor = new Button()
+ {
+ Width = Application.GetRealWidth(200),
+ Height = Application.GetRealHeight(58),
+ X = Application.GetRealWidth(81),
+ Y = Application.GetRealHeight(81),
+ 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,
+ };
+ sidelipFrameLayout.AddChidren(sidelipVerticalScrolViewLayout);
+
+ Button oldbutton = null;
+ Button oldbuttonText = null;
+ foreach (var floorId in dicFloor.Keys)
+ {
+ var rowFrameLayout = new RowLayout()
+ {
+ Height = Application.GetRealHeight(150),
+ LineColor = Shared.Common.ZigbeeColor.Current.XMRowLine,
+ X = Application.GetRealWidth(81),
+ };
+ sidelipVerticalScrolViewLayout.AddChidren(rowFrameLayout);
+
+ var btnAllMethod = new Button()
+ {
+ Width = Application.GetRealWidth(81),
+ Height = Application.GetRealHeight(81),
+ Y = Application.GetRealHeight(55),
+ UnSelectedImagePath = "Floor/Floor.png",
+ SelectedImagePath = "Floor/FloorSelected.png",
+ };
+ rowFrameLayout.AddChidren(btnAllMethod);
+
+ var btnMethodText = new Button()
+ {
+ Width = Application.GetRealWidth(311),
+ Height = Application.GetRealHeight(58),
+ X = Application.GetRealWidth(92),
+ Y = Application.GetRealHeight(69),
+ TextColor = Shared.Common.ZigbeeColor.Current.XMGray3,
+ TextSize = 14,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = dicFloor[floorId],
+ };
+ rowFrameLayout.AddChidren(btnMethodText);
+
+ if (currentKey.currentSelectFloorId == floorId)
+ {
+ btnAllMethod.IsSelected = true;
+ btnAllMethod.IsBold = true;
+ btnMethodText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ }
+
+ string curFloorId = floorId;
+ EventHandler<MouseEventArgs> hander = (sender, e) =>
+ {
+ if (currentKey.currentSelectFloorId == curFloorId)
+ {
+ return;
+ }
+ currentKey.currentSelectFloorId = curFloorId;
+ btnFloorText.Text = dicFloor[floorId];
+ roomList.Clear();
+
+ if (!btnMethodText.IsSelected)
+ {
+ if (oldbutton != null)
+ {
+ oldbutton.IsSelected = false;
+ }
+ if (oldbuttonText != null)
+ {
+ oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
+ }
+ oldbutton = btnMethodText;
+ oldbuttonText = btnMethodText;
+ btnMethodText.IsSelected = true;
+ oldbuttonText.TextColor = Shared.Common.ZigbeeColor.Current.XMBlack;
+ oldbuttonText.IsBold = true;
+ }
+
+ //鑾峰彇妤煎眰瀵瑰簲鐨勬埧闂�
+ foreach (var room in Shared.Common.Room.Lists)
+ {
+ if (room.FloorId == currentKey.currentSelectFloorId)
+ {
+ roomList.Add(room);
+ }
+ }
+ Shared.Common.Room curRoom = new Shared.Common.Room();
+ if (roomList.Count != 0)
+ {
+ curRoom = roomList[0];
+ }
+ else
+ {
+ curRoom = new Shared.Common.Room();
+ roomList.Add(curRoom);
+ }
+ int index = 0;
+ RefreshRoomList(curRoom, btnChooseKeyMode, ref index);
+
+ dialog.Close();
+ };
+ btnAllMethod.MouseUpEventHandler += hander;
+ rowFrameLayout.MouseUpEventHandler += hander;
+ btnMethodText.MouseUpEventHandler += hander;
}
}
--
Gitblit v1.8.0