From 5727cf0b9b54da0a191dd1e23cb5abf21320fbff Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 25 十一月 2019 10:34:17 +0800 Subject: [PATCH] IOS使用新的项目名称 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs | 79 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 72 insertions(+), 7 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs index 3d529e1..5dc08ac 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalListControl.cs @@ -19,6 +19,25 @@ /// 鏈�澶ч珮搴� /// </summary> private int maxHeight = -1; + /// <summary> + /// 涓�涓病浠�涔堢敤鐨勪笢瑗� + /// </summary> + private FrameLayout frameBackTemp = null; + /// <summary> + /// 鑷畾涔夌殑鑾峰彇瀛愭帶浠朵釜鏁� + /// </summary> + public new int ChildrenCount + { + get + { + int count = base.ChildrenCount; + if (frameBackTemp != null) + { + count--; + } + return count < 0 ? 0 : count; + } + } #endregion @@ -78,27 +97,73 @@ /// <param name="addSpace">褰撶湡瀹為珮搴﹁秴杩囧師鏈夐珮搴︽椂,鏄惁娣诲姞绌虹櫧</param> public void AdjustRealHeight(int bottomSpace, bool addSpace = true) { - if (this.ChildrenCount == 0) + int count = frameBackTemp == null ? this.ChildrenCount : this.ChildrenCount - 1; + if (count <= 0) { - //杩樺師涓烘渶澶ч珮搴� - this.Height = maxHeight; + frameBackTemp?.RemoveFromParent(); + frameBackTemp = null; + if (maxHeight != -1) + { + //杩樺師涓烘渶澶ч珮搴� + this.Height = maxHeight; + } return; } + //璋冩暣鍒楄〃鎺т欢鐨勯珮搴� - var realHeight = this.ChildrenCount * this.GetChildren(0).Height + bottomSpace; + var realHeight = count * this.GetChildren(0).Height + bottomSpace; if (realHeight < this.Height) { + frameBackTemp?.RemoveFromParent(); + frameBackTemp = null; //缂╁皬鎺т欢楂樺害 this.Height = realHeight; } else if (addSpace == true && bottomSpace > 0 && realHeight > this.maxHeight) { - var frameBack = new FrameLayout(); - frameBack.Height = bottomSpace; - this.AddChidren(frameBack); + frameBackTemp?.RemoveFromParent(); + + frameBackTemp = new FrameLayout(); + frameBackTemp.Height = bottomSpace; + this.AddChidren(frameBackTemp); } } + /// <summary> + /// 閽堝搴曢儴鐐瑰嚮鎸夐挳,璋冩暣鎺т欢鐪熷疄楂樺害 + /// </summary> + /// <param name="bottomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�,濡傛灉鍒楄〃鎺т欢鐪熷疄楂樺害娌℃湁瓒呰繃鏃�,浣跨敤姝ゅ��)</param> + public void AdjustRealHeightByBottomButton(int bottomSpace) + { + if (this.ChildrenCount == 0) + { + frameBackTemp?.RemoveFromParent(); + frameBackTemp = null; + if (maxHeight != -1) + { + //杩樺師涓烘渶澶ч珮搴� + this.Height = maxHeight; + } + return; + } + var realHeight = this.ChildrenCount * this.GetChildren(0).Height + this.Y; + var btnTemp = new BottomClickButton(); + if (btnTemp.Yaxis >= realHeight) + { + //娌℃湁瓒呰繃 + this.AdjustRealHeight(bottomSpace); + return; + } + //瓒呰繃鏃�,閲嶇疆鑷虫渶澶� + this.RecoverHeight(); + + //娣诲姞涓存椂鎺т欢,鐩磋嚦鍙互婊戝姩瓒呰繃搴曢儴鎸夐挳 + frameBackTemp?.RemoveFromParent(); + frameBackTemp = new FrameLayout(); + frameBackTemp.Height = ControlCommonResourse.BodyFrameHeight - btnTemp.Y; + this.AddChidren(frameBackTemp); + } + #endregion } } -- Gitblit v1.8.0