From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 31 十二月 2020 17:01:18 +0800
Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码

---
 ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 146 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs
new file mode 100755
index 0000000..f72f1cb
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/Category/SelectFloorForm.cs
@@ -0,0 +1,146 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+
+namespace Shared.Phone.Category
+{
+    public class SelectFloorForm : UserCenter.FrameLayoutBase
+    {
+
+        public Action<string> FloorAction;
+        /// <summary>
+        /// 褰撳墠浼犺繃鏉ョ殑floorid
+        /// </summary>
+        public string CurFloorId = string.Empty;
+
+        Dialog dialogBackground;
+
+        /// <summary>
+		/// Init
+		/// </summary>
+		public void Init(int x, int y, Device.CommonForm.Direction direction = Device.CommonForm.Direction.Left)
+        {
+            dialogBackground = new Dialog
+            {
+                BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor
+            };
+            dialogBackground.Show();
+            var dialog = new FrameLayout()
+            {
+            };
+            dialogBackground.AddChidren(dialog);
+
+            dialog.MouseUpEventHandler += (sender, e) =>
+            {
+                RemoveView();
+            };
+
+            var bg = new Button
+            {
+                X = Application.GetRealWidth(x),
+                Y = Application.GetRealHeight(y),
+                Width = this.GetPictrueRealSize(449),
+                Height = this.GetPictrueRealSize(773),
+                UnSelectedImagePath = "Floor/SelectFloor_Left_4.png"
+            };
+            dialog.AddChidren(bg);
+
+            var backgroundFL = new FrameLayout
+            {
+                X = Application.GetRealWidth(x),
+                Y = Application.GetRealHeight(y + 23),
+                Width = this.GetPictrueRealSize(449),
+                Height = this.GetPictrueRealSize(773 - 23)
+            };
+            dialog.AddChidren(backgroundFL);
+
+            var tip = new Button
+            {
+                X = Application.GetRealWidth(80),
+                Width = this.GetPictrueRealSize(350),
+                Height = this.GetPictrueRealSize(150),
+                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextID = R.MyInternationalizationString.SelectFloor,
+                TextSize = 14,
+                IsBold = true
+            };
+            backgroundFL.AddChidren(tip);
+
+            var floorLayout = new VerticalScrolViewLayout
+            {
+                Y = tip.Bottom,
+                Width = this.GetPictrueRealSize(449),
+                Height = this.GetPictrueRealSize(600),
+                VerticalScrollBarEnabled = false
+            };
+            backgroundFL.AddChidren(floorLayout);
+
+            var dicFloor = UserCenter.HdlRoomLogic.Current.GetFloorSortList();
+            int floorCount = dicFloor.Count;
+
+            if (floorCount > 0)
+            {
+                string directStr = string.Empty;
+                if (direction == Device.CommonForm.Direction.Right)
+                {
+                    directStr = "Right";
+                }
+                else
+                {
+                    directStr = "Left";
+                }
+
+                if (floorCount > 5)
+                {
+                    bg.UnSelectedImagePath = $"Floor/SelectFloor_{directStr}_5.png";
+                    bg.Height = this.GetPictrueRealSize(150*6+23);
+                    backgroundFL.Height = this.GetPictrueRealSize(150 * 6);
+                    floorLayout.Height = this.GetPictrueRealSize(150 * 5);
+                }
+                else
+                {
+                    bg.UnSelectedImagePath = $"Floor/SelectFloor_{directStr}_{floorCount}.png";
+                    bg.Height = this.GetPictrueRealSize(150 * (floorCount + 1)+23);
+                    backgroundFL.Height = this.GetPictrueRealSize(150 * (floorCount + 1));
+                    floorLayout.Height = this.GetPictrueRealSize(150 * floorCount);
+                }
+
+                foreach (var floor in dicFloor.Keys)
+                {
+                    AddFloor(floorLayout, floor, dicFloor[floor]);
+                }
+            }
+        }
+
+        /// <summary>
+        /// AddFloor
+        /// </summary>
+        /// <param name="verticalScrolView"></param>
+        private void AddFloor(VerticalScrolViewLayout verticalScrolView, string floorId, string floorName)
+        {
+            var frow = new Device.CommonForm.LeftIconButtonRow(449, 150);
+            frow.Width = this.GetPictrueRealSize(449);
+            frow.Height = this.GetPictrueRealSize(150);
+            frow.Init("Floor/Floor.png", "Floor/FloorSelected.png", floorName);
+            verticalScrolView.AddChidren(frow);
+            frow.IsSelected = floorId == this.CurFloorId;
+
+            frow.ButtonClickEvent += (sender, e) =>
+            {
+                RemoveView();
+                FloorAction?.Invoke(floorId);
+            };
+        }
+
+        /// <summary>
+        /// RemoveView
+        /// </summary>
+        private void RemoveView()
+        {
+            dialogBackground.Close();
+            RemoveFromParent();
+        }
+    }
+
+}

--
Gitblit v1.8.0