From ade5917841b0fdcb1df7353ef7c56b1a1bdc9282 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:03:32 +0800
Subject: [PATCH] 删除 Gateway.Ios文件

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs |  260 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 243 insertions(+), 17 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs
index 86b3602..dbf1a01 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/BaseCommonControl/Base/TextInputBase.cs
@@ -9,6 +9,85 @@
     /// </summary>
     public class TextInputBase : EditText
     {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 鑱斿姩搴曠嚎
+        /// </summary>
+        private NormalViewControl btnLineTemp = null;
+        /// <summary>
+        /// 鑱斿姩搴曠嚎(鍊艰緭鍏ヤ箣鍚�,绾跨殑棰滆壊浼氬彉)
+        /// </summary>
+        public NormalViewControl btnLine
+        {
+            set
+            {
+                this.btnLineTemp = value;
+            }
+        }
+
+        /// <summary>
+        /// 杈撳叆缁撴潫鐨勪簨浠�
+        /// </summary>
+        public Action FinishInputEvent = null;
+        /// <summary>
+        /// 鏈�澶ц緭鍏ラ暱搴�(鐩墠鍙拡瀵规寜涓嬪洖杞﹂敭鏃惰繘琛屾娴�,瓒呰繃鏃�,涓嶄細璋冪敤FinishInputEvent)
+        /// </summary>
+        public int MaxByte = 0;
+        /// <summary>
+        /// 鎸囧畾璇ヨ緭鍏ユ鏄惁涓轰笉鍙渷鐣�(榛樿涓篺alse)
+        /// </summary>
+        public bool MustInput = false;
+
+        private bool m_UseFocusColor = false;
+        /// <summary>
+        /// 鍏夋爣杩涘叆鏂囨湰妗嗘椂,鏄惁璁╁瓧浣撻鑹插彉鏇�(榛樿涓嶄娇鐢�)
+        /// </summary>
+        public bool UseFocusColor
+        {
+            set
+            {
+                m_UseFocusColor = value;
+                if (m_UseFocusColor == true)
+                {
+                    //鐏拌壊瀛椾綋
+                    this.TextColor = UserCenterColor.Current.TextGrayColor3;
+                }
+            }
+        }
+
+        private bool m_OnError = false;
+        /// <summary>
+        /// 璁╄繖涓枃鏈鏄剧ず澶勪簬閿欒鐨勭壒鏁�
+        /// </summary>
+        public bool OnError
+        {
+            get { return m_OnError; }
+            set
+            {
+                if (value != m_OnError)
+                {
+                    m_OnError = value;
+                    //鏆傛椂灞忚斀姝ょ壒鏁�
+                    //if (m_OnError == true)
+                    //{
+                    //    //绾㈣壊
+                    //    this.BorderColor = UserCenterColor.Current.Red;
+                    //    this.Radius = (uint)Application.GetRealHeight(17);
+                    //    this.BorderWidth = 3;
+                    //}
+                    //else
+                    //{
+                    //    this.BorderColor = UserCenterColor.Current.Transparent;
+                    //    this.BorderWidth = 0;
+                    //    this.Radius = 0;
+                    //}
+                }
+            }
+        }
+
+        #endregion
+
         #region 鈻� 鍒濆鍖朹____________________________
 
         /// <summary>
@@ -22,13 +101,18 @@
             this.PlaceholderTextColor = UserCenterColor.Current.TextTipColor;
             this.TextColor = UserCenterColor.Current.TextColor1;
             this.TextAlignment = TextAlignment.CenterLeft;
+
+            //鐒︾偣浜嬩欢
+            this.FoucsChanged += this.TxtCode_FoucsChangedEvent;
+            //鎸変笅鍥炶溅閿簨浠�
+            this.EditorEnterAction += this.EditorEnterEvent;
         }
 
         /// <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)
         {
@@ -36,44 +120,163 @@
             {
                 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 = true)
         {
             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)
         {
             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;
+        }
+
+        #endregion
+
+        #region 鈻� 浜嬩欢_______________________________
+
+        /// <summary>
+        /// 鐒︾偣鍙樻洿浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void TxtCode_FoucsChangedEvent(object sender, FocusEventArgs e)
+        {
+            if (e.Focus == false)
+            {
+                if (btnLineTemp != null)
+                {
+                    btnLineTemp.BackgroundColor = UserCenterColor.Current.ButtomLine;
+                }
+                if (m_UseFocusColor == true)
+                {
+                    //鐏拌壊瀛椾綋
+                    this.TextColor = UserCenterColor.Current.TextGrayColor3;
+                }
+            }
+            else
+            {
+                if (btnLineTemp != null)
+                {
+                    btnLineTemp.BackgroundColor = UserCenterColor.Current.TextFrameSelectColor;
+                }
+                if (m_UseFocusColor == true)
+                {
+                    //姝e父瀛椾綋
+                    this.TextColor = UserCenterColor.Current.TextColor1;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 杈撳叆瀹屾垚浜嬩欢
+        /// </summary>
+        /// <param name="view"></param>
+        private void EditorEnterEvent(View view)
+        {
+            //妫�娴嬫渶澶ц緭鍑築yte
+            string msg = this.CheckMaxByte();
+            if (msg != null)
+            {
+                var contr = new ShowMsgControl(ShowMsgType.Tip, msg);
+                contr.Show();
+                return;
+            }
+            this.FinishInputEvent?.Invoke();
+        }
+
+        #endregion
+
+        #region 鈻� 妫�娴嬮敊璇痏__________________________
+
+        /// <summary>
+        /// 妫�娴嬫纭��,瀛樺湪閿欒鏃�,杩斿洖閿欒鏂囨湰,鏃犻敊璇繑鍥瀗ull
+        /// </summary>
+        /// <returns></returns>
+        public string CheckError()
+        {
+            //鎵ц妫�娴嬮敊璇�
+            string error = this.DoCheckError();
+            if (error != null)
+            {
+                //鐒︾偣鎺у埗
+                this.Foucs = true;
+                return error;
+            }
+            return null;
+        }
+
+        /// <summary>
+        /// 鎵ц妫�娴嬮敊璇�
+        /// </summary>
+        /// <returns></returns>
+        private string DoCheckError()
+        {
+            //妫�娴嬫渶澶ц緭鍑築yte
+            string msg = this.CheckMaxByte();
+            if (msg != null) { return msg; }
+
+            //妫�娴嬪繀椤昏緭鍏�
+            if (this.MustInput == true && this.Text.Trim() == string.Empty)
+            {
+                if (string.IsNullOrEmpty(this.PlaceholderText) == false)
+                {
+                    return this.PlaceholderText;
+                }
+                //璇ュ唴瀹逛笉鑳界渷鐣�
+                return Language.StringByID(R.MyInternationalizationString.uThisContentCanNotOmitted);
+            }
+
+            return null;
+        }
+
+        /// <summary>
+        /// 妫�娴嬫渶澶ц緭鍏yte
+        /// </summary>
+        /// <returns></returns>
+        private string CheckMaxByte()
+        {
+            if (this.MaxByte != 0)
+            {
+                if (Encoding.UTF8.GetBytes(this.Text.Trim()).Length > this.MaxByte)
+                {
+                    //杈撳叆鍐呭杩囬暱,鏈�澶0}瀛楄妭
+                    string msg = Language.StringByID(R.MyInternationalizationString.uInputContentIsOverLengthMsg);
+                    msg.Replace("{0}", this.MaxByte.ToString());
+
+                    return msg;
+                }
+            }
+            return null;
         }
 
         #endregion
@@ -92,8 +295,31 @@
                 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="i_size"></param>
+        /// <returns></returns>
+        public int GetPictrueRealSize(int i_size)
+        {
+            return HdlControlLogic.Current.GetPictrueRealSize(i_size);
+        }
+
+        /// <summary>
+        /// 鎺т欢绉婚櫎
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            this.FinishInputEvent = null;
+            if (this.Parent != null)
+            {
+                base.RemoveFromParent();
+            }
+        }
+
         #endregion
     }
 }

--
Gitblit v1.8.0