圆圈进度条倒计时

时间:2015-03-19 14:07:53

标签: android progress-bar countdowntimer

我有以下两个程序progresscountDownTimer可以工作但需要将它们组合起来以达到我想要的效果。请参阅下面的图片。

我有以下问题。

  1. 进度条不顺畅

  2. 倒计时时间正在上下移动而且没有正确倒计时

    public class MainActivity extends ActionBarActivity {
    
    TextView tv2;
    ProgressBar pBar2;
    int pStatus = 0;
    private Handler handler = new Handler();
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        tv2 = (TextView) findViewById(R.id.textView2);
        pBar2 = (ProgressBar) findViewById(R.id.progressBar2);
    
        new Thread(new Runnable() {
    
            @Override
            public void run() {
                // TODO Auto-generated method stub
               while (pStatus < 100) {
                    pStatus += 1;
    
                    handler.post(new Runnable() {
    
                        @Override
                        public void run() {
    
                            new CountDownTimer(10000, 1000) {
                                @Override
                                public void onTick(long millisUntilFinished) {
                                    pBar2.setProgress(pStatus);
                                    tv2.setText("" + millisUntilFinished / 1000);
                                }
    
                                @Override
                                public void onFinish() {
                                    tv2.setText("Go!");
    
                                }
                            }.start();
                        }
                    });
                    try {
                        // Sleep for 200 milliseconds.
                        // Just to display the progress slowly
                        Thread.sleep(200);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        }).start();
    }
    
  3. enter image description here

1 个答案:

答案 0 :(得分:0)

我曾经在开发足球应用程序时遇到过类似的问题,最后编写了我自己的视图并覆盖了绘图和绘制圆圈(弧)并编写了文本。

采用这种方法可以更容易地控制View而不是滥用ProgressBar来绘制Circle - 这甚至使View更加轻量级。

image

在右侧,您可以看到时钟和周围画出游戏状态的圆圈。

因此,只需选择自定义视图并覆盖onDraw并操作画布。

开始学习这一点的好点在于:

http://developer.android.com/training/custom-views/index.html