From b02e8275a21dc06bf54b66273485d44e007a2616 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期一, 20 七月 2020 14:50:17 +0800
Subject: [PATCH] 新代码
---
ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs | 155 +++++++++++++++++++--------------------------------
1 files changed, 57 insertions(+), 98 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs
index e7de8fc..068bec2 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorTargetSelectForm.cs
@@ -22,7 +22,7 @@
/// <summary>
/// 妗屽竷鎺т欢
/// </summary>
- private FrameLayout frameTable = null;
+ private NormalFrameLayout frameTable = null;
/// <summary>
/// 鎴块棿瀵硅薄
/// </summary>
@@ -66,23 +66,51 @@
var frameBack = new FrameLayout();
frameBack.Height = Application.GetRealHeight(204);
bodyFrameLayout.AddChidren(frameBack);
- var scrolContr = new HorizontalScrolViewLayout();
- scrolContr.Gravity = Gravity.CenterVertical;
- scrolContr.Height = frameBack.Height;
- frameBack.AddChidren(scrolContr);
//妗屽竷鎺т欢
- this.frameTable = new FrameLayout();
+ this.frameTable = new NormalFrameLayout();
frameTable.Y = frameBack.Bottom;
frameTable.Height = bodyFrameLayout.Height - frameBack.Height;
bodyFrameLayout.AddChidren(frameTable);
+
+ //鍏朵粬
+ var tempRoom = new Common.Room();
+ tempRoom.Name = Language.StringByID(R.MyInternationalizationString.uOther);
+ foreach (var mainKeys in this.listEsixtDevice)
+ {
+ var device = Common.LocalDevice.Current.GetDevice(mainKeys);
+ if (device == null)
+ {
+ continue;
+ }
+ //杩欎釜鎵嬫満寮勫紕,閭d釜鎵嬫満寮勫紕鐨勬儏鍐典笅,
+ //閲囩敤鍚庡鎿嶄綔 -> 鏂板缓涓�涓复鏃舵埧闂村璞″嚭鏉�
+ if (HdlRoomLogic.Current.GetRoomByDevice(device) == null)
+ {
+ tempRoom.ListDevice.Add(Common.LocalDevice.Current.GetDeviceMainKeys(device));
+ }
+ }
HdlThreadLogic.Current.RunMainInThread(() =>
{
if (dicRoom.ContainsKey(nowSelectFloorId) == true && dicRoom[nowSelectFloorId].Count > 0)
{
//鍒濆鍖栨埧闂存帶浠�
- this.InitRoomControl(scrolContr, dicRoom[nowSelectFloorId]);
+ var listRoom = new List<Common.Room>();
+ listRoom.AddRange(dicRoom[nowSelectFloorId]);
+ if (tempRoom.ListDevice.Count > 0)
+ {
+ //鏄剧ず鏂板缓鐨勪复鏃舵埧闂村璞�
+ listRoom.Add(tempRoom);
+ }
+ var roomContr = new RoomDeviceGroupMenuControl(listRoom);
+ frameBack.AddChidren(roomContr);
+ roomContr.SelectRoomEvent += (myRoom) =>
+ {
+ //鍒濆鍖栬澶囪
+ this.InitDeviceControl(myRoom);
+ };
+ roomContr.InitControl();
//纭畾鎸夐挳
var btnOk = new BottomClickButton();
@@ -114,7 +142,8 @@
private void InitTopRightMenuControl()
{
//鎴块棿鍒嗙粍
- foreach (var room in Common.Room.Lists)
+ var listRoom = HdlRoomLogic.Current.GetAllListRooms();
+ foreach (var room in listRoom)
{
//妫�娴嬭鎴块棿鑳藉惁鏄剧ず
if (this.CheckCanShowRow(room) == false)
@@ -134,11 +163,22 @@
}
//鑾峰彇妤煎眰
- var dicFloor = Common.Room.CurrentRoom.GetFloorSortList();
+ var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
if (dicFloor.Count == 0)
{
return;
}
+ int indexTemp = 1;
+ foreach (var floorId in dicRoom.Keys)
+ {
+ if (dicFloor.ContainsKey(floorId) == false)
+ {
+ //杩欐槸澶氬彴鎵嬫満鐬庢悶涔嬪悗鍑虹幇鐨勫悗澶囪ˉ鏁戞帾鏂�
+ dicFloor[floorId] = Language.StringByID(R.MyInternationalizationString.uOther) + indexTemp;
+ indexTemp++;
+ }
+ }
+
var btnIconContr = new MostRightIconControl(69, 69);
btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png";
topFrameLayout.AddChidren(btnIconContr);
@@ -161,7 +201,7 @@
btnIconContr.ButtonClickEvent += (sender, e) =>
{
//妤煎眰鑿滃崟
- var contr = new TopRightMenuControl(dicFloor.Count, 449, Language.StringByID(R.MyInternationalizationString.SelectFloor));
+ var contr = new TopRightMenuControl(dicFloor.Count, 2, Language.StringByID(R.MyInternationalizationString.SelectFloor));
foreach (var floorId in dicFloor.Keys)
{
contr.AddRowMenu(dicFloor[floorId], "Floor/Floor.png", "Floor/FloorSelected.png", () =>
@@ -175,88 +215,6 @@
}
};
}
- #endregion
-
- #region 鈻� 鍒濆鍖栨埧闂存帶浠禵____________________
-
- /// <summary>
- /// 鍒濆鍖栨埧闂存帶浠�
- /// </summary>
- /// <param name="scrolContr">瀹瑰櫒</param>
- /// <param name="listRoom">鎴块棿鍒楄〃</param>
- private void InitRoomControl(HorizontalScrolViewLayout scrolContr, List<Common.Room> listRoom)
- {
- string oldRoomId = listRoom[0].Id;
- FrameLayoutControl oldFrameBack = null;
- NormalViewControl oldBtnText = null;
-
- //寮勪釜绌虹殑杩涘幓鍗犱綅缃�
- var frameTemp = new FrameLayout();
- frameTemp.Height = scrolContr.Height;
- frameTemp.Width = ControlCommonResourse.XXLeft / 2;
- scrolContr.AddChidren(frameTemp);
-
- for (int i = 0; i < listRoom.Count; i++)
- {
- var room = listRoom[i];
- //甯﹀浘鐗囩殑
- var frameBack = new FrameLayoutControl();
- frameBack.UseClickStatu = false;
- frameBack.Gravity = Gravity.Center;
- frameBack.Height = Application.GetRealHeight(159);
- frameBack.Width = Application.GetRealWidth(255);
- if (i == 0)
- {
- frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
- oldFrameBack = frameBack;
- }
- else
- {
- frameBack.BackgroundImagePath = "Item/RoomIconBackground.png";
- }
- scrolContr.AddChidren(frameBack);
- //鏂囧瓧
- var btnText = new NormalViewControl(frameBack.Width - (int)(frameBack.Height * 0.47), frameBack.Height, false);
- btnText.Gravity = Gravity.CenterHorizontal;
- btnText.Text = room.Name;
- btnText.TextSize = 12;
- btnText.TextAlignment = TextAlignment.Center;
- if (i == 0)
- {
- btnText.TextColor = UserCenterColor.Current.White;
- oldBtnText = btnText;
- }
- else
- {
- btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
- }
- frameBack.AddChidren(btnText, ChidrenBindMode.BindEventOnly);
-
- frameBack.ButtonClickEvent += (sender, e) =>
- {
- if (oldRoomId == room.Id)
- {
- //鍚屼竴涓笢瑗�
- return;
- }
- oldRoomId = room.Id;
-
- //鐘舵�佸彉鏇�
- frameBack.BackgroundImagePath = "Item/RoomIconBackgroundSelected.png";
- btnText.TextColor = UserCenterColor.Current.White;
-
- oldFrameBack.BackgroundImagePath = "Item/RoomIconBackground.png";
- oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1;
- oldFrameBack = frameBack;
- oldBtnText = btnText;
- //鍒濆鍖栬澶囪
- this.InitDeviceControl(room);
- };
- }
- //鍒濆鍖栬澶囪
- this.InitDeviceControl(listRoom[0]);
- }
-
#endregion
#region 鈻� 鍒濆鍖栬澶囨帶浠禵____________________
@@ -282,9 +240,9 @@
frameTable.AddChidren(listView);
var listDevice = new List<ZigBee.Device.CommonDevice>();
- foreach (var deviceUi in room.DeviceUIList)
+ foreach (var deviceKeys in room.ListDevice)
{
- var device = deviceUi.CommonDevice;
+ var device = Common.LocalDevice.Current.GetDevice(deviceKeys);
//妫�娴嬭澶�
if (this.CheckCanShowDevice(device) == true)
{
@@ -303,7 +261,7 @@
var btnIcon = rowDevice.AddLeftIcon(81);
Common.LocalDevice.Current.SetDeviceIconToControl(btnIcon, device);
//璁惧鍚嶇О
- var btnName = rowDevice.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 600);
+ var btnName = rowDevice.AddLeftCaption(Common.LocalDevice.Current.GetDeviceEpointName(device), 700);
btnName.TextSize = 15;
//閫夋嫨
var btnSelect = rowDevice.AddMostRightEmptyIcon(58, 58);
@@ -357,7 +315,7 @@
/// <returns></returns>
private bool CheckCanShowRow(Common.Room room)
{
- if (room.DeviceUIList.Count == 0)
+ if (room.ListDevice.Count == 0)
{
return false;
}
@@ -365,10 +323,11 @@
{
return false;
}
- foreach (var deviceUi in room.DeviceUIList)
+ foreach (var deviceKeys in room.ListDevice)
{
//妫�娴嬭璁惧鑳藉惁鏄剧ず
- if (this.CheckCanShowDevice(deviceUi.CommonDevice) == false)
+ var device = Common.LocalDevice.Current.GetDevice(deviceKeys);
+ if (this.CheckCanShowDevice(device) == false)
{
continue;
}
--
Gitblit v1.8.0