0

当谈到 Android 动画时,我很惊讶地发现这么少的例子。我找到了动画演示,但它们只提供了您可能想要实现的一小部分。

对于我的特殊情况,我只是试图围绕中心点设置形状的动画。我可以从演示中看到,您可以使用以下内容来传递值:

ObjectAnimator.ofObject(
      ballHolder
    , "name"
    , new XYEvaluator()
    , position1, position2, position3, position4, positionEtc);

但是我怎样才能传递一个圆圈的所有值呢?我确定您不会以这种方式实现它(如上例所示)。

也许我应该以不同的方式做这件事?任何帮助将非常感激。

4

1 回答 1

1

尝试此代码并根据需要进行调整:

要实现旋转动画,您可以在 XML 中定义该动画:在 /res/anim 文件夹下创建一个名为 :rotate_around_center_point.xml 的动画 xml 文件

 <?xml version="1.0" encoding="utf-8"?> 
  <set  xmlns:android="http://schemas.android.com/apk/res/android"
   android:shareInterpolator="false"> 
   <rotate android:toDegrees="360"  
     android:duration="700"  
     android:pivotX="205"    
     android:pivotY="180"
     android:interpolator="@android:anim/linear_interpolator"/>
  </set> 

将动画应用于 View :让我们说它用于旋转图像:

     ImageView animationTarget = (ImageView) this.findViewById(R.id.testImage);
     Animation animation = AnimationUtils.loadAnimation(this,
     R.anim.rotate_around_center_point); animationTarget.startAnimation(animation); 

或者

在 Java 代码中动态创建动画:

 Animation newAnimation = new RotateAnimation(0, 360, 205, 180);
 newAnimation.setDuration(700);
 animationTarget.startAnimation(newAnimation); 

希望有帮助。

于 2012-11-18T12:48:51.810 回答