From 611786df5108dca0bdcff03834cc285cba4b8e61 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 13 十月 2020 16:48:43 +0800
Subject: [PATCH] 2020-10-13-1
---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 334 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 255 insertions(+), 79 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index e0eb990..8e96290 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -11,7 +11,7 @@
{
#region 鎺т欢鍒楄〃
- FrameLayout bodyView;
+ static ClassificationPage bodyView;
#region 椤堕儴鎺т欢
/// <summary>
/// 鎴块棿鍒嗛〉
@@ -40,11 +40,11 @@
/// <summary>
/// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
/// </summary>
- Button btnFoorDownIcon;
+ Button btnFloorDownIcon;
/// <summary>
/// 妤煎眰鏄剧ず
/// </summary>
- Button btnFoor;
+ Button btnFloor;
/// <summary>
/// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳
/// </summary>
@@ -54,10 +54,6 @@
/// 鎴块棿鍒楄〃鍖哄煙
/// </summary>
VerticalScrolViewLayout roomListView;
- /// <summary>
- /// 鎴块棿鍖哄煙闆嗗悎
- /// </summary>
- List<FrameLayout> roomViewList;
#endregion
#region 鍔熻兘鍖哄煙
@@ -68,9 +64,14 @@
#endregion
+
+ List<Room> roomsShowed;
+
public ClassificationPage()
{
bodyView = this;
+ roomsShowed = new List<Room>();
+ roomsShowed.AddRange(DB_ResidenceData.residenceData.rooms);
}
public void LoadPage()
@@ -116,7 +117,7 @@
contentPageView = new PageLayout()
{
Y = Application.GetRealHeight(64),
- Height = Application.GetRealHeight(667 - 64-49+20),
+ Height = Application.GetRealHeight(667 - 64-49+30),
BackgroundColor = CSS_Color.MainBackgroundColor,
IsShowPoint = false
};
@@ -155,7 +156,7 @@
/// <summary>
/// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
/// </summary>
- btnFoorDownIcon = new Button()
+ btnFloorDownIcon = new Button()
{
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
@@ -163,22 +164,22 @@
Y = Application.GetRealHeight(18),
UnSelectedImagePath = "Public/DownIcon.png",
};
- roomFloorChangeView.AddChidren(btnFoorDownIcon);
+ roomFloorChangeView.AddChidren(btnFloorDownIcon);
/// <summary>
/// 妤煎眰鏄剧ず
/// </summary>
- btnFoor = new Button()
+ btnFloor = new Button()
{
- X = btnFoorDownIcon.Right,
+ X = btnFloorDownIcon.Right,
Y = Application.GetRealHeight(18),
Width = Application.GetRealWidth(200),
Height = Application.GetMinRealAverage(16),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = UserConfig.Instance.CurFoor,
+ Text = OnAppConfig.Instance.CurFoor,
};
- roomFloorChangeView.AddChidren(btnFoor);
+ roomFloorChangeView.AddChidren(btnFloor);
/// <summary>
/// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳
/// </summary>
@@ -194,7 +195,6 @@
roomFloorChangeView.AddChidren(btnSwitchDipaly);
#endregion
-
/// <summary>
/// 鎴块棿鍒楄〃鍖哄煙
/// </summary>
@@ -202,35 +202,47 @@
{
Y = roomFloorChangeView.Bottom,
Height = Application.GetRealHeight(497 + 10 + 30),
- BackgroundColor = CSS_Color.MainBackgroundColor,
+ //BackgroundColor = CSS_Color.MainBackgroundColor,
};
roomPageView.AddChidren(roomListView);
- /// <summary>
- /// 鎴块棿鍖哄煙闆嗗悎
- /// </summary>
- roomViewList = new List<FrameLayout>();
+ LoadRoomRows();
+ roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//澶珮瑙嗗浘锛屽皢瀵艰埅浜嗛伄鎸$殑閮ㄥ垎瀹屾暣鏄剧ず
+ #endregion
- foreach (var room in DB_ResidenceData.residenceData.rooms)
+ LoadDialog_ChangeFloor();
+ }
+
+ /// <summary>
+ /// 鍔犺浇鎴块棿鍒楄〃鍖哄煙
+ /// </summary>
+ void LoadRoomRows ()
+ {
+ roomListView.RemoveAll();
+ foreach (var room in roomsShowed)
{
var roomView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = Application.GetRealHeight(184),
- Radius = (uint)Application.GetRealHeight(12),
- BorderColor = 0x00000000,
- BorderWidth = 1,
+ Radius = (uint)Application.GetRealWidth(12),
+ BackgroundColor = 0xFFFF0000,
+ Tag = room.sid,
};
roomListView.AddChidren(roomView);
- var roomViewbg = new Button()
+ var roomViewbg = new ImageView()
{
- UnSelectedImagePath = room.backgroundImage,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealHeight(184),
+ ImagePath = room.backgroundImage,
+ Radius = (uint)Application.GetRealWidth(12),
};
roomView.AddChidren(roomViewbg);
var roomViewbgColor = new Button()
{
+ Radius = (uint)Application.GetRealWidth(12),
BackgroundColor = 0x19333333,
};
roomView.AddChidren(roomViewbgColor);
@@ -248,7 +260,6 @@
};
roomView.AddChidren(btnFloorAndRoomName);
-
#region 鐜鏁版嵁
var environmentalView = new FrameLayout()
{
@@ -264,7 +275,7 @@
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
- UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
+ UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
};
environmentalView.AddChidren(btnTempIcon);
@@ -287,7 +298,7 @@
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
- UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
+ UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
};
environmentalView.AddChidren(btnHumidityIcon);
@@ -310,7 +321,7 @@
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
- UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
+ UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
};
environmentalView.AddChidren(btnPm25Icon);
@@ -335,22 +346,18 @@
Y = Application.GetRealHeight(126),
Width = Application.GetMinRealAverage(58),
Height = Application.GetMinRealAverage(58),
- UnSelectedImagePath = "",
- SelectedImagePath = "Classification/Room/AllCloseIcon.png",
+ UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
+ Tag = "AllClose",
+ Visible = false
};
roomView.AddChidren(btnAllClose);
-#if DEBUG
- btnAllClose.IsSelected = true;
-#endif
+ LoadEvent_CloseAllFunction(btnAllClose, room);
var btn = new Button()
{
Height = Application.GetRealHeight(20),
};
roomListView.AddChidren(btn);
-
-
- roomViewList.Add(roomView);
roomViewbgColor.MouseUpEventHandler += (sender, e) => {
var view = new RoomPage(room);
@@ -360,10 +367,6 @@
};
}
-
- roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//澶珮瑙嗗浘锛屽皢瀵艰埅浜嗛伄鎸$殑閮ㄥ垎瀹屾暣鏄剧ず
- #endregion
-
}
/// <summary>
@@ -417,8 +420,9 @@
FrameLayout functionView = new FrameLayout()
{
Height = Application.GetRealWidth(161),
- Radius = (uint)Application.GetRealHeight(6),
+ Radius = (uint)Application.GetRealWidth(6),
BackgroundColor = CSS_Color.MainBackgroundColor,
+ Tag = item + "_View",
Y = index % 2 == 1 ? lastY2 : lastY1
};
//楂樺害绋嶉珮鐨剉iew
@@ -466,12 +470,14 @@
int functionCount = 0;
+ int functionOnCount = 0;
switch (item)
{
- case "Light":
+ case ShowFunction.Light:
#region Light
btnName.TextID = StringId.Lights;
functionCount = DB_ResidenceData.residenceData.functionList.lights.Count;
+ functionOnCount = DB_ResidenceData.residenceData.functionList.lights.FindAll((obj) => obj.on_off == "on" ).Count;
Button btnLightPower = new Button()
{
X = Application.GetRealWidth(120),
@@ -480,10 +486,11 @@
Height = Application.GetRealWidth(32),
SelectedImagePath = "Public/PowerOpen.png",
UnSelectedImagePath = "Public/PowerClose.png",
+ IsSelected = functionCount == functionOnCount
};
functionView.AddChidren(btnLightPower);
btnLightPower.MouseUpEventHandler = (sender, e) => {
- LoadEvent_LightsPower(btnLightPower);
+ LoadEvent_SwitchFunction(btnLightPower,item);
};
btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
var skipView = new FunctionPage();
@@ -493,10 +500,11 @@
};
#endregion
break;
- case "AC":
+ case ShowFunction.AC:
#region AC
btnName.TextID = StringId.AC;
functionCount = DB_ResidenceData.residenceData.functionList.aCs.Count;
+ functionOnCount = DB_ResidenceData.residenceData.functionList.aCs.FindAll((obj) => obj.on_off == "on" ).Count;
Button btnAcPower = new Button()
{
X = Application.GetRealWidth(120),
@@ -505,10 +513,11 @@
Height = Application.GetRealWidth(32),
SelectedImagePath = "Public/PowerOpen.png",
UnSelectedImagePath = "Public/PowerClose.png",
+ IsSelected = functionCount == functionOnCount
};
functionView.AddChidren(btnAcPower);
btnAcPower.MouseUpEventHandler = (sender, e) => {
- LoadEvent_LightsPower(btnAcPower);
+ LoadEvent_SwitchFunction(btnAcPower, item);
};
btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
var skipView = new FunctionPage();
@@ -518,11 +527,11 @@
};
#endregion
break;
- case "Curtain":
+ case ShowFunction.Curtain:
#region Curtain
btnName.TextID = StringId.Curtain;
functionCount = DB_ResidenceData.residenceData.functionList.curtains.Count;
-
+ functionOnCount = DB_ResidenceData.residenceData.functionList.curtains.FindAll((obj) => obj.on_off == "on").Count;
Button btnClose;
btnClose = new Button()
{
@@ -532,6 +541,7 @@
Height = Application.GetRealWidth(32),
UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
+ IsSelected = functionCount == functionOnCount
};
functionView.AddChidren(btnClose);
@@ -556,65 +566,231 @@
};
#endregion
break;
- case "FloorHeating":
+ case ShowFunction.FloorHeating:
+ #region 鍦扮儹
btnName.TextID = StringId.FloorHeating;
+ functionCount = DB_ResidenceData.residenceData.functionList.floorHeatings.Count;
+ functionOnCount = DB_ResidenceData.residenceData.functionList.floorHeatings.FindAll((obj) => obj.on_off == "on").Count;
+ Button btnFhPower = new Button()
+ {
+ X = Application.GetRealWidth(120),
+ Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ SelectedImagePath = "Public/PowerOpen.png",
+ UnSelectedImagePath = "Public/PowerClose.png",
+ IsSelected = functionCount == functionOnCount
+ };
+ functionView.AddChidren(btnFhPower);
+ btnFhPower.MouseUpEventHandler = (sender, e) => {
+ LoadEvent_SwitchFunction(btnFhPower, item);
+ };
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+ var skipView = new FunctionPage();
+ MainPage.BasePageView.AddChidren(skipView);
+ skipView.LoadPage(StringId.FloorHeating);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ #endregion
break;
- case "DoorLock":
+ case ShowFunction.DoorLock:
btnName.TextID = StringId.DoorLock;
break;
- case "Electric":
+ case ShowFunction.Electric:
+ #region 鐢靛櫒
btnName.TextID = StringId.Electric;
+ functionCount = DB_ResidenceData.residenceData.functionList.electricals.Count;
+ functionOnCount = DB_ResidenceData.residenceData.functionList.electricals.FindAll((obj) => obj.on_off == "on").Count;
+ Button btnElectricPower = new Button()
+ {
+ X = Application.GetRealWidth(120),
+ Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ SelectedImagePath = "Public/PowerOpen.png",
+ UnSelectedImagePath = "Public/PowerClose.png",
+ IsSelected = functionCount == functionOnCount
+ };
+ functionView.AddChidren(btnElectricPower);
+ btnElectricPower.MouseUpEventHandler = (sender, e) => {
+ LoadEvent_SwitchFunction(btnElectricPower, item);
+ };
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+ var skipView = new FunctionPage();
+ MainPage.BasePageView.AddChidren(skipView);
+ skipView.LoadPage(StringId.Electric);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ #endregion
break;
- case "EnergyMonitoring":
+ case ShowFunction.EnergyMonitoring:
btnName.TextID = StringId.EnergyMonitoring;
break;
- case "Environmental":
- btnName.TextID = StringId.Environmental;
+ case ShowFunction.Environmental:
+ #region 鐜鏁版嵁
+ btnName.TextID = StringId.EnvironmentalData;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+ var skipView = new EnvironmentalSciencePage();
+ MainPage.BasePageView.AddChidren(skipView);
+ skipView.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ #endregion
break;
- case "FreshAir":
+ case ShowFunction.FreshAir:
btnName.TextID = StringId.FreshAir;
break;
- case "Music":
+ case ShowFunction.Music:
btnName.TextID = StringId.Music;
+ functionCount = Music.A31MusicModel.A31MusicModelList.Count;
+ functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.on_off == "on").Count;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ {
+ var musicMain = new Music.MusicMain();
+ MainPage.BasePageView.AddChidren(musicMain);
+ musicMain.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
break;
- case "Panel":
+ case ShowFunction.Panel:
btnName.TextID = StringId.Panel;
break;
- case "SecurityMonitoring":
+ case ShowFunction.SecurityMonitoring:
btnName.TextID = StringId.SecurityMonitoring;
break;
- case "Sensor":
+ case ShowFunction.Sensor:
btnName.TextID = StringId.Sensor;
+
break;
- case "VideoIntercom":
+ case ShowFunction.VideoIntercom:
btnName.TextID = StringId.VideoIntercom;
break;
}
-
- Button btnFunctionCount = new Button()
+ if (item != ShowFunction.Environmental)
{
- X = Application.GetRealWidth(16),
- Y = btnName.Bottom,
- Width = Application.GetRealWidth(120),
- Height = Application.GetRealHeight(24),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.TextFontSize,
- TextAlignment = TextAlignment.CenterLeft,
- Text = "0/" + functionCount.ToString()
- };
- functionView.AddChidren(btnFunctionCount);
+ Button btnFunctionCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = functionOnCount + "/" + functionCount,
+ Tag = item + "_onCount"
+ };
+ functionView.AddChidren(btnFunctionCount);
-
-
-
+ }
index++;
}
-
-
-
#endregion
+ }
+
+ #region 鍒囨崲妤煎眰
+ /// <summary>
+ /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢
+ /// </summary>
+ void LoadDialog_ChangeFloor()
+ {
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+ var dialog = new Dialog();
+ var dialogBody = new FrameLayout();
+ dialog.AddChidren(dialogBody);
+ dialogBody.MouseUpEventHandler += (sender1, e1) => {
+ dialog.Close();
+ };
+
+ var dispalyView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(10),
+ Y = Application.GetRealHeight(100),
+ Width = Application.GetRealWidth(160),
+ Height = Application.GetRealHeight(203),
+ BackgroundImagePath = "PersonalCenter/HomeListbg.png",
+ };
+ dialogBody.AddChidren(dispalyView);
+
+ var contentView = new VerticalScrolViewLayout()
+ {
+ X = Application.GetRealWidth(8),
+ Y = Application.GetRealHeight(15),
+ Width = Application.GetRealWidth(150),
+ Height = Application.GetRealHeight(45 * 4),
+ };
+ dispalyView.AddChidren(contentView);
+
+ List<string> chooseList = new List<string>();
+ chooseList.Add(Language.StringByID(StringId.All));
+ foreach (var f in DB_ResidenceData.residenceData.floors)
+ {
+ chooseList.Add(f.name);
+ }
+
+ foreach (var floor in chooseList)
+ {
+ if (floor != Language.StringByID(StringId.All))
+ {
+ contentView.AddChidren(new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(1),
+ BackgroundColor = CSS.CSS_Color.BackgroundColor
+ });
+ }
+ var btnHomeName = new Button()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ Height = Application.GetRealHeight(44),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+ SelectedTextColor = CSS.CSS_Color.MainColor,
+ Text = floor,
+ TextSize = CSS.CSS_FontSize.SubheadingFontSize,
+ IsSelected = btnFloor.Text == floor,
+ IsMoreLines = true,
+ Tag = floor
+ };
+ contentView.AddChidren(btnHomeName);
+
+ btnHomeName.MouseUpEventHandler += (senderH, en) =>
+ {
+ dialog.Close();
+ btnFloor.Text = floor;
+ roomsShowed.Clear();
+ if (floor == Language.StringByID(StringId.All))
+ {
+ roomsShowed.AddRange(DB_ResidenceData.residenceData.rooms);
+ }
+ else
+ {
+ foreach (var room in DB_ResidenceData.residenceData.rooms)
+ {
+ if (room.floor == floor)
+ {
+ roomsShowed.Add(room);
+ }
+ }
+ }
+ LoadRoomRows();
+ };
+ }
+
+ dialog.Show();
+ };
+
+ btnFloor.MouseUpEventHandler = eventHandler;
+ btnFloorDownIcon.MouseUpEventHandler = eventHandler;
+ }
+
+ void LoadEvent_ChangeFloorDisplay()
+ {
}
+ #endregion
}
}
--
Gitblit v1.8.0