HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-06-10 dce6c3481a37216292724013ff9d2b75ceb82f86
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/ProgressRowBar.cs
@@ -39,8 +39,14 @@
        /// <summary>
        /// 行条类型的进度条控件
        /// </summary>
        /// <param name="width">非真实值</param>
        /// <param name="height">非真实值</param>
        /// <param name="width">
        /// <para>模式1:会动的那个进度条的宽度(非真实值)</para>
        /// <para>模式2:进度条在持续无限的来回移动的区域宽度(非真实值)</para>
        /// </param>
        /// <param name="height">
        /// <para>模式1:会动的那个进度条的高度(非真实值)</para>
        /// <para>模式2:进度条在持续无限的来回移动的高度(非真实值)</para>
        /// </param>
        public ProgressRowBar(int width, int height)
        {
            this.Height = Application.GetRealHeight(height);
@@ -56,7 +62,10 @@
        /// <summary>
        /// 模式1  该模式为:手动填写进度值
        /// </summary>
        /// <param name="showText">是否在进度条上方显示数值百分比</param>
        /// <param name="showText">
        /// <para>是否在进度条上方显示数值百分比</para>
        /// <para>请确保控件的上方有足够的区域(注:请不要扩大此控件的高度)</para>
        /// </param>
        public void StartMode1(bool showText = false)
        {
            if (m_ModeDiv != -1) { return; }
@@ -74,7 +83,7 @@
            {
                //进度值文本
                this.frameProgressBack = new FrameLayout();
                frameProgressBack.Width = Application.GetRealWidth(84);
                frameProgressBack.Width = Application.GetRealWidth(120);
                frameProgressBack.Height = Application.GetRealHeight(60);
                frameProgressBack.Y = this.Y - Application.GetRealHeight(60);
                frameProgressBack.X = this.X - Application.GetRealWidth(84) / 2;
@@ -82,12 +91,25 @@
                var btnProgressPic = new PicViewControl(84, 60);
                btnProgressPic.UnSelectedImagePath = "Item/ProgressMsg.png";
                btnProgressPic.Gravity = Gravity.CenterHorizontal;
                frameProgressBack.AddChidren(btnProgressPic);
                this.btnProgressTextView = new NormalViewControl(84, 45, true);
                this.btnProgressTextView = new NormalViewControl(120, 45, true);
                btnProgressTextView.TextSize = 10;
                btnProgressTextView.TextAlignment = TextAlignment.Center;
                btnProgressTextView.Text = "0%";
                btnProgressTextView.Gravity = Gravity.CenterHorizontal;
                frameProgressBack.AddChidren(btnProgressTextView);
            }
        }
        /// <summary>
        /// 重置进度条(只对模式1有效)
        /// </summary>
        public void ResetProgressBar()
        {
            if (this.m_ModeDiv == 1 && this.btnProgressBar != null)
            {
                this.btnProgressBar.Width = 0;
            }
        }
@@ -124,6 +146,11 @@
            HdlThreadLogic.Current.RunMain(() =>
            {
                int width = (int)(value * this.Width);
                if (btnProgressBar.Width >= width)
                {
                    //不能让进度条往回走
                    return;
                }
                btnProgressBar.Width = width;
                if (this.btnProgressTextView != null)
                {
@@ -142,7 +169,7 @@
        /// <summary>
        /// 模式2  该模式为:不能手动指定进度值,由内部线程处理,进度条在持续无限的来回移动
        /// </summary>
        /// <param name="proWidth">会移动的进度条的宽度(非真实值)</param>
        /// <param name="proWidth">持续无限的来回移动的进度条的宽度(非真实值)</param>
        public void StartMode2(int proWidth = 100)
        {
            if (m_ModeDiv != -1) { return; }