在 Android 中创建静态进度条

Create Static Progress Bar in Android

静态的意思是,我有一些数据说20,其最大值可以是100。我想将其命名为Progress。然后我需要一个 activity ,当我们打开 Progress 选项卡时将调用它。它加载进度并在达到 20(满分 100)时停止。

最终应该是这样的。

Progress.
++++----------------
Progress1.
+++++++++++---------
Progress3.
+++++++-------------

我用谷歌搜索并得到了这个 gif,完全 说明了我的要求。 GIF

我尝试过并能实现的是:

activity

public class test extends Activity {
    private ProgressBar progressBar;
    private int progressStatus = 0, CurrValue=20;
    private TextView textView;
    private Handler handler = new Handler();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loop);
        progressBar = (ProgressBar) findViewById(R.id.progressBar1);
        textView = (TextView) findViewById(R.id.textView1);
        progressBar.setScaleY(3f);
        // Start long running operation in a background thread
        Progress();
    }
    public void Progress(){
        new Thread(new Runnable() {
            public void run() {
                while (progressStatus < CurrValue) {
                    progressStatus += 1;
                    // Update the progress bar and display the
                    //current value in the text view
                    handler.post(new Runnable() {
                        public void run() {
                            progressBar.setProgress(progressStatus);
                            textView.setText(progressStatus+"/"+progressBar.getMax());
                        }
                    });
                    try {
                        // Sleep for 200 milliseconds.
                        //Just to display the progress slowly
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }
}

布局

它有一个 TextView 和一个 ProgressBar

我想用动画显示多个进度条,就像上面的 GIF link 一样。

这是一个想法:

  1. 创建 ProgressUpdater class。它在其构造函数中采用 ProgressBar、用于监视进度的变量和最大值(假设 0 是最小值,如果不是 0 到最大值,则为最小值)。
  2. 它有一个 UpdateProgress() 方法,您可以调用它来检查变量并计算 progress/update ProgressBar。
  3. 您的 Activity 包含一个 ProgressUpdater 数组,它在 onCreate 中用每个 ProgressBar 初始化。
  4. Progress() 然后遍历 ProgressUpdater 数组并在每个更新器上调用 UpdateProgress()。您需要对 Progress() 进行一些更改以处理多个值,或者使用一些 Listener 并让它调用适当的 ProgressUpdater 的 UpdateProgress() 方法。

听起来怎么样?