From c1de48884fa145a16a0f8bcee93274dcfaa0ff82 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 07 五月 2020 10:40:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-2020xm
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 276 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs
new file mode 100755
index 0000000..539ff34
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs
@@ -0,0 +1,276 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shared.Phone.UserCenter
+{
+ /// <summary>
+ /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+ /// </summary>
+ public class ProgressFormBar
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+ /// </summary>
+ private static ProgressFormBar m_Current = null;
+ /// <summary>
+ /// 鐣岄潰绫诲瀷鐨勮繘搴︽潯鎺т欢
+ /// </summary>
+ public static ProgressFormBar Current
+ {
+ get
+ {
+ if (m_Current == null)
+ {
+ m_Current = new ProgressFormBar();
+ }
+ return m_Current;
+ }
+ }
+ /// <summary>
+ /// 娑堟伅鎺т欢鍗曞嚮鐨勪簨浠�
+ /// </summary>
+ public Action MsgClickEvent = null;
+ /// <summary>
+ /// 鐣岄潰鍏抽棴鐨勪簨浠�
+ /// </summary>
+ public Action CloseEvent = null;
+ /// <summary>
+ /// 瀹瑰櫒鎺т欢
+ /// </summary>
+ private FrameLayout bodyFrameLayout = null;
+ /// <summary>
+ /// 淇℃伅鎺т欢
+ /// </summary>
+ private NormalViewControl btnText = null;
+ /// <summary>
+ /// 杩涘害鍊兼枃鏈殑鏄剧ず鎺т欢
+ /// </summary>
+ private NormalViewControl btnProgressView = null;
+ /// <summary>
+ /// 杩涘害鍊艰兘澶熺Щ鍔ㄧ殑閭d釜妗嗘帶浠�
+ /// </summary>
+ private FrameLayout frameProgress = null;
+ /// <summary>
+ /// 杩涘害鏉�
+ /// </summary>
+ private FrameLayout btnProgressBar = null;
+ /// <summary>
+ /// 杩涘害鏉″鍣ㄧ殑鏈�澶у搴�
+ /// </summary>
+ private int ProRowWidth = 0;
+ /// <summary>
+ /// 鍘熸潵鐨勬粦鍔ㄦ爣璇�
+ /// </summary>
+ private bool oldScrollEnabled = false;
+ /// <summary>
+ /// 鍘熸潵鐨勯偅涓渾褰㈣繘搴︽潯鏄惁鍙
+ /// </summary>
+ private bool oldPrigressVisible = false;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鍒濆鍖栬繘搴︽潯
+ /// </summary>
+ private void InitProgressFormBar()
+ {
+ //瀹夊崜鍙互鐐瑰嚮绯荤粺鐨勮繑鍥為敭
+ this.oldScrollEnabled = UserView.HomePage.Instance.ScrollEnabled;
+ UserView.HomePage.Instance.ScrollEnabled = false;
+ Shared.Common.CommonPage.BackKeyCanClick = false;
+
+ this.oldPrigressVisible = Common.CommonPage.Loading.Visible;
+ if (oldPrigressVisible == true)
+ {
+ //鍦嗗舰杩涘害鏉′复鏃跺叧闂�
+ Common.CommonPage.Loading.Hide();
+ }
+ //瀹瑰櫒
+ bodyFrameLayout = new FrameLayout();
+ bodyFrameLayout.BackgroundColor = UserCenterColor.Current.DialogBackColor;
+ Common.CommonPage.Instance.AddChidren(bodyFrameLayout);
+ //var nowForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
+ //if (nowForm != null && (nowForm is ViewGroup) == true)
+ //{
+ // ((ViewGroup)nowForm).AddChidren(bodyFrameLayout);
+ //}
+
+ var frameBack = new FrameLayout();
+ frameBack.Width = Application.GetRealWidth(674);
+ frameBack.Height = Application.GetRealHeight(386);
+ frameBack.BackgroundColor = UserCenterColor.Current.White;
+ frameBack.Gravity = Gravity.CenterHorizontal;
+ frameBack.Y = Application.GetRealHeight(683);
+ frameBack.Radius = (uint)Application.GetRealHeight(17);
+ bodyFrameLayout.AddChidren(frameBack);
+
+ //杩涘害鏄剧ず鏂囨湰
+ this.btnText = new NormalViewControl(frameBack.Width, Application.GetRealHeight(58), false);
+ btnText.Y = Application.GetRealHeight(248);
+ btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
+ btnText.TextAlignment = TextAlignment.Center;
+ frameBack.AddChidren(btnText);
+ btnText.ButtonClickEvent += (sender, e) =>
+ {
+ this.MsgClickEvent?.Invoke();
+ };
+
+ //杩涘害鏉�
+ var btnProRow = new FrameLayout();
+ btnProRow.Gravity = Gravity.CenterHorizontal;
+ btnProRow.Y = Application.GetRealHeight(161);
+ btnProRow.Width = Application.GetRealWidth(559);
+ btnProRow.Height = Application.GetRealHeight(29);
+ btnProRow.BackgroundColor = 0xfff5f5f5;
+ btnProRow.Radius = (uint)Application.GetRealHeight(29) / 2;
+ frameBack.AddChidren(btnProRow);
+ this.btnProgressBar = new FrameLayout();
+ btnProgressBar.Width = 0;
+ btnProgressBar.Height = btnProRow.Height;
+ btnProgressBar.BackgroundColor = 0xfffb744a;
+ btnProgressBar.Radius = (uint)Application.GetRealHeight(29) / 2;
+ btnProRow.AddChidren(btnProgressBar);
+
+ //杩涘害鍊兼枃鏈�
+ this.frameProgress = new FrameLayout();
+ frameProgress.Width = Application.GetRealWidth(84);
+ frameProgress.Height = Application.GetRealHeight(60);
+ frameProgress.Y = Application.GetRealHeight(86);
+ frameBack.AddChidren(frameProgress);
+ frameProgress.X = btnProRow.X + btnProgressBar.Right - frameProgress.Width / 2;
+ var btnProgressPic = new PicViewControl(84, 60);
+ btnProgressPic.UnSelectedImagePath = "Item/ProgressMsg.png";
+ frameProgress.AddChidren(btnProgressPic);
+ this.btnProgressView = new NormalViewControl(84, 45, true);
+ btnProgressView.TextSize = 10;
+ btnProgressView.TextAlignment = TextAlignment.Center;
+ btnProgressView.Text = "0%";
+ frameProgress.AddChidren(btnProgressView);
+
+ this.ProRowWidth = btnProRow.Width;
+ }
+
+ #endregion
+
+ #region 鈻� 璁剧疆淇℃伅___________________________
+
+ /// <summary>
+ /// 璁剧疆鏄剧ず淇℃伅
+ /// </summary>
+ /// <param name="msg"></param>
+ public void SetMsg(string msg)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ btnText.Text = msg;
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 璁剧疆杩涘害鍊糭________________________
+
+ /// <summary>
+ /// 璁剧疆杩涘害鍊�
+ /// </summary>
+ /// <param name="value">姝ゅ�间负鐧惧垎姣斿��(涔熷氨鏄皬浜庢垨鑰呯瓑浜�1鐨�)</param>
+ public void SetValue(decimal value)
+ {
+ this.SetValueEx(value);
+ }
+
+ /// <summary>
+ /// 璁剧疆杩涘害鍊�
+ /// </summary>
+ /// <param name="value">杩涘害鍊�,鍐呴儴浼氶櫎浠axValue</param>
+ /// <param name="maxValue">鏈�澶у��</param>
+ public void SetValue(decimal value, decimal maxValue)
+ {
+ decimal result = value / maxValue;
+ this.SetValueEx(result);
+ }
+
+ /// <summary>
+ /// 璁剧疆杩涘害鍊�
+ /// </summary>
+ /// <param name="value"></param>
+ private void SetValueEx(decimal value)
+ {
+ if (btnProgressBar == null)
+ {
+ return;
+ }
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ int width = (int)(value * ProRowWidth);
+ btnProgressBar.Width = width;
+ //鏂囨湰鏄剧ず
+ btnProgressView.Text = ((int)(value * 100)) + "%";
+ //鏂囨湰鏄剧ず鐨勯偅涓浘鐗囨绉诲姩
+ frameProgress.X = ControlCommonResourse.XXLeft + btnProgressBar.Right - frameProgress.Width / 2;
+ });
+ }
+
+ #endregion
+
+ #region 鈻� 寮�鍚繘搴︽潯_________________________
+
+ /// <summary>
+ /// 寮�鍚繘搴︽潯
+ /// </summary>
+ public void Start()
+ {
+ if (this.bodyFrameLayout == null)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍒濆鍖栬繘搴︽潯
+ this.InitProgressFormBar();
+ });
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鍏抽棴杩涘害鏉________________________
+
+ /// <summary>
+ /// 鍏抽棴杩涘害鏉�
+ /// </summary>
+ public void Close()
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ if (this.oldScrollEnabled == true)
+ {
+ //濡傛灉瀹冨師鏉ュ氨鏄笉鍙互婊戝姩鐨勮瘽锛屼笉澶勭悊
+ UserView.HomePage.Instance.ScrollEnabled = true;
+ }
+ Shared.Common.CommonPage.BackKeyCanClick = true;
+ if (this.oldPrigressVisible == true)
+ {
+ //濡傛灉鍘熸潵鐨勮繘搴︽潯鏄彲瑙佺殑璇�,杩樺師鍥炲幓
+ Common.CommonPage.Loading.Start(Common.CommonPage.Loading.Text);
+ }
+
+ bodyFrameLayout?.RemoveFromParent();
+ bodyFrameLayout = null;
+ btnText = null;
+ btnProgressView = null;
+ frameProgress = null;
+ btnProgressBar = null;
+ this.MsgClickEvent = null;
+ //鍏抽棴浜嬩欢
+ this.CloseEvent?.Invoke();
+ this.CloseEvent = null;
+ });
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0