如何在Java中使用定时延迟在两个图像之间交替?

时间:2017-08-05 08:54:39

标签: java android

所以当用户按下按钮时,我有一个翻转硬币的应用程序。目前它只是显示结果,但我想在显示结果之前添加一个小尾部 - 尾部 - 尾部 - 头部循环,以显示它正被翻转。我正在使用thread.sleep:

public void flip(){
        for(int i = 0; i < 5; i++){
            coin.setImageResource(R.drawable.heads);
            try {
                Thread.sleep(500);
            } catch (InterruptedException ex) {
                System.out.println("Error! :(");
            }
            coin.setImageResource(R.drawable.tails);
            try {
                Thread.sleep(500);
            } catch (InterruptedException ex) {
                System.out.println("Error! :(");
            }
        }
    }

但不是显示图像更改,所有发生的事情都是应用程序正在执行延迟。我搞砸了什么?

1 个答案:

答案 0 :(得分:0)

执行Runnable之前的延迟(以毫秒为单位)。

   final Handler handler = new Handler(); 
        coin.setImageResource(R.drawable.heads);
        handler.postDelayed(new Runnable() {
          @Override
          public void run() {
        coin.setImageResource(R.drawable.tails);
          }
        }, 500); // milliseconds