0
私は180回転のアニメーションに image.animate().rotationBy(180).setInterpolator(new DecelerateInterpolator()).start();
を使用します。私はすばやく2回のアイコンを押すと 180度のアニメーション - 2回クリックするとランダムな回転値になります
しかし、私はこのようなもので終わる:
私は180回転のアニメーションに image.animate().rotationBy(180).setInterpolator(new DecelerateInterpolator()).start();
を使用します。私はすばやく2回のアイコンを押すと 180度のアニメーション - 2回クリックするとランダムな回転値になります
しかし、私はこのようなもので終わる:
あなたは回転が開始されたときにコードimageView.setEnabled(false)
を追加して、回転が終了したときにimageView.setEnabled(true)
を追加することができます。コード:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ImageView imageView = (ImageView)findViewById(R.id.img);
final ViewPropertyAnimator viewPropertyAnimator = imageView.animate();
viewPropertyAnimator.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
super.onAnimationStart(animation);
imageView.setEnabled(false);
}
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
imageView.setEnabled(true);
}
});
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewPropertyAnimator.rotationBy(180).setDuration(2000).setInterpolator(new DecelerateInterpolator()).start();
}
});
}