Android,显示消息x秒

Android,显示消息x秒,android,canvas,time,2d,Android,Canvas,Time,2d,如果我的角色死亡/完成关卡,我想添加“游戏结束”和“关卡完成”消息。当他死亡/完成级别时,现在发生的是我结束主线程并启动EndScreen活动/LevelComplete活动 但在这些活动开始之前,我希望屏幕上出现一条消息,最好是一张图片,这样我可以添加一些很酷的文本,持续一定的时间,比如说3秒钟 我真的需要为此启动一个类似splash的活动或timerTask吗?还是可以用一种更简单的方式完成 例如: if(characterHP <= 0){ stopUpdat

如果我的角色死亡/完成关卡,我想添加“游戏结束”和“关卡完成”消息。当他死亡/完成级别时,现在发生的是我结束主线程并启动EndScreen活动/LevelComplete活动

但在这些活动开始之前,我希望屏幕上出现一条消息,最好是一张图片,这样我可以添加一些很酷的文本,持续一定的时间,比如说3秒钟

我真的需要为此启动一个类似splash的活动或timerTask吗?还是可以用一种更简单的方式完成

例如:

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

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

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

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

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


如果你想要更具可定制性的东西,你可以覆盖一个活动或对话框,甚至只是一个视图。然而,
Toast
通知基本上就是为此而设计的。

第二个解决方案对我来说很有意义,我想我会试试,谢谢:)尽管你需要在某个地方进行更新,以便知道何时结束游戏,所以,如果你没有“更新”,你应该检查什么时候切换活动。我希望游戏停止,消息显示,然后延迟一段时间后,我希望端屏幕出现..也许我可以添加一个布尔AllowMoving=true;只有当这是真的时才渲染,然后当我的角色死亡时,我将其设置为false,这样你就不能再在屏幕上移动东西了,但线程仍在运行。绘制“Gmae over”消息的方法不受此布尔值的影响,因此它仍将在线程结束之前绘制。很好,只需使用这样的布尔值:)甚至可能是相同的布尔值结束。如果结束抽签结束{}其他抽签正常游戏{}如果游戏是500x500,并且在300x300.png图像背景上开始游戏的新意图,您将不知道在游戏的顶部开始新意图所需的“标志”。因此,游戏仍然显示在这一意图背后。可能无法很好地解释这一点:我不确定您所说的标志/意图是什么意思——Toast通知只需要当前显示的
活动
。然而,由于缺乏OpenGL ES/canvas知识,我的答案可能缺少一些东西?干杯不是在画布上吗?没关系,这个问题和我原来的问题没有关系。只是想弄清楚如何在不删除旧活动的情况下将一个活动添加到另一个活动之上。^你的答案很完美,非常感谢。
    long showtime;
    boolean Ending = false;


    if(characterHP <= 0){
    stopUpdating();
    showMessage(3, gameOverBitmap);
    showtime = sytem.gettimemillisecs();
    Ending = true;
    if (Ending && System.gettimemilisecs > showtime + 3000) {
        startEndScreenActivity();
    }