Java 画布上文本的持续时间

Java 画布上文本的持续时间,java,android,canvas,Java,Android,Canvas,是否可以设置画布上文本的持续时间 我有一个游戏,当玩家达到一个新的高分时,我想显示“新的高分”,然后让它在2秒钟后消失 我尝试了类似于setDuration的方法,但不起作用。 Thread.sleep(2000); 实际上,您可以实现这一点,但我相当肯定您不希望由此产生行为,因为这将阻塞您的UI 2秒钟 CountDownTimer timer = new CountDownTimer(2000, 1000) { public void onTick(long millisUnti

是否可以设置画布上文本的持续时间

我有一个游戏,当玩家达到一个新的高分时,我想显示“新的高分”,然后让它在2秒钟后消失

我尝试了类似于setDuration的方法,但不起作用。

Thread.sleep(2000);
实际上,您可以实现这一点,但我相当肯定您不希望由此产生行为,因为这将阻塞您的UI 2秒钟

CountDownTimer timer = new CountDownTimer(2000, 1000) {

    public void onTick(long millisUntilFinished) {
    }

    public void onFinish() {
        mTextField.setText("");
    }

};

if(score > highscore){
highscore = score;
mTextField.setText("New HighScore");
timer.start();
}
但是,您可以尝试在线程中执行它,或者,正如其他人已经回答的那样,使用带有

Thread.sleep(2000);
实际上,您可以实现这一点,但我相当肯定您不希望由此产生行为,因为这将阻塞您的UI 2秒钟

CountDownTimer timer = new CountDownTimer(2000, 1000) {

    public void onTick(long millisUntilFinished) {
    }

    public void onFinish() {
        mTextField.setText("");
    }

};

if(score > highscore){
highscore = score;
mTextField.setText("New HighScore");
timer.start();
}

但是,您可以尝试在线程中执行它,或者,正如其他人已经回答的那样,使用倒计时程序使用倒计时程序并在2秒后重置文本

CountDownTimer timer = new CountDownTimer(2000, 1000) {

    public void onTick(long millisUntilFinished) {
    }

    public void onFinish() {
        mTextField.setText("");
    }

};

if(score > highscore){
highscore = score;
mTextField.setText("New HighScore");
timer.start();
}

使用倒计时,并在2秒后重置文本

CountDownTimer timer = new CountDownTimer(2000, 1000) {

    public void onTick(long millisUntilFinished) {
    }

    public void onFinish() {
        mTextField.setText("");
    }

};

if(score > highscore){
highscore = score;
mTextField.setText("New HighScore");
timer.start();
}

只需使用倒计时并在2秒后删除文本。只需使用倒计时并在2秒后删除文本。