From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 151 ++++++++++++++++++++++++-------------------------- 1 files changed, 72 insertions(+), 79 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs index 42798c2..6427e96 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs @@ -30,24 +30,31 @@ else { this.SetClickStatu(); } } } + /// <summary> + /// 鍦嗚搴� + /// </summary> + public int RadiusEx + { + set { this.Radius = (uint)Application.GetRealHeight(value); } + } /// <summary> - /// 鏄惁鏄暱鎸夌姸鎬� + /// 鐐瑰嚮鐨勫潗鏍� /// </summary> - private bool isLongClick = false; + private System.Drawing.Point downPoint = new System.Drawing.Point(); /// <summary> /// 鎺т欢鐨勭偣鍑讳簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�) /// </summary> public Action<Button, MouseEventArgs> ButtonClickEvent = null; /// <summary> - /// (鈽呭綋鍓嶄笉瑕佷娇鐢ㄢ槄)鎺т欢鐨勯暱鎸変簨浠�,褰撲簨浠朵负null鏃�,浠h〃闀挎寜缁撴潫(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽暱鎸変簨浠�,鍙桟anClick灞炴�ф帶鍒�) - /// </summary> - public Action<Button, MouseEventArgs> ButtonLongClickEvent = null; - /// <summary> /// 鎺т欢鐨勬寜涓嬩簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�) /// </summary> public Action<Button, MouseEventArgs> ButtonDownClickEvent = null; + /// <summary> + /// 鎺т欢瑙﹀彂绉诲姩鐨勪簨浠�(鑷韩鎷ユ湁绠楁硶,褰撶Щ鍔ㄥ灏戝儚绱犲悗,瑙﹀彂浜嬩欢,娉ㄦ剰,璇ヤ簨浠跺彲鑳戒細棰戠箒鐨勮Е鍙�) + /// </summary> + public Action ButtonHappenMoveEvent = null; #endregion @@ -68,8 +75,8 @@ this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler; //鎸変笅浜嬩欢 this.MouseDownEventHandler += ButtonBase_MouseDownEventHandler; - //闀挎寜浜嬩欢 - this.MouseLongEventHandler += ButtonBase_MouseLongEventHandler; + //绉诲姩浜嬩欢 + this.MouseMoveEventHandler += ButtonBase_MouseMoveEventHandler; } /// <summary> @@ -106,17 +113,35 @@ } /// <summary> - /// 鍒濆鍖栨帶浠跺ぇ灏�(浠ュ钩鍧囧�艰繘琛岀湡瀹炴暟鍊艰绠�) + /// 鍒濆鍖栧浘鏍囨帶浠跺ぇ灏�(浠ュ钩鍧囧�艰繘琛岀湡瀹炴暟鍊艰绠�) /// </summary> /// <param name="i_Width">瀹藉害</param> /// <param name="i_Height">楂樺害</param> /// <param name="real">鏄惁璁$畻鐪熷疄鍊�</param> - public void InitAvgSize(int i_Width, int i_Height, bool real = true) + public void InitIconSize(int i_Width, int i_Height, bool real = true) { if (real == true) { i_Width = Application.GetMinRealAverage(i_Width); i_Height = Application.GetMinRealAverage(i_Height); + } + + this.Height = i_Height; + this.Width = i_Width; + } + + /// <summary> + /// 鍒濆鍖栧浘鐗囨帶浠跺ぇ灏� + /// </summary> + /// <param name="i_Width">瀹藉害</param> + /// <param name="i_Height">楂樺害</param> + /// <param name="real">鏄惁璁$畻鐪熷疄鍊�</param> + public void InitPictrueSize(int i_Width, int i_Height, bool real = true) + { + if (real == true) + { + i_Width = HdlControlLogic.Current.GetPictrueRealSize(i_Width); + i_Height = HdlControlLogic.Current.GetPictrueRealSize(i_Height); } this.Height = i_Height; @@ -146,15 +171,7 @@ try { - if (this.isLongClick == false) - { - this.ButtonClickEvent(this, e); - } - else if (ButtonLongClickEvent != null) - { - //闀挎寜缁撴潫 - this.ButtonLongClickEvent(this, null); - } + this.ButtonClickEvent(this, e); } catch (Exception ex) { @@ -165,8 +182,6 @@ HdlLogLogic.Current.WriteLog(ex); } } - //鐘舵�佽繕鍘� - this.isLongClick = false; } #endregion @@ -180,8 +195,9 @@ /// <param name="e"></param> private void ButtonBase_MouseDownEventHandler(object sender, MouseEventArgs e) { - //杩樺師鐘舵�� - this.isLongClick = false; + //璁板綍璧峰綋鍓嶇偣鍑荤殑鍧愭爣 + downPoint.X = (int)e.X; + downPoint.Y = (int)e.Y; if (CanClick == false || this.ButtonDownClickEvent == null) { @@ -205,40 +221,33 @@ #endregion - #region 鈻� 闀挎寜浜嬩欢___________________________ + #region 鈻� 绉诲姩浜嬩欢___________________________ /// <summary> - /// 闀挎寜浜嬩欢 + /// 绉诲姩浜嬩欢 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> - private void ButtonBase_MouseLongEventHandler(object sender, MouseEventArgs e) + private void ButtonBase_MouseMoveEventHandler(object sender, MouseEventArgs e) { - //闀挎寜鐘舵�� - this.isLongClick = true; - - if (ButtonLongClickEvent == null) + if (this.ButtonHappenMoveEvent == null) { - this.MouseLongEventHandler -= ButtonBase_MouseLongEventHandler; + this.MouseMoveEventHandler -= ButtonBase_MouseMoveEventHandler; return; } - if (CanClick == true) + int value = (int)e.X - this.downPoint.X; + if (value >= 30 || value <= -30) { - //Log鍑哄姏 - this.WriteLog(1); - - try - { - this.ButtonLongClickEvent(this, e); - } - catch (Exception ex) - { - //鍑虹幇鏈煡閿欒 - var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError)); - alert.Show(); - //Log鍑哄姏 - HdlLogLogic.Current.WriteLog(ex); - } + //瑙﹀彂绉诲姩浜嬩欢 + this.ButtonHappenMoveEvent(); + return; + } + value = (int)e.Y - this.downPoint.Y; + if (value >= 30 || value <= -30) + { + //瑙﹀彂绉诲姩浜嬩欢 + this.ButtonHappenMoveEvent(); + return; } } @@ -271,9 +280,11 @@ { ButtonClickEvent = null; ButtonDownClickEvent = null; - ButtonLongClickEvent = null; - base.RemoveFromParent(); + if (this.Parent != null) + { + base.RemoveFromParent(); + } } /// <summary> @@ -288,42 +299,24 @@ return; } //Y杞撮噸缃� - this.Y = UserCenterLogic.GetControlChidrenYaxis(this.Parent.Height, this.Height, alignment, Space); + this.Y = HdlControlLogic.Current.GetControlChidrenYaxis(this.Parent.Height, this.Height, alignment, Space); } /// <summary> - /// 鏍规嵁鏂囨湰,璁$畻瀹冨疄闄呯殑瀹藉害(杩斿洖鐨勬槸鐪熷疄鍊�) + /// 鏍规嵁鏂囨湰,璁$畻瀹冨疄闄呯殑瀹藉害 /// </summary> - /// <param name="textSize">瀛椾綋澶у皬,鐪佺暐鏃朵娇鐢ㄥ綋鍓嶆帶浠剁殑瀛椾綋澶у皬</param> - /// <param name="i_text">闇�瑕佽绠楃殑鏂囨湰淇℃伅,鐪佺暐鏃朵娇鐢ㄥ綋鍓嶆帶浠剁殑鏂囨湰</param> /// <returns></returns> - public int GetRealWidthByText(float textSize, string i_text = null) + public int GetRealWidthByText() { - if (i_text == null) - { - i_text = this.Text; - } - if (textSize == -1) - { - textSize = this.TextSize; - } - - int byteLength = 0; - for (int i = 0; i < i_text.Length; i++) - { - byteLength += Encoding.UTF8.GetBytes(i_text[i].ToString()).Length; - //int length = Encoding.UTF8.GetBytes(i_text[i].ToString()).Length; - //if (length == 1) - //{ - // //鑻辨枃 - // byteLength += length; - // continue; - //} - ////涓枃(鏆傛椂鐢ㄤ腑鏂囧搴�) - //byteLength += Encoding.GetEncoding("gb2312").GetBytes(i_text[i].ToString()).Length; - } - int realWidth = byteLength * (int)textSize; - return Application.GetRealWidth(realWidth + 20); + if (string.IsNullOrEmpty(this.Text) == true) { return Application.GetRealWidth(25); } +#if Android + //闇�瑕佸鍔犱竴涓宸�� + return this.GetTextWidth() + Application.GetRealWidth(12); +#endif +#if iOS + //闇�瑕佸鍔犱竴涓宸�� + return this.GetTextWidth() + Application.GetRealWidth(25); +#endif } #endregion -- Gitblit v1.8.0