From 0bf9e65bc3ba98391e7835c922b15baab3c77876 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 01 六月 2020 14:59:39 +0800 Subject: [PATCH] 上传一个合并的版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs | 51 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 36 insertions(+), 15 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs index b503b18..6010e81 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SceneFunctionSwitchControl.cs @@ -8,7 +8,7 @@ /// <para>鍦烘櫙鍜屽姛鑳戒箣闂寸浉浜掑垏鎹㈢殑Tab鎺т欢(瀹屾垚鍒濆鍖栧悗,浼氭牴鎹粯璁ら�夋嫨璋冪敤鍥炶皟鍑芥暟)</para> /// <para>2020.03.10鍙樻洿:瀹冨彉鏇翠负鏂囧瓧鍨嬭彍鍗曟帶浠�</para> /// </summary> - public class SceneFunctionSwitchControl : FrameLayout + public class SceneFunctionSwitchControl : HorizontalScrolViewLayout { #region 鈻� 鍙橀噺澹版槑___________________________ @@ -16,6 +16,10 @@ /// 閫夋嫨浜嬩欢(浠�0寮�濮�) /// </summary> public Action<int> SelectTabEvent = null; + /// <summary> + /// 鍓嶅洖閫夋嫨鐨勭储寮� + /// </summary> + public int OldSelectIndex = 0; private int m_nowSelectIndex = 0; /// <summary> @@ -49,7 +53,6 @@ public SceneFunctionSwitchControl() { this.Height = Application.GetRealHeight(90); - this.Y = Application.GetRealHeight(40); } /// <summary> @@ -60,37 +63,47 @@ public void InitControl(List<string> listTitleText, int rightSpace = 0) { if (listTitleText.Count == 0) { return; } + this.listNameControl.Clear(); + this.listLineControl.Clear(); var btnTemp = new NormalViewControl(10, 10, false); btnTemp.TextSize = 16; //鍋氭垚澶撮儴鑿滃崟鏂囧瓧 - int XX = 0; for (int i = 0; i < listTitleText.Count; i++) { btnTemp.Text = listTitleText[i]; - //寮�濮嬪垵濮嬪寲 - XX = this.InitTitleTextControl(i, listTitleText[i], btnTemp.GetRealWidthByText(), XX); + //娣诲姞鏍囬鎺т欢 + this.AddTitleTextControl(i, listTitleText[i], btnTemp.GetRealWidthByText()); } - //璋冩暣鎺т欢瀹藉害 - this.Width = XX + Application.GetRealWidth(rightSpace); + //娣诲姞鍙宠竟绌虹櫧瀹藉害 + if (rightSpace > 0) + { + //娣诲姞涓�涓棿闅旈棿璺� + var frameSpace = new FrameLayout(); + frameSpace.Width = Application.GetRealWidth(rightSpace); + this.AddChidren(frameSpace); + } //鍥炶皟鏂规硶 this.frameDefult.ButtonClickEvent?.Invoke(null, null); } /// <summary> - /// 鍒濆鍖栨爣棰樻帶浠� + /// 娣诲姞鏍囬鎺т欢 /// </summary> /// <param name="i_index"></param> /// <param name="titleText"></param> - private int InitTitleTextControl(int i_index, string titleText, int realWidth, int XX) + private void AddTitleTextControl(int i_index, string titleText, int realWidth) { + //娣诲姞涓�涓棿闅旈棿璺� + var frameSpace = new FrameLayout(); + frameSpace.Width = Application.GetRealWidth(58); + this.AddChidren(frameSpace); + //鍦烘櫙妗�(鐐瑰嚮鑼冨洿鏈夌偣灏忥紝闇�瑕佹墿澶у畠鐨勭偣鍑昏寖鍥�) var frameBack = new FrameLayoutStatuControl(); frameBack.UseClickStatu = false; - frameBack.Height = Application.GetRealHeight(90); frameBack.Width = realWidth; - frameBack.X = XX + Application.GetRealWidth(58); this.AddChidren(frameBack); //鍚嶇О var btnName = new NormalViewControl(frameBack.Width, Application.GetRealHeight(63), false); @@ -134,6 +147,7 @@ //鎵嬪姩鐐瑰嚮鐨勬墠澶勭悊 return; } + this.OldSelectIndex = this.m_nowSelectIndex; this.m_nowSelectIndex = i_index; //褰撳墠鏂囧瓧鍙樿壊 btnName.TextSize = 16; @@ -155,9 +169,6 @@ } this.SelectTabEvent?.Invoke(i_index); }; - - //杩斿洖杩欎釜鎺т欢鐨勫彸鍧愭爣 - return frameBack.Right; } #endregion @@ -179,11 +190,21 @@ #region 鈻� 涓�鑸柟娉昣__________________________ /// <summary> - /// 璁剧疆鍒濆閫夋嫨(璇峰湪鍒濆鍖栧畬鎴愪箣鍓嶈皟鐢�) + /// 璁剧疆鍒濆閫夋嫨 /// </summary> /// <param name="index">浠�0寮�濮�</param> public void SetDefultIndex(int index) { + if (frameDefult != null && frameDefult.Parent != null) + { + if (index < this.listNameControl.Count) + { + this.ScrollToViewIndex(index * 2 + 1); + //璋冪敤鐐瑰嚮浜嬩欢 + this.listNameControl[index].ButtonClickEvent(null, null); + } + return; + } this.m_nowSelectIndex = index; } -- Gitblit v1.8.0