我目前正在为 Android 开发一个简单的游戏,其中主要 Action 发生在我的类 GameView 上,它只是 View 的扩展。
我想在 GameView 的左上角添加一些显示时间的文本,想知道实现它的最佳方法吗?
我用傻瓜代码显示
public void onTick(long millisUntilFinished) { TIME=(int) (millisUntilFinished/1000);
timeCanvas.drawText("time= "+TIME, 30, 30, timePaint);
invalidate();
}
但是无法正常显示。它覆盖每个计数增量。 还有其他显示时间的方法吗?
我还使用了 TextView 。但无法在此自定义 viewGive 解决方案或要显示的任何示例代码中将时间设置为文本....
最佳答案
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);
关于android - 想要在游戏的主视图中显示时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201944/