From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 18 九月 2020 13:58:19 +0800
Subject: [PATCH] 新版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs |  123 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 107 insertions(+), 16 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs
index 1882d5f..28d0d66 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs
@@ -11,7 +11,22 @@
     {
         #region 鈻� 鍙橀噺澹版槑___________________________
 
-        private uint nowProgressBarColor = 0;
+        /// <summary>
+        /// 杩涘害鍊兼敼鍙�,濡傛灉瑕佽缃垵濮嬭繘搴﹀��,姝ゅ彉閲忚鍦ㄨ缃垵濮嬭繘搴﹀�间箣鍓嶈繘琛岃缃�(绗竴涓弬鏁�0:婊戝姩鐨勬椂鍊�,1:鎵嬫寚寮硅捣鐨勬椂鍊�)
+        /// </summary>
+        public Action<int, int> ProgressChangedEvent = null;
+        /// <summary>
+        /// 杩涘害鏉″彲鐢ㄦ椂鐨勮儗鏅壊
+        /// </summary>
+        private uint ProgressBarEnableColor = 0;
+        /// <summary>
+        /// 杩涘害鏉′笉鍙敤鏃剁殑鑳屾櫙鑹�(榛樿鐏拌壊)
+        /// </summary>
+        public uint ProgressBarUnEnableColor = 0xffe8e8e8;
+        /// <summary>
+        /// 褰撳墠鍙敤鐘舵��
+        /// </summary>
+        private bool nowEnable = true;
         /// <summary>
         /// 鎺т欢鑳藉惁浣跨敤
         /// </summary>
@@ -19,16 +34,20 @@
         {
             set
             {
+                //鐘舵�佹病鏈夋敼鍙�
+                if (nowEnable == value) { return; }
+                nowEnable = value;
+
                 this.IsClickable = value;
                 if (value == true)
                 {
                     //鍘熸潵鐨勯鑹�
-                    base.ProgressBarColor = nowProgressBarColor;
+                    base.ProgressBarColor = ProgressBarEnableColor;
                 }
                 else
                 {
                     //鐏拌壊
-                    base.ProgressBarColor = 0xffe8e8e8;
+                    base.ProgressBarColor = ProgressBarUnEnableColor;
                 }
             }
         }
@@ -40,23 +59,53 @@
         {
             set
             {
-                nowProgressBarColor = value;
+                ProgressBarEnableColor = value;
                 base.ProgressBarColor = value;
             }
         }
 
+        private int m_SeekBarPadding = Application.GetRealWidth(20);
         /// <summary>
-        /// 杩涘害鍊兼敼鍙�,濡傛灉瑕佽缃垵濮嬭繘搴﹀��,姝ゅ彉閲忚鍦ㄨ缃垵濮嬭繘搴﹀�间箣鍓嶈繘琛岃缃�(绗竴涓弬鏁�0:婊戝姩鐨勬椂鍊�,1:鎵嬫寚寮硅捣鐨勬椂鍊�)
+        /// 杩涘害鏉′笌宸﹀彸涓よ竟鐨勮竟妗嗙殑杈硅窛(閲嶅啓搴曞眰灞炴��)
         /// </summary>
-        public Action<int, int> ProgressChangedEvent = null;
+        public new int SeekBarPadding
+        {
+            set
+            {
+                m_SeekBarPadding = value;
+                base.SeekBarPadding = value;
+            }
+        }
+
+        private int m_MaxValue = 0;
         /// <summary>
-        /// 杩涘害鏉′簨浠剁殑瑙﹀彂鏃堕棿闂撮殧(榛樿娌℃湁闂撮殧,鍗曚綅涓烘绉�)
+        /// 杩涘害鏉℃渶澶у��(閲嶅啓搴曞眰灞炴��)
         /// </summary>
-        public int EventWaitTime = -1;
+        public new int MaxValue
+        {
+            set
+            {
+                m_MaxValue = value;
+                base.MaxValue = value;
+            }
+        }
+
+        private int m_MinValue = 0;
         /// <summary>
-        /// 鍓嶅洖鏃堕棿
+        /// 杩涘害鏉℃渶灏忓��(閲嶅啓搴曞眰灞炴��)
         /// </summary>
-        private DateTime oldTime = DateTime.Now;
+        public new int MinValue
+        {
+            set
+            {
+                m_MinValue = value;
+                base.MinValue = value;
+            }
+        }
+        /// <summary>
+        /// 涓婃柟鏄剧ず鐨勬枃鏈�
+        /// </summary>
+        private NormalViewControl btnTopView = null;
 
         #endregion
 
@@ -104,12 +153,6 @@
                 this.OnProgressChangedEvent -= this.MyProgressChangedEvent;
                 return;
             }
-            //鏃堕棿闂撮殧
-            if (EventWaitTime != -1)
-            {
-                if ((DateTime.Now - oldTime).TotalMilliseconds < EventWaitTime) { return; }
-                oldTime = DateTime.Now;
-            }
 
             this.ProgressChangedEvent(0, value);
         }
@@ -132,6 +175,54 @@
 
         #endregion
 
+        #region 鈻� 鑷畾涔変笂鏂规樉绀烘枃鏈琠________________
+
+        /// <summary>
+        /// 鍦ㄤ笂鏂规樉绀鸿嚜瀹氫箟鏂囨湰
+        /// </summary>
+        /// <param name="i_width">瀹藉害(鐪熷疄鍊�)</param>
+        /// <param name="textSize">鏂囧瓧澶у皬</param>
+        /// <param name="textColor">鏂囧瓧棰滆壊</param>
+        public void ShowCustomTextView(int i_width, int textSize, uint textColor)
+        {
+            if (this.btnTopView != null) { return; }
+
+            int contrHeight = Application.GetRealHeight(60);
+            this.btnTopView = new NormalViewControl(i_width, contrHeight, false);
+            btnTopView.TextColor = textColor;
+            btnTopView.TextSize = textSize;
+            btnTopView.TextAlignment = TextAlignment.Center;
+            btnTopView.Y = this.Y - contrHeight + Application.GetRealHeight(20);
+            //鍒濆鍖栨椂,X杞村彲浠ヤ笉鐢ㄧ悊浼�
+
+            this.Parent.AddChidren(btnTopView);
+        }
+
+        /// <summary>
+        /// 璁剧疆鑷畾涔夋枃鏈俊鎭�
+        /// </summary>
+        /// <param name="i_text"></param>
+        public void SetCustomText(string i_text)
+        {
+            if (this.btnTopView == null) { return; }
+
+            this.btnTopView.Text = i_text;
+            //婊戞潯鏈�宸﹁竟鐨勮窛绂�
+            int XX = this.X + this.m_SeekBarPadding;
+            //褰撳墠婊戞潯鎵�鍦ㄧ殑澶ц嚧鐧惧垎姣�
+            int tempValue = this.Progress - this.m_MinValue;
+            if (tempValue < 0) { tempValue = 0; }
+            decimal persent = (decimal)tempValue / (this.m_MaxValue - this.m_MinValue);
+            //褰撳墠婊戞潯鎵�鍦ㄧ殑澶ц嚧浣嶇疆
+            XX += (int)((this.Width - this.m_SeekBarPadding * 2) * persent);
+            //鍥犱负瑕佸眳涓�,鎵�浠ュ噺鎺夎嚜瀹氫箟鎺т欢鐨勫搴︾殑涓�鑸�
+            XX = XX - this.btnTopView.Width / 2;
+
+            this.btnTopView.X = XX;
+        }
+
+        #endregion
+
         #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>

--
Gitblit v1.8.0