我正在创建一个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);
}

最佳答案

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

android:visibility="gone";


“ 5毫秒后,您可以在postDelayed Function中向用户显示此按钮”

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


“然后根据需要将其设置为点击监听器”。

希望您能找到解决方案。

关于java - 在postDelayed方法中触发OnTouchlistener,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56472215/

10-10 12:41