在postDelayed方法中触发OnTouchlistener

时间:2019-06-06 06:49:42

标签: java android

我正在创建一个TicTacToe游戏,目前,在某人获胜后,我有一个postDelayed函数,该函数在5毫秒后触发。在这500毫秒内,我可以绘制获胜角色并显示获胜动画。我想知道是否有可能让用户等待强制的500毫秒,然后在延迟后点击以继续。这可能吗?

private void player1Wins() {
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 3; j++) {
            buttons[i][j].setEnabled(false);
        }
    }
    player1Points++;
    textViewPlayer1.setText(Integer.toString(player1Points));
    Toast.makeText(this, "Player 1 has won", Toast.LENGTH_SHORT).show();
    final Handler handler = new Handler();
    final Runnable r = new Runnable() {
        public void run() {
            resetBoard();
        }
    };
    handler.postDelayed(r, 500);
    winAnimation(winCondition);
}

1 个答案:

答案 0 :(得分:0)

'是的,你可以做到。您可以在xml的属性中隐藏该按钮,例如。'

android:visibility="gone";

'在5毫秒后的postDelayed函数中,您可以向用户显示此按钮'

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
               button.setVisibility(view.VISIBLE);            
             }
        },500);

'并根据需要将其设置为点击监听器。

“希望您能找到解决方案。”