我有一个简单的View属性动画附加到一个按钮。动画在第一次按下按钮时效果很好。但是,在后续点击中不会发生动画。日志证明按钮正在按下。有什么我想念的吗?这是代码:
Button handle = (Button) findViewById(R.id.HandleButton);
Button wheel1 = (Button) findViewById(R.id.Wheel1);
handle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Button Clicked");
ViewPropertyAnimator spinWheel1 = wheel1.animate().rotationX(360*8).setDuration(2000);
}
});
答案 0 :(得分:3)
Button handle = (Button) findViewById(R.id.HandleButton);
handle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Button Clicked");
spinWheel1 = wheel1.animate().rotationXBy(360*8).setDuration(2000);
}
});
尝试使用rotationXBy而不是rorationX,您可能还想尝试使用对象动画,因为您可以设置开始和结束旋转度。
答案 1 :(得分:0)
试试这个:
ObjectAnimator animator = ObjectAnimator.ofFloat(spinWheel1, View.ROTATION, 0, 360*8);
animator.setDuration(2000);
animator.start();
您的按钮已经旋转到360 * 8 通过添加0,您的动画将重新开始