From 7df40c4d000b5424bc11d4a6b9c3332dfe661c67 Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期二, 24 三月 2020 10:22:43 +0800
Subject: [PATCH] 2020-03-24-1
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs | 185 ++++++++++++++++-----------------------------
1 files changed, 66 insertions(+), 119 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 6c3fb2b..52af78a 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/ButtonBase.cs
@@ -30,19 +30,22 @@
else { this.SetClickStatu(); }
}
}
+ /// <summary>
+ /// 鍦嗚搴�
+ /// </summary>
+ public int RadiusEx
+ {
+ set { this.Radius = (uint)Application.GetRealHeight(value); }
+ }
/// <summary>
- /// 鎺т欢鐨勭偣鍑讳簨浠�(姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠讹紝鍙桟anClick灞炴�ф帶鍒�)
+ /// 鎺т欢鐨勭偣鍑讳簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
public Action<Button, MouseEventArgs> ButtonClickEvent = null;
/// <summary>
- /// 搴曢儴闃村奖鎺т欢1
+ /// 鎺т欢鐨勬寜涓嬩簨浠�(鑷畾涔夊皝瑁呬簨浠�,姝や簨浠惰璁ゅ彲涓烘墽琛屾寜閽寜涓嬩簨浠�,鍙桟anClick灞炴�ф帶鍒�)
/// </summary>
- private Button btnBottomShadowView1 = null;
- /// <summary>
- /// 搴曢儴闃村奖鎺т欢2
- /// </summary>
- private Button btnBottomShadowView2 = null;
+ public Action<Button, MouseEventArgs> ButtonDownClickEvent = null;
#endregion
@@ -61,6 +64,8 @@
//鐐瑰嚮浜嬩欢
this.MouseUpEventHandler += ButtonBase_MouseUpEventHandler;
+ //鎸変笅浜嬩欢
+ this.MouseDownEventHandler += ButtonBase_MouseDownEventHandler;
}
/// <summary>
@@ -133,11 +138,11 @@
if (CanClick == true)
{
//Log鍑哄姏
- this.WriteLog();
+ this.WriteLog(0);
try
{
- this.ButtonClickEvent?.Invoke(this, e);
+ this.ButtonClickEvent(this, e);
}
catch (Exception ex)
{
@@ -147,6 +152,37 @@
//Log鍑哄姏
HdlLogLogic.Current.WriteLog(ex);
}
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鎸変笅浜嬩欢___________________________
+
+ /// <summary>
+ /// 鎸変笅浜嬩欢
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void ButtonBase_MouseDownEventHandler(object sender, MouseEventArgs e)
+ {
+ if (CanClick == false || this.ButtonDownClickEvent == null)
+ {
+ //涓嶈兘鐐瑰嚮
+ return;
+ }
+
+ try
+ {
+ this.ButtonDownClickEvent(this, e);
+ }
+ catch (Exception ex)
+ {
+ //鍑虹幇鏈煡閿欒
+ var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+ alert.Show();
+ //Log鍑哄姏
+ HdlLogLogic.Current.WriteLog(ex);
}
}
@@ -173,21 +209,13 @@
#region 鈻� 涓�鑸柟娉昣__________________________
/// <summary>
- /// 閲嶇疆鍗曞嚮浜嬩欢(姝ゆ搷浣滃鎵樹細鍙榥ull)
- /// </summary>
- public void ResetClickEvent()
- {
- ButtonClickEvent = null;
- this.MouseUpEventHandler -= this.ButtonBase_MouseUpEventHandler;
- this.MouseUpEventHandler += this.ButtonBase_MouseUpEventHandler;
- }
-
- /// <summary>
/// 鎺т欢鎽ф瘉
/// </summary>
public override void RemoveFromParent()
{
ButtonClickEvent = null;
+ ButtonDownClickEvent = null;
+
base.RemoveFromParent();
}
@@ -207,107 +235,19 @@
}
/// <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);
- }
-
- /// <summary>
- /// 娣诲姞搴曢儴闃村奖鐗规晥(纭繚鎷ユ湁鐖舵帶浠跺悗鎵嶈皟鐢�)
- /// </summary>
- /// <param name="view">涓哄摢涓帶浠舵坊鍔犻槾褰辩壒鏁�,鐪佺暐鏃�,涓哄綋鍓嶆帶浠舵坊鍔�</param>
- /// <param name="average">娣诲姞鐨勯槾褰辩壒鏁堟槸鍚︽寜骞冲潎鍊艰缃珮瀹藉害</param>
- public void AddBottomShadow(View view = null, bool average = false)
- {
- //闇�瑕佹墿澶х殑楂樺害
- int heightValue = 21;
- //闇�瑕佹墿澶х殑瀹藉害
- int widthValue = 15;
- //鏈�澶ч珮搴�
- int maxHeight = 0;
- if (average == false)
- {
- heightValue = Application.GetRealHeight(heightValue);
- widthValue = Application.GetRealWidth(widthValue);
- maxHeight = Application.GetRealHeight(460);
- }
- else
- {
- heightValue = Application.GetMinRealAverage(heightValue);
- widthValue = Application.GetMinRealAverage(widthValue);
- maxHeight = Application.GetMinRealAverage(460);
- }
- if (view == null)
- {
- //鐪佺暐鏃�,鎸囧畾涓哄綋鍓嶆帶浠�
- view = this;
- }
- //鍏堢Щ闄�
- this.btnBottomShadowView1?.RemoveFromParent();
- this.btnBottomShadowView2?.RemoveFromParent();
-
- int realHeight = view.Height + heightValue * 2;
- if (realHeight <= maxHeight)
- {
- //闃村奖鎺т欢
- this.btnBottomShadowView1 = new Button();
- btnBottomShadowView1.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView1.Height = realHeight;
- btnBottomShadowView1.Width = view.Width + widthValue * 2;
- btnBottomShadowView1.X = view.X - widthValue;
- btnBottomShadowView1.Y = view.Y;
- view.Parent.AddChidren(btnBottomShadowView1);
- view.BringToFront();
- }
- else
- {
- //瓒呰繃鏈�澶ф椂,鐗规畩澶勭悊
- this.btnBottomShadowView1 = new Button();
- btnBottomShadowView1.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView1.Height = view.Height - heightValue * 2;
- btnBottomShadowView1.Width = view.Width + widthValue * 2;
- btnBottomShadowView1.X = view.X - widthValue;
- btnBottomShadowView1.Y = view.Y + heightValue * 2;
- view.Parent.AddChidren(btnBottomShadowView1);
-
- this.btnBottomShadowView2 = new Button();
- btnBottomShadowView2.UnSelectedImagePath = "Item/BottomShadow.png";
- btnBottomShadowView2.Height = maxHeight;
- btnBottomShadowView2.Width = view.Width + widthValue * 2;
- btnBottomShadowView2.X = view.X - widthValue;
- btnBottomShadowView2.Y = view.Bottom - maxHeight + heightValue * 2;
- view.Parent.AddChidren(btnBottomShadowView2);
- view.BringToFront();
- }
+#if Android
+ //闇�瑕佸鍔犱竴涓宸��
+ return this.GetTextWidth() + Application.GetRealWidth(12);
+#endif
+#if iOS
+ //闇�瑕佸鍔犱竴涓宸��
+ return this.GetTextWidth() + Application.GetRealWidth(25);
+#endif
}
#endregion
@@ -326,7 +266,7 @@
/// <summary>
/// Log鍑哄姏
/// </summary>
- private void WriteLog()
+ private void WriteLog(int div)
{
if (formName == null)
{
@@ -357,7 +297,14 @@
controlName = this.UnSelectedImagePath;
}
}
- HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ if (div == 0)
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚偣鍑�");
+ }
+ else
+ {
+ HdlLogLogic.Current.WriteLog(1, formName + "鐨刐" + controlName + "]鎸夐敭琚暱鎸�");
+ }
}
#endregion
--
Gitblit v1.8.0