From da3634e011bbda29cf4e1c168997b780fe795b20 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 13 五月 2020 09:05:23 +0800
Subject: [PATCH] 优化新风模块和新风面板的测试功能,请合并代码
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 173 +++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 125 insertions(+), 48 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 7c86b24..098ffaa 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
@@ -17,7 +17,7 @@
private bool m_CanClick = true;
/// <summary>
/// 璁剧疆鑳藉惁瑙︾偣鍑讳簨浠�
- /// </summary>
+ /// </summary>
public bool CanClick
{
get { return m_CanClick; }
@@ -39,6 +39,11 @@
}
/// <summary>
+ /// 鐐瑰嚮鐨勫潗鏍�
+ /// </summary>
+ private System.Drawing.Point downPoint = new System.Drawing.Point();
+
+ /// <summary>
/// 鎺т欢鐨勭偣鍑讳簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
public Action<Button, MouseEventArgs> ButtonClickEvent = null;
@@ -46,6 +51,27 @@
/// 鎺т欢鐨勬寜涓嬩簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
public Action<Button, MouseEventArgs> ButtonDownClickEvent = null;
+ /// <summary>
+ /// 鎺т欢瑙﹀彂绉诲姩鐨勪簨浠�(鑷韩鎷ユ湁绠楁硶,褰撶Щ鍔ㄥ灏戝儚绱犲悗,瑙﹀彂浜嬩欢,娉ㄦ剰,璇ヤ簨浠跺彲鑳戒細棰戠箒鐨勮Е鍙�)
+ /// </summary>
+ public Action ButtonHappenMoveEvent = null;
+
+ #endregion
+
+ #region 鈻� 閲嶅啓褰摜鐨勫睘鎬____________________
+
+ /// <summary>
+ /// 閲嶅啓Text灞炴��
+ /// </summary>
+ public new string Text
+ {
+ //鍏堣繖涔堝紕鍏堝惂
+ get { return base.Text == null ? string.Empty : base.Text; }
+ set
+ {
+ base.Text = value == null ? string.Empty : value;
+ }
+ }
#endregion
@@ -66,13 +92,15 @@
this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler;
//鎸変笅浜嬩欢
this.MouseDownEventHandler += ButtonBase_MouseDownEventHandler;
+ //绉诲姩浜嬩欢
+ this.MouseMoveEventHandler += ButtonBase_MouseMoveEventHandler;
}
/// <summary>
/// 鍒濆鍖栨帶浠跺ぇ灏�(涓嶄互骞冲潎鍊艰繘琛岀湡瀹炴暟鍊艰绠�)
/// </summary>
- /// <param name="i_Width">瀹藉害</param>
- /// <param name="i_Height">楂樺害</param>
+ /// <param name="i_Width">瀹藉害</param>
+ /// <param name="i_Height">楂樺害</param>
/// <param name="real">鏄惁璁$畻鐪熷疄鍊�</param>
public void InitSize(int i_Width, int i_Height, bool real = true)
{
@@ -80,42 +108,60 @@
{
i_Width = Application.GetRealWidth(i_Width);
i_Height = Application.GetRealHeight(i_Height);
- }
- this.Height = i_Height;
+ }
+ this.Height = i_Height;
this.Width = i_Width;
}
/// <summary>
/// 鍒濆鍖栨帶浠跺ぇ灏�(涓嶄互骞冲潎鍊艰繘琛岀湡瀹炴暟鍊艰绠�)
/// </summary>
- /// <param name="i_Width">瀹藉害</param>
+ /// <param name="i_Width">瀹藉害</param>
/// <param name="real">鏄惁璁$畻鐪熷疄鍊�</param>
public void InitSize(int i_Width, bool real = false)
{
if (real == true)
{
i_Width = Application.GetRealWidth(i_Width);
- }
-
- this.Height = ControlCommonResourse.NormalControlHeight;
+ }
+
+ this.Height = ControlCommonResourse.NormalControlHeight;
this.Width = i_Width;
}
/// <summary>
- /// 鍒濆鍖栨帶浠跺ぇ灏�(浠ュ钩鍧囧�艰繘琛岀湡瀹炴暟鍊艰绠�)
+ /// 鍒濆鍖栧浘鏍囨帶浠跺ぇ灏�(浠ュ钩鍧囧�艰繘琛岀湡瀹炴暟鍊艰绠�)
/// </summary>
- /// <param name="i_Width">瀹藉害</param>
- /// <param name="i_Height">楂樺害</param>
+ /// <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;
+ i_Width = this.GetPictrueRealSize(i_Width);
+ i_Height = this.GetPictrueRealSize(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;
this.Width = i_Width;
}
@@ -166,6 +212,10 @@
/// <param name="e"></param>
private void ButtonBase_MouseDownEventHandler(object sender, MouseEventArgs e)
{
+ //璁板綍璧峰綋鍓嶇偣鍑荤殑鍧愭爣
+ downPoint.X = (int)e.X;
+ downPoint.Y = (int)e.Y;
+
if (CanClick == false || this.ButtonDownClickEvent == null)
{
//涓嶈兘鐐瑰嚮
@@ -183,6 +233,38 @@
alert.Show();
//Log鍑哄姏
HdlLogLogic.Current.WriteLog(ex);
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 绉诲姩浜嬩欢___________________________
+
+ /// <summary>
+ /// 绉诲姩浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseMoveEventHandler(object sender, MouseEventArgs e)
+ {
+ if (this.ButtonHappenMoveEvent == null)
+ {
+ this.MouseMoveEventHandler -= ButtonBase_MouseMoveEventHandler;
+ return;
+ }
+ int value = (int)e.X - this.downPoint.X;
+ if (value >= 30 || value <= -30)
+ {
+ //瑙﹀彂绉诲姩浜嬩欢
+ this.ButtonHappenMoveEvent();
+ return;
+ }
+ value = (int)e.Y - this.downPoint.Y;
+ if (value >= 30 || value <= -30)
+ {
+ //瑙﹀彂绉诲姩浜嬩欢
+ this.ButtonHappenMoveEvent();
+ return;
}
}
@@ -216,7 +298,10 @@
ButtonClickEvent = null;
ButtonDownClickEvent = null;
- base.RemoveFromParent();
+ if (this.Parent != null)
+ {
+ base.RemoveFromParent();
+ }
}
/// <summary>
@@ -231,42 +316,34 @@
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;
- }
+ 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
+ }
- 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);
+ /// <summary>
+ /// 璁$畻鍥剧墖鐨勭湡瀹為珮瀹藉害
+ /// </summary>
+ /// <param name="i_size"></param>
+ /// <returns></returns>
+ public int GetPictrueRealSize(int i_size)
+ {
+ return HdlControlLogic.Current.GetPictrueRealSize(i_size);
}
#endregion
--
Gitblit v1.8.0