From d4973876384be55df64de45db8a511d1e0330872 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 23 六月 2021 17:06:20 +0800
Subject: [PATCH] 房间小图列表
---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 571 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 401 insertions(+), 170 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index 2f3552a..214f4d8 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -184,16 +184,22 @@
/// <summary>
/// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳
/// </summary>
- //btnSwitchDipaly = new Button()
- //{
- // X = Application.GetRealWidth(335),
- // Y = Application.GetRealHeight(12),
- // Width = Application.GetMinRealAverage(28),
- // Height = Application.GetMinRealAverage(28),
- // UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缂╃暐鍥�
- // SelectedImagePath = "Classification/ToggleDisplayLarge.png",
- //};
- //roomFloorChangeView.AddChidren(btnSwitchDipaly);
+ btnSwitchDipaly = new Button()
+ {
+ X = Application.GetRealWidth(335),
+ Y = Application.GetRealHeight(12),
+ Width = Application.GetMinRealAverage(28),
+ Height = Application.GetMinRealAverage(28),
+ UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缂╃暐鍥�
+ SelectedImagePath = "Classification/ToggleDisplayLarge.png",
+ IsSelected = OnAppConfig.Instance.IsShowBigPicture
+ };
+ roomFloorChangeView.AddChidren(btnSwitchDipaly);
+ btnSwitchDipaly.MouseUpEventHandler = (sender, e) => {
+ OnAppConfig.Instance.IsShowBigPicture = !OnAppConfig.Instance.IsShowBigPicture;
+ btnSwitchDipaly.IsSelected = OnAppConfig.Instance.IsShowBigPicture;
+ LoadRoomRows(true);
+ };
#endregion
/// <summary>
@@ -216,181 +222,406 @@
/// <summary>
/// 鍔犺浇鎴块棿鍒楄〃鍖哄煙
/// </summary>
- void LoadRoomRows()
+ /// <param name="animationEffect">鍔ㄧ敾鏁堟灉</param>
+ void LoadRoomRows(bool animationEffect = false)
{
- roomListView.RemoveAll();
- foreach (var room in roomsShowed)
+ if (animationEffect)
{
- var roomView = new FrameLayout()
+ ///绉诲姩鏂瑰悜
+ var runDirection = OnAppConfig.Instance.IsShowBigPicture ? 1 : -1;
+ for (int i = 0; i < roomListView.ChildrenCount; i++)
{
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(192),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
- Radius = (uint)Application.GetRealWidth(12),
- Tag = room.roomId,
- };
- roomListView.AddChidren(roomView);
+ var childView = roomListView.GetChildren(i);
- var roomViewbg = new ImageView()
- {
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(192),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
- //ImagePath = room.backgroundImage,
- Radius = (uint)Application.GetRealWidth(12),
- };
- roomView.AddChidren(roomViewbg);
-
- //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
- ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
-
- var roomViewbgColor = new Button()
- {
- Radius = (uint)Application.GetRealWidth(12),
- BackgroundColor = 0x19333333,
- };
- roomView.AddChidren(roomViewbgColor);
-
- var btnFloorAndRoomName = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = Application.GetRealHeight(12 - 2),
- Width = Application.GetRealWidth(266),
- Height = Application.GetRealHeight(22 + 2 + 2),
- Text = room.floorName + room.roomName,
- TextAlignment = TextAlignment.CenterLeft,
- TextColor = CSS_Color.MainBackgroundColor,
- TextSize = CSS_FontSize.SubheadingFontSize,
- };
- roomView.AddChidren(btnFloorAndRoomName);
-
- #region 鐜鏁版嵁
- //var environmentalView = new FrameLayout()
- //{
- // Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
- // Height = Application.GetRealHeight(32),
- // Tag = "EnvironmentalView",
- //};
- //roomView.AddChidren(environmentalView);
-
- //Button btnTempIcon = new Button()
- //{
- // X = Application.GetRealWidth(12),
- // Gravity = Gravity.CenterVertical,
- // Width = Application.GetMinRealAverage(16),
- // Height = Application.GetMinRealAverage(16),
- // UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
- //};
- //environmentalView.AddChidren(btnTempIcon);
-
- //var btnTempValues = new Button()
- //{
- // X = btnTempIcon.Right + Application.GetRealWidth(4),
- // Width = Application.GetRealWidth(30),
- // Gravity = Gravity.CenterVertical,
- // TextColor = CSS_Color.MainBackgroundColor,
- // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- // Text = "--掳",
- // TextAlignment = TextAlignment.CenterLeft,
- // Tag = "TempValues"
- //};
- //environmentalView.AddChidren(btnTempValues);
-
- //Button btnHumidityIcon = new Button()
- //{
- // X = btnTempValues.Right + Application.GetRealWidth(2),
- // Gravity = Gravity.CenterVertical,
- // Width = Application.GetMinRealAverage(16),
- // Height = Application.GetMinRealAverage(16),
- // UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
- //};
- //environmentalView.AddChidren(btnHumidityIcon);
-
- //var btnHumidityValues = new Button()
- //{
- // X = btnHumidityIcon.Right + Application.GetRealWidth(4),
- // Width = Application.GetRealWidth(30),
- // Gravity = Gravity.CenterVertical,
- // TextColor = CSS_Color.MainBackgroundColor,
- // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- // Text = "--%",
- // TextAlignment = TextAlignment.CenterLeft,
- // Tag = "HumidityValues"
- //};
- //environmentalView.AddChidren(btnHumidityValues);
-
- //Button btnPm25Icon = new Button()
- //{
- // X = btnHumidityValues.Right + Application.GetRealWidth(2),
- // Gravity = Gravity.CenterVertical,
- // Width = Application.GetMinRealAverage(16),
- // Height = Application.GetMinRealAverage(16),
- // UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
- //};
- //environmentalView.AddChidren(btnPm25Icon);
-
- //var btnPm25Values = new Button()
- //{
- // X = btnPm25Icon.Right + Application.GetRealWidth(4),
- // Width = Application.GetRealWidth(30),
- // Gravity = Gravity.CenterVertical,
- // TextColor = CSS_Color.MainBackgroundColor,
- // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- // Text = "--",
- // TextAlignment = TextAlignment.CenterLeft,
- // Tag = "Pm25Values"
- //};
- //environmentalView.AddChidren(btnPm25Values);
- //roomView.AddChidren(environmentalView);
- #endregion
- var btnAllClose = new Button()
- {
- X = Application.GetRealWidth(282),
- Y = Application.GetRealWidth(126),
- Width = Application.GetMinRealAverage(58),
- Height = Application.GetMinRealAverage(58),
- UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
- Tag = "AllClose",
- Visible = false
- };
- roomView.AddChidren(btnAllClose);
- LoadEvent_CloseAllFunction(btnAllClose, room);
-
- var btn = new Button()
- {
- Height = Application.GetRealWidth(20),
- };
- roomListView.AddChidren(btn);
-
- roomViewbgColor.MouseUpEventHandler += (sender, e) =>
- {
- Action ReloadRoomName = () =>
+ if (childView.GetType() == typeof(FrameLayout))
{
- btnFloorAndRoomName.Text = room.floorName + room.roomName;
- };
+ var roomView = childView as FrameLayout;
- //鎴块棿鍒犻櫎浜嬩欢
- Action deleteAction = () =>
+ //澶у浘鏄剧ず
+ if (OnAppConfig.Instance.IsShowBigPicture)
+ {
+ LoadBigPirtureRoomRow(roomView, roomsShowed[i/2]);
+ }
+ else//鏃犲浘鏄剧ず
+ {
+ LoadSmallPirtureRoomRow(roomView, roomsShowed[i/2]);
+ }
+ }
+
+
+ new System.Threading.Thread(() =>
{
- roomView.RemoveFromParent();
- };
+ //闇�瑕佺Щ鍔ㄧ殑楂樺害
+ var runHeight = Application.GetRealWidth(i / 2 * 142);
- //鎴块棿鑳屾櫙鍥句慨鏀逛簨浠跺洖璋�
- Action modifyImageAction = () =>
+ int runCount = 0;
+ //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴�
+ while (runCount == 9)
+ {
+ System.Threading.Thread.Sleep(100);
+ Application.RunOnMainThread(() =>
+ {
+ if (childView.GetType() == typeof(FrameLayout))
+ {
+ childView.Height += Application.GetRealWidth(14) * runDirection;
+ }
+ if (i > 0)
+ {
+ childView.Y += runDirection * Application.GetRealWidth(14 * i / 2);
+ }
+ });
+ runCount++;
+ }
+ Application.RunOnMainThread(() =>
+ {
+ childView.Y += runHeight * runDirection;
+
+ if (childView.GetType() == typeof(FrameLayout))
+ {
+ if (runDirection == 1)
+ {
+ childView.Height = Application.GetRealWidth(192);
+ }
+ else
+ {
+ childView.Height = Application.GetRealWidth(70);
+ }
+ }
+ });
+ })
+ { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
+
+ //if (childView.GetType() == typeof(Button))
+ //{
+ // new System.Threading.Thread(() => {
+ // //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴�
+ // int runCount = 9;
+ // //闇�瑕佺Щ鍔ㄧ殑楂樺害
+ // var runHeight = i / 2 * Application.GetRealWidth(142);
+
+ // while (runCount == 0)
+ // {
+ // System.Threading.Thread.Sleep(100);
+ // Application.RunOnMainThread(() =>
+ // {
+ // childView.Height += Application.GetRealWidth(14) * runDirection;
+ // });
+ // }
+ // Application.RunOnMainThread(() =>
+ // {
+ // if (runDirection == 1)
+ // {
+ // childView.Height = Application.GetRealWidth(192 + 20);
+ // }
+ // else
+ // {
+ // childView.Height = Application.GetRealWidth(70 + 20);
+ // }
+ // });
+ // })
+ // { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
+ //}
+
+ }
+ }
+ else
+ {
+ roomListView.RemoveAll();
+ foreach (var room in roomsShowed)
+ {
+ //澶у浘鏄剧ず
+ if (OnAppConfig.Instance.IsShowBigPicture)
{
- //roomViewbg.ImagePath = room.backgroundImage;
- ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
- };
+ roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor;
+ var roomView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(192 + 20),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
+ Radius = (uint)Application.GetRealWidth(12),
+ Tag = room.roomId,
+ };
+ roomListView.AddChidren(roomView);
- var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction);
- MainPage.BasePageView.AddChidren(view);
- view.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- };
+ LoadBigPirtureRoomRow(roomView, room);
+ }
+ else//鏃犲浘鏄剧ず
+ {
+ roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor;
+ var roomView = new FrameLayout()
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(70 + 20),
+ Radius = (uint)Application.GetRealWidth(12),
+ Tag = room.roomId,
+ BackgroundColor = CSS_Color.BackgroundColor,
+ };
+ roomListView.AddChidren(roomView);
+ LoadSmallPirtureRoomRow(roomView, room);
+ }
+ }
}
}
/// <summary>
+ /// 鍔犺浇澶у浘鎴块棿row
+ /// </summary>
+ /// <param name="roomView"></param>
+ /// <param name="room"></param>
+ void LoadBigPirtureRoomRow(FrameLayout roomView, Room room)
+ {
+ roomView.RemoveAll();
+ roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor;
+
+ var roomViewbg = new ImageView()
+ {
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(192),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ roomView.AddChidren(roomViewbg);
+
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
+
+ var btnFloorAndRoomName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(12 - 2),
+ Width = Application.GetRealWidth(266),
+ Height = Application.GetRealHeight(22 + 2 + 2),
+ Text = room.floorName + room.roomName,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.MainBackgroundColor,
+ TextSize = CSS_FontSize.SubheadingFontSize,
+ };
+ roomView.AddChidren(btnFloorAndRoomName);
+
+ #region 鐜鏁版嵁
+ //var environmentalView = new FrameLayout()
+ //{
+ // Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
+ // Height = Application.GetRealHeight(32),
+ // Tag = "EnvironmentalView",
+ //};
+ //roomView.AddChidren(environmentalView);
+
+ //Button btnTempIcon = new Button()
+ //{
+ // X = Application.GetRealWidth(12),
+ // Gravity = Gravity.CenterVertical,
+ // Width = Application.GetMinRealAverage(16),
+ // Height = Application.GetMinRealAverage(16),
+ // UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
+ //};
+ //environmentalView.AddChidren(btnTempIcon);
+
+ //var btnTempValues = new Button()
+ //{
+ // X = btnTempIcon.Right + Application.GetRealWidth(4),
+ // Width = Application.GetRealWidth(30),
+ // Gravity = Gravity.CenterVertical,
+ // TextColor = CSS_Color.MainBackgroundColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // Text = "--掳",
+ // TextAlignment = TextAlignment.CenterLeft,
+ // Tag = "TempValues"
+ //};
+ //environmentalView.AddChidren(btnTempValues);
+
+ //Button btnHumidityIcon = new Button()
+ //{
+ // X = btnTempValues.Right + Application.GetRealWidth(2),
+ // Gravity = Gravity.CenterVertical,
+ // Width = Application.GetMinRealAverage(16),
+ // Height = Application.GetMinRealAverage(16),
+ // UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
+ //};
+ //environmentalView.AddChidren(btnHumidityIcon);
+
+ //var btnHumidityValues = new Button()
+ //{
+ // X = btnHumidityIcon.Right + Application.GetRealWidth(4),
+ // Width = Application.GetRealWidth(30),
+ // Gravity = Gravity.CenterVertical,
+ // TextColor = CSS_Color.MainBackgroundColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // Text = "--%",
+ // TextAlignment = TextAlignment.CenterLeft,
+ // Tag = "HumidityValues"
+ //};
+ //environmentalView.AddChidren(btnHumidityValues);
+
+ //Button btnPm25Icon = new Button()
+ //{
+ // X = btnHumidityValues.Right + Application.GetRealWidth(2),
+ // Gravity = Gravity.CenterVertical,
+ // Width = Application.GetMinRealAverage(16),
+ // Height = Application.GetMinRealAverage(16),
+ // UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
+ //};
+ //environmentalView.AddChidren(btnPm25Icon);
+
+ //var btnPm25Values = new Button()
+ //{
+ // X = btnPm25Icon.Right + Application.GetRealWidth(4),
+ // Width = Application.GetRealWidth(30),
+ // Gravity = Gravity.CenterVertical,
+ // TextColor = CSS_Color.MainBackgroundColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // Text = "--",
+ // TextAlignment = TextAlignment.CenterLeft,
+ // Tag = "Pm25Values"
+ //};
+ //environmentalView.AddChidren(btnPm25Values);
+ //roomView.AddChidren(environmentalView);
+ #endregion
+
+ var roomViewbgColor = new Button()
+ {
+ Radius = (uint)Application.GetRealWidth(12),
+ BackgroundColor = 0x19333333,
+ };
+ roomView.AddChidren(roomViewbgColor);
+
+ var btnAllClose = new Button()
+ {
+ X = Application.GetRealWidth(282),
+ Y = Application.GetRealWidth(126),
+ Width = Application.GetMinRealAverage(48),
+ Height = Application.GetMinRealAverage(48),
+ UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
+ Tag = "AllClose",
+ Visible = false
+ };
+ roomView.AddChidren(btnAllClose);
+ LoadEvent_CloseAllFunction(btnAllClose, room);
+
+ var btn = new Button()
+ {
+ Y = Application.GetRealWidth(192),
+ Height = Application.GetRealWidth(20),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+ roomView.AddChidren(btn);
+
+ roomViewbgColor.MouseUpEventHandler += (sender, e) =>
+ {
+ Action ReloadRoomName = () =>
+ {
+ btnFloorAndRoomName.Text = room.floorName + room.roomName;
+ };
+
+ //鎴块棿鍒犻櫎浜嬩欢
+ Action deleteAction = () =>
+ {
+ roomView.RemoveFromParent();
+ };
+
+ //鎴块棿鑳屾櫙鍥句慨鏀逛簨浠跺洖璋�
+ Action modifyImageAction = () =>
+ {
+ //roomViewbg.ImagePath = room.backgroundImage;
+ ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
+ };
+
+ var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction);
+ MainPage.BasePageView.AddChidren(view);
+ view.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+ /// <summary>
+ /// 璁拌浇灏忓浘鎴块棿row
+ /// </summary>
+ void LoadSmallPirtureRoomRow(FrameLayout roomView, Room room)
+ {
+ roomView.RemoveAll();
+ roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor;
+
+ var btnRoomName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(12 - 2),
+ Width = Application.GetRealWidth(266),
+ Height = Application.GetRealHeight(52),
+ Text = room.roomName,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ };
+ roomView.AddChidren(btnRoomName);
+
+ var btnFloorName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(42),
+ Width = Application.GetRealWidth(266),
+ Height = Application.GetRealHeight(46),
+ Text = room.floorName,
+ TextAlignment = TextAlignment.CenterLeft,
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+ };
+ roomView.AddChidren(btnFloorName);
+
+ var roomViewbg = new ImageView()
+ {
+ Width = Application.GetRealWidth(343),
+ Height = Application.GetRealWidth(70),
+ Radius = (uint)Application.GetRealWidth(12),
+ };
+ roomView.AddChidren(roomViewbg);
+
+ var btnAllClose = new Button()
+ {
+ X = Application.GetRealWidth(288),
+ Gravity = Gravity.CenterVertical,
+ Width = Application.GetMinRealAverage(58),
+ Height = Application.GetMinRealAverage(58),
+ UnSelectedImagePath = "Classification/Room/AllCloseIcon2.png",
+ Tag = "AllClose",
+ Visible = false
+ };
+ roomView.AddChidren(btnAllClose);
+ LoadEvent_CloseAllFunction(btnAllClose, room);
+
+ var btn = new Button()
+ {
+ Y = Application.GetRealWidth(70),
+ Height = Application.GetRealWidth(20),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+ roomView.AddChidren(btn);
+
+ roomViewbg.MouseUpEventHandler += (sender, e) =>
+ {
+ Action ReloadRoomName = () =>
+ {
+ btnFloorName.Text = room.floorName;
+ btnRoomName.Text = room.roomName;
+ };
+
+ //鎴块棿鍒犻櫎浜嬩欢
+ Action deleteAction = () =>
+ {
+ roomView.RemoveFromParent();
+ };
+ Action action = () =>
+ {
+ };
+
+ var view = new RoomPage(room, ReloadRoomName, deleteAction, action);
+ MainPage.BasePageView.AddChidren(view);
+ view.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+
+
+ /// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃鐣岄潰
/// </summary>
void LoadFunctionPageView()
--
Gitblit v1.8.0