Android,显示x秒的消息

时间:2012-09-10 21:26:42

标签: android canvas time 2d

如果我的角色死亡/完成等级,我想添加“游戏结束”和“等级完成”消息。当他死亡/完成关卡时,现在发生的事情是我结束MainThread并启动EndScreen-activity / LevelComplete-activity。

但是在这些活动开始之前,我想要在屏幕上显示一条消息,最好是一张图片,这样我就可以添加一些很酷的文字,持续一段时间,让我们说3秒钟。

我是否真的需要为此启动类似于splash的活动或者timerTask,还是可以以更简单的方式完成?

示例:

    if(characterHP <= 0){
        stopUpdating();
        showMessage(3, gameOverBitmap);
        startEndScreenActivity();   

2 个答案:

答案 0 :(得分:1)

您还可以自定义标准Android Toast通知的外观,文字,字体,位置,布局和时间(长或短)。 (通过提供自定义布局,样式或视图)。

http://developer.android.com/guide/topics/ui/notifiers/toasts.html

如果您想要更具可自定义的内容,您可以覆盖活动或对话框,甚至只是视图。但是,Toast通知基本上是为此设计的。

答案 1 :(得分:0)

使用处理程序或类似的东西

    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    Handler handler = new Handler();

    handler.postDelayed(new Runnable() {
          startEndScreenActivity();   
          }
    }, 3000);

另一件事是,如果你跟踪游戏中的时间(我通常会这样做),以及增量时间,那么你可以自己制作一些变体

    long showtime;
    boolean Ending = false;


    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    showtime = sytem.gettimemillisecs();
    Ending = true;

然后在其他地方:

    if (Ending && System.gettimemilisecs > showtime + 3000) {
        startEndScreenActivity();
    }