From 3793a9a38ac6c4c4111c2bba3a35a71c30601e82 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 13 四月 2020 19:38:24 +0800
Subject: [PATCH] 上传个东西

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
index 0a70c26..f2add7e 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
@@ -5,7 +5,7 @@
 namespace Shared.Phone.UserCenter
 {
     /// <summary>
-    /// 鍋氭垚涓�涓噷闈㈠彧瑁匜rameLayout鐨勫垪琛ㄥ瀷鎺т欢(瀹冧笉浼氳皟鏁撮珮搴�)
+    /// 鍋氭垚涓�涓噷闈㈠彧瑁匜rameLayout鐨勫垪琛ㄥ瀷鎺т欢(瀹冧笉浼氳皟鏁撮珮搴�,鏈夋甯�)
     /// </summary>
     public class VerticalFrameControl : VerticalScrolViewLayout
     {
@@ -96,13 +96,14 @@
         /// <param name="buttomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�)</param>
         public void AdjustChidrenFrameHeight(FrameLayout frame, int buttomSpace)
         {
-            var child = frame.GetChildren(frame.ChildrenCount - 1);
-            if (child != null)
+            //鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
+            int value = this.GetLocationMostLastViewBottom();
+            if (value != -1)
             {
                 //璋冩暣妗屽竷楂樺害
-                if (frame.Height < child.Bottom + buttomSpace)
+                if (frame.Height < value + buttomSpace)
                 {
-                    frame.Height = child.Bottom + buttomSpace;
+                    frame.Height = value + buttomSpace;
                 }
             }
         }
@@ -112,11 +113,12 @@
         /// </summary>
         public void AdjustTableHeight()
         {
-            var child = this.m_frameTable?.GetChildren(this.m_frameTable.ChildrenCount - 1);
-            if (child != null)
+            //鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
+            int value = this.GetLocationMostLastViewBottom();
+            if (value != -1)
             {
                 //璋冩暣妗屽竷楂樺害
-                this.m_frameTable.Height = child.Bottom;
+                this.m_frameTable.Height = value;
             }
         }
 
@@ -149,6 +151,27 @@
             }
         }
 
+        /// <summary>
+        /// 鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
+        /// </summary>
+        /// <returns></returns>
+        private int GetLocationMostLastViewBottom()
+        {
+            int bottomHeight = -1;
+
+            if (this.m_frameTable == null) { return bottomHeight; }
+           
+            for (int i = 0; i < this.m_frameTable.ChildrenCount; i++)
+            {
+                var child = this.m_frameTable.GetChildren(i);
+                if (child.Bottom > bottomHeight)
+                {
+                    bottomHeight = child.Bottom;
+                }
+            }
+            return bottomHeight;
+        }
+
         #endregion
     }
 }

--
Gitblit v1.8.0