为什么ViewProperty动画不会多次运行?

时间:2014-03-07 08:30:32

标签: android

我有一个简单的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);
        }    
    });

2 个答案:

答案 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,您的动画将重新开始