陈嘉乐
2020-06-24 adb12dcdbb2ddaeac687c3aa9e57bb7ed459ab7e
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressFormBar.cs
@@ -46,21 +46,9 @@
        /// </summary>
        private NormalViewControl btnText = null;
        /// <summary>
        /// 进度值文本的显示控件
        /// 进度条控件
        /// </summary>
        private NormalViewControl btnProgressView = null;
        /// <summary>
        /// 进度值能够移动的那个框控件
        /// </summary>
        private FrameLayout frameProgress = null;
        /// <summary>
        /// 进度条
        /// </summary>
        private FrameLayout btnProgressBar = null;
        /// <summary>
        /// 进度条容器的最大宽度
        /// </summary>
        private int ProRowWidth = 0;
        private ProgressRowBar btnProgressBar = null;
        /// <summary>
        /// 原来的滑动标识
        /// </summary>
@@ -94,11 +82,6 @@
            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);
@@ -121,38 +104,11 @@
            };
            //进度条
            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;
            this.btnProgressBar = new ProgressRowBar(559, 29);
            btnProgressBar.Gravity = Gravity.CenterHorizontal;
            btnProgressBar.Y = Application.GetRealHeight(161);
            frameBack.AddChidren(btnProgressBar);
            btnProgressBar.StartMode1(true);
        }
        #endregion
@@ -181,7 +137,7 @@
        /// <param name="value">此值为百分比值(也就是小于或者等于1的)</param>
        public void SetValue(decimal value)
        {
            this.SetValueEx(value);
            this.btnProgressBar.SetValue(value);
        }
        /// <summary>
@@ -191,29 +147,7 @@
        /// <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;
            });
            this.btnProgressBar.SetValue(value, maxValue);
        }
        #endregion
@@ -261,8 +195,6 @@
                bodyFrameLayout?.RemoveFromParent();
                bodyFrameLayout = null;
                btnText = null;
                btnProgressView = null;
                frameProgress = null;
                btnProgressBar = null;
                this.MsgClickEvent = null;
                //关闭事件