From acb2b278663952ce555b06a2e821f359225f15e0 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期五, 10 七月 2020 09:41:15 +0800
Subject: [PATCH] 备份

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

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs
new file mode 100755
index 0000000..1882d5f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/SeekBarControl.cs
@@ -0,0 +1,148 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+    /// <summary>
+    /// 宸﹀彸婊戝姩鐨勮繘搴︽潯鎺т欢
+    /// </summary>
+    public class SeekBarControl : DiyImageSeekBar
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        private uint nowProgressBarColor = 0;
+        /// <summary>
+        /// 鎺т欢鑳藉惁浣跨敤
+        /// </summary>
+        public new bool Enable
+        {
+            set
+            {
+                this.IsClickable = value;
+                if (value == true)
+                {
+                    //鍘熸潵鐨勯鑹�
+                    base.ProgressBarColor = nowProgressBarColor;
+                }
+                else
+                {
+                    //鐏拌壊
+                    base.ProgressBarColor = 0xffe8e8e8;
+                }
+            }
+        }
+
+        /// <summary>
+        /// 杩涘害鏉¢鑹�
+        /// </summary>
+        public new uint ProgressBarColor
+        {
+            set
+            {
+                nowProgressBarColor = value;
+                base.ProgressBarColor = value;
+            }
+        }
+
+        /// <summary>
+        /// 杩涘害鍊兼敼鍙�,濡傛灉瑕佽缃垵濮嬭繘搴﹀��,姝ゅ彉閲忚鍦ㄨ缃垵濮嬭繘搴﹀�间箣鍓嶈繘琛岃缃�(绗竴涓弬鏁�0:婊戝姩鐨勬椂鍊�,1:鎵嬫寚寮硅捣鐨勬椂鍊�)
+        /// </summary>
+        public Action<int, int> ProgressChangedEvent = null;
+        /// <summary>
+        /// 杩涘害鏉′簨浠剁殑瑙﹀彂鏃堕棿闂撮殧(榛樿娌℃湁闂撮殧,鍗曚綅涓烘绉�)
+        /// </summary>
+        public int EventWaitTime = -1;
+        /// <summary>
+        /// 鍓嶅洖鏃堕棿
+        /// </summary>
+        private DateTime oldTime = DateTime.Now;
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 宸﹀彸婊戝姩鐨勮繘搴︽潯鎺т欢
+        /// </summary>
+        /// <param name="i_width">瀹藉害,闈炵湡瀹炲��</param>
+        public SeekBarControl(int i_width = 962)
+        {
+            this.Width = Application.GetRealWidth(i_width);
+            this.Height = Application.GetRealHeight(84);
+            //鍦嗙悆鐨勫搴�
+            this.ThumbImageHeight = Application.GetRealHeight(84);
+            this.ThumbImagePath = "Item/SeekBarIcon.png";
+            //杩涘害鏉$殑瀹藉害
+            this.SeekBarViewHeight = Application.GetRealHeight(10);
+            //杩涘害鏉¤儗鏅壊
+            this.SeekBarBackgroundColor = 0xfff5f5f5;
+            //涓婃柟鏄惁鏄剧ず鏂囨湰
+            this.IsProgressTextShow = false;
+            this.MaxValue = 100;
+            this.Gravity = Gravity.CenterHorizontal;
+
+            //杩涘害鏉″�兼敼鍙樹簨浠�
+            this.OnProgressChangedEvent += this.MyProgressChangedEvent;
+            //鎵嬫寚寮硅捣浜嬩欢
+            this.OnStopTrackingTouchEvent += this.MyStopTrackingTouchEvent;
+        }
+
+        #endregion
+
+        #region 鈻� 浜嬩欢_______________________________
+
+        /// <summary>
+        /// 杩涘害鏉″�兼敼鍙樹簨浠�
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="value"></param>
+        private void MyProgressChangedEvent(object sender, int value)
+        {
+            if (this.ProgressChangedEvent == null)
+            {
+                this.OnProgressChangedEvent -= this.MyProgressChangedEvent;
+                return;
+            }
+            //鏃堕棿闂撮殧
+            if (EventWaitTime != -1)
+            {
+                if ((DateTime.Now - oldTime).TotalMilliseconds < EventWaitTime) { return; }
+                oldTime = DateTime.Now;
+            }
+
+            this.ProgressChangedEvent(0, value);
+        }
+
+        /// <summary>
+        /// 鎵嬫寚寮硅捣浜嬩欢
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="value"></param>
+        private void MyStopTrackingTouchEvent(object sender, int value)
+        {
+            if (this.ProgressChangedEvent == null)
+            {
+                this.OnStopTrackingTouchEvent -= this.MyStopTrackingTouchEvent;
+                return;
+            }
+            //寮硅捣浜嬩欢涓嶉渶瑕佸垽鏂椂闂�
+            this.ProgressChangedEvent(1, value);
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        /// 鎺т欢鎽ф瘉
+        /// </summary>
+        public override void RemoveFromParent()
+        {
+            this.ProgressChangedEvent = null;
+            base.RemoveFromParent();
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0