我有以下两个程序progress,countDownTimer可以工作但需要将它们组合起来以达到我想要的效果。请参阅下面的图片。
我有以下问题。
进度条不顺畅
倒计时时间正在上下移动而且没有正确倒计时
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();
}
答案 0 :(得分:0)
我曾经在开发足球应用程序时遇到过类似的问题,最后编写了我自己的视图并覆盖了绘图和绘制圆圈(弧)并编写了文本。
采用这种方法可以更容易地控制View而不是滥用ProgressBar来绘制Circle - 这甚至使View更加轻量级。
在右侧,您可以看到时钟和周围画出游戏状态的圆圈。
因此,只需选择自定义视图并覆盖onDraw并操作画布。
开始学习这一点的好点在于:
http://developer.android.com/training/custom-views/index.html