等待旋转动画在android中完成后再打开新活动?

时间:2018-08-01 07:09:50

标签: java android animation rotation

我的代码如下:

connectButton.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view){
            pointer.animate().rotation(connectButtonAngle - 45).start();
            Intent intent = new Intent(MainScreenActivity.this, NextActivity.class);
            startActivity(intent);
        }
    });

在下一个活动开始之前,我如何让它等待指针完成旋转?

2 个答案:

答案 0 :(得分:3)

将您的实现更改为此,动画结束时您将获得提示。

connectButton.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view){
       pointer.animate().rotation(connectButtonAngle - 45).setListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
              Intent intent = new Intent(MainScreenActivity.this, NextActivity.class);
              startActivity(intent);
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        }).start();


        }
    });

答案 1 :(得分:3)

尝试以下代码:

pointer.animate()
    .rotation(connectButtonAngle - 45)
    .withEndAction(new Runnable() {
      @Override
      public void run() {
          Intent intent = new Intent(MainScreenActivity.this, NextActivity.class);
          startActivity(intent);
      }
    })
    .start();