互相触发android路径矢量动画

时间:2015-09-08 02:39:55

标签: java android animation

我需要在彼此之后触发动画可绘制的"队列" 就像其中一个动画完成另一个开始工作 现在所有动画都运行良好,但都是在同一时间开始,但是当我试图让AnimationListener让它们互相触发时 我收到了错误

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hesham.salahshow/com.example.hesham.salahshow.MainActivity}: java.lang.RuntimeException: Unknown animation name: objectAnimator

任何人都可以提供帮助吗?

MainActivity

public class MainActivity extends ActionBarActivity {
private ImageView vectorImage;
private ImageView vectorImage2;
private ImageView vectorImage3;
private ImageView vectorImage4;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    vectorImage = (ImageView) findViewById(R.id.imageid);
    vectorImage2 = (ImageView) findViewById(R.id.imageid2);
    vectorImage3 = (ImageView) findViewById(R.id.imageid3);
    vectorImage4 = (ImageView) findViewById(R.id.imageid4);

    mAnim = AnimationUtils.loadAnimation(this, R.anim.path);
    mAnim.setAnimationListener((Animation.AnimationListener) this);

    vectorImage.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


vectorImage.startAnimation(mAnim);
       ((Animatable) vectorImage.getDrawable()).start();

            // ((Animatable) vectorImage2.getDrawable()).start();
           // ((Animatable) vectorImage3.getDrawable()).start();
           // ((Animatable) vectorImage4.getDrawable()).start();
        }});

 }
 }

动画/路径

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="1"
android:duration="1000"
android:valueType="floatType"
android:interpolator="@android:interpolator/linear">

</objectAnimator>

提前致谢:)

1 个答案:

答案 0 :(得分:0)

您的最低SDK版本是什么? API {11}中引入了ObjectAnimator

此外,要按顺序放置动画,您可以覆盖AnimationListener.onAnimationEnd()并使用它来检查刚结束的动画并开始下一个动画。