From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs | 75 ++++++++++++++++++++++++++++++-------
1 files changed, 61 insertions(+), 14 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
index 8038b83..d307b28 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/ListViewLayoutControls/VerticalFrameControl.cs
@@ -20,7 +20,7 @@
/// </summary>
private FrameLayout m_frameTable = null;
/// <summary>
- /// 妗屽竷鎺т欢
+ /// 妗屽竷鎺т欢(杩欎釜涓滆タ涓嶈兘鍒狅紝鍥犱负鏈変簺鐣岄潰闇�瑕佷粬鐨勬甯�)
/// </summary>
public FrameLayout frameTable
{
@@ -30,6 +30,11 @@
return m_frameTable;
}
}
+
+ /// <summary>
+ /// 涓�涓复鏃剁殑涓滆タ
+ /// </summary>
+ private FrameLayout frameBackTemp = null;
#endregion
@@ -42,6 +47,13 @@
public VerticalFrameControl(int i_rowSpace = 0)
{
rowSpace = Application.GetRealHeight(i_rowSpace);
+#if iOS
+ //鑷姩鍋忕Щ鍙栨秷
+ if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0))
+ {
+ (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never;
+ }
+#endif
}
/// <summary>
@@ -56,7 +68,7 @@
this.m_frameTable = new FrameLayout();
this.m_frameTable.Width = this.Width;
this.m_frameTable.Height = this.Height;
- this.AddChidren(this.m_frameTable);
+ base.AddChidren(this.m_frameTable);
}
#endregion
@@ -64,24 +76,25 @@
#region 鈻� 娣诲姞瀛愭帶浠禵________________________
/// <summary>
- /// 娣诲姞Frame瀛愭帶浠�
+ /// 娣诲姞Frame瀛愭帶浠�(娉ㄦ剰,瀹冩槸寰�涓嬪姞鎺т欢,鍙細鏀瑰彉鍧愭爣,妗屽竷澶у皬浼氬鍔�)
/// </summary>
/// <param name="view"></param>
- public void AddChidrenFrame(FrameLayout frame)
+ public override void AddChidren(View view)
{
//鍒濆鍖栨甯冩帶浠�
this.InitFrameTable();
- var child = this.m_frameTable.GetChildren(this.m_frameTable.ChildrenCount - 1);
- if (child != null)
+ //鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
+ int value = this.GetLocationMostLastViewBottom(this.m_frameTable);
+ if (value != -1)
{
- frame.Y = child.Bottom + rowSpace;
+ view.Y = value + rowSpace;
}
- this.m_frameTable.AddChidren(frame);
+ this.m_frameTable.AddChidren(view);
//璋冩暣妗屽竷楂樺害
- if (this.m_frameTable.Height < frame.Bottom)
+ if (this.m_frameTable.Height < view.Bottom)
{
- this.m_frameTable.Height = frame.Bottom;
+ this.m_frameTable.Height = view.Bottom;
}
}
@@ -90,7 +103,7 @@
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
- /// 璋冩暣瀛怓rameLayout鐨勯珮搴�
+ /// 璋冩暣瀛怓rameLayout鐨勯珮搴�(鍙墿澶�,涓嶇缉灏�)
/// </summary>
/// <param name="frame"></param>
/// <param name="buttomSpace">搴曢儴绌虹櫧闂磋窛(鐪熷疄鍊�)</param>
@@ -109,10 +122,31 @@
}
/// <summary>
+ /// 璋冩暣瀛怓rameLayout鐨勭湡瀹為珮搴�
+ /// </summary>
+ /// <param name="frame"></param>
+ public void AdjustChidrenFrameRealHeight(FrameLayout frame)
+ {
+ //鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
+ int value = this.GetLocationMostLastViewBottom(frame);
+ if (value != -1)
+ {
+ //璋冩暣妗屽竷楂樺害
+ frame.Height = value;
+ }
+ }
+
+ /// <summary>
/// 璋冩暣妗屽竷楂樺害
/// </summary>
public void AdjustTableHeight()
{
+ //2020.05.25杩藉姞
+ if (this.frameBackTemp != null && this.frameBackTemp.Parent != null)
+ {
+ this.frameBackTemp.RemoveFromParent();
+ }
+
//鑾峰彇鍧愭爣搴曢儴鏈�涓嬮潰鐨勯偅涓帶浠剁殑搴曢儴鍧愭爣
int value = this.GetLocationMostLastViewBottom(this.m_frameTable);
if (value != -1)
@@ -120,14 +154,25 @@
//璋冩暣妗屽竷楂樺害
this.m_frameTable.Height = value;
}
+ else
+ {
+ //杩樺師涓哄師鏉ョ殑楂樺害
+ this.RecoverTableHeight();
+ }
}
/// <summary>
/// 閽堝搴曢儴鐐瑰嚮鎸夐挳,璋冩暣鎺т欢鐪熷疄楂樺害
/// </summary>
- /// <param name="correctionsValue">Y杞磋ˉ姝e��(鐪熷疄鍊�,鍒楄〃鎺т欢涓嶅湪bodyFramelayout鐨勬椂鍊欎娇鐢�)</param>
+ /// <param name="correctionsValue">
+ /// <para>Y杞磋ˉ姝e��(鐪熷疄鍊�,鍒楄〃鎺т欢涓嶅湪bodyFramelayout鐨勬椂鍊欎娇鐢�)</para>
+ /// <para>涓�鑸负姝f暟,濡傛灉涓鸿礋鏁颁唬琛╞odyFramelayout瓒呭嚭浜嗛《閮�</para>
+ /// </param>
public void AdjustRealHeightByBottomButton(int correctionsValue = 0)
{
+ //璋冩暣妗屽竷楂樺害 2020.05.25杩藉姞
+ this.AdjustTableHeight();
+
var btnTemp = new BottomClickButton();
if (btnTemp.Yaxis >= this.m_frameTable.Height + correctionsValue)
{
@@ -137,9 +182,11 @@
//娣诲姞涓存椂鎺т欢,鐩磋嚦鍙互婊戝姩瓒呰繃搴曢儴鎸夐挳
int oldRowSpace = this.rowSpace;
this.rowSpace = 0;
- var frameBackTemp = new FrameLayout();
+
+ this.frameBackTemp = new FrameLayout();
frameBackTemp.Height = ControlCommonResourse.BodyFrameHeight - btnTemp.Yaxis + Application.GetRealHeight(23);
- this.AddChidrenFrame(frameBackTemp);
+ this.AddChidren(frameBackTemp);
+
this.rowSpace = oldRowSpace;
}
--
Gitblit v1.8.0