From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 07 五月 2020 10:40:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs
new file mode 100755
index 0000000..ed13ec9
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameListControl.cs
@@ -0,0 +1,80 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 鍋氭垚涓�涓垪琛ㄥ瀷鐨凢rameLayout(瀹冧笌VerticalListControl鍚屼竴鎬ц川,浣嗘槸瀹冩槸FrameLayout,瀹冧細鏀瑰彉楂樺害)
+    /// </summary>
+    public class FrameListControl : FrameLayoutBase
+    {
+        /// <summary>
+        /// 琛屼箣闂寸殑闂磋窛
+        /// </summary>
+        public int rowSpace = 0;
+
+        /// <summary>
+        /// 鍋氭垚涓�涓垪琛ㄥ瀷鐨凢rameLayout(瀹冧笌VerticalListControl鍚屼竴鎬ц川,浣嗘槸瀹冩槸FrameLayout,瀹冧細鏀瑰彉楂樺害)
+        /// </summary>
+        /// <param name="i_rowSpace">琛屼箣闂寸殑闂磋窛(杩欎釜鍊兼槸涓庤鎺т欢缁戝畾涓�璧蜂娇鐢ㄧ殑)</param>
+        public FrameListControl(int i_rowSpace = 12)
+        {
+            rowSpace = Application.GetRealHeight(i_rowSpace);
+        }
+
+        /// <summary>
+        /// 娣诲姞瀛愭帶浠�
+        /// </summary>
+        /// <param name="view"></param>
+        public override void AddChidren(View view)
+        {
+            if (view is FrameRowControl || view is RowLayoutControl)
+            {
+                //FrameRowLayout鎺т欢鐨勬椂鍊�,鐩存帴鎵╁ぇ瀹冪殑楂樺害
+                var tempView = this.GetChildren(this.ChildrenCount - 1);
+                if (tempView != null)
+                {
+                    view.Y = tempView.Bottom;
+                }
+                base.AddChidren(view);
+                if (rowSpace > 0)
+                {
+                    view.Height += rowSpace;
+                }
+            }
+            else
+            {
+                //闈濬rameRowLayout鎺т欢鐨勬椂鍊�,璁$畻鐨勬槸鍧愭爣
+                var tempView = this.GetChildren(this.ChildrenCount - 1);
+                if (tempView != null)
+                {
+                    view.Y = tempView.Bottom + rowSpace;
+                }
+                base.AddChidren(view);
+            }
+        }
+
+        /// <summary>
+        /// 璋冩暣鐪熷疄楂樺害
+        /// </summary>
+        /// <param name="bottomSpace">搴曢儴楂樺害(闈炵湡瀹炲��)</param>
+        public void AdjustRealHeight(int bottomSpace = 0)
+        {
+            int bottomHeight = -1;
+
+            for (int i = 0; i < this.ChildrenCount; i++)
+            {
+                var child = this.GetChildren(i);
+                if (child.Bottom > bottomHeight)
+                {
+                    bottomHeight = child.Bottom;
+                }
+            }
+            if (bottomHeight != -1)
+            {
+                this.Height = bottomHeight + bottomSpace;
+            }
+        }
+    }
+}

--
Gitblit v1.8.0