想要显示游戏主视图的时间吗?

时间:2011-03-05 05:38:38

标签: android graphics view textview

我目前正在为Android开发一款简单游戏,主要操作发生在我的GameView类上,这只是View的扩展。

我想在GameView的左上角添加一些显示时间的文字,想知道实现这个的最佳方法吗?

我使用了愚蠢的代码来显示

public void onTick(long millisUntilFinished)         {             TIME =(int)(millisUntilFinished / 1000);

        timeCanvas.drawText("time= "+TIME, 30, 30, timePaint);

            invalidate();

    }

但它无法正常显示。它覆盖每个计数增量。 还有其他方法可以显示时间吗?

我还使用了文本视图。但无法将TIME设置为此自定义viewGive解决方案中的文本或任何显示的示例代码....

1 个答案:

答案 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);