0
我使用 image.animate().rotationBy(180).setInterpolator(new DecelerateInterpolator()).start();
爲180度旋轉動畫。 180度動畫 - 點擊兩次後會產生隨機旋轉值
但是,如果我兩次快速按下圖標,我結束了這樣的事情:
我使用 image.animate().rotationBy(180).setInterpolator(new DecelerateInterpolator()).start();
爲180度旋轉動畫。 180度動畫 - 點擊兩次後會產生隨機旋轉值
但是,如果我兩次快速按下圖標,我結束了這樣的事情:
您可以添加代碼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();
}
});
}