我目前正在为Android开发一款简单游戏,主要操作发生在我的GameView类上,这只是View的扩展。
我想在GameView的左上角添加一些显示时间的文字,想知道实现这个的最佳方法吗?
我使用了愚蠢的代码来显示
public void onTick(long millisUntilFinished) { TIME =(int)(millisUntilFinished / 1000);
timeCanvas.drawText("time= "+TIME, 30, 30, timePaint);
invalidate();
}
但它无法正常显示。它覆盖每个计数增量。 还有其他方法可以显示时间吗?
我还使用了文本视图。但无法将TIME设置为此自定义viewGive解决方案中的文本或任何显示的示例代码....
答案 0 :(得分:1)
This文章可以帮助您
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
final long start = mStartTime;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis / 1000);
int minutes = seconds / 60;
seconds = seconds % 60;
if (seconds < 10) {
mTimeLabel.setText("" + minutes + ":0" + seconds);
} else {
mTimeLabel.setText("" + minutes + ":" + seconds);
}
mHandler.postAtTime(this,
start + (((minutes * 60) + seconds + 1) * 1000));
} };
开始
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
停止
mHandler.removeCallbacks(mUpdateTimeTask);