PropertyValuesHolder和AnimatorSet

来源:互联网 发布:matlab生成一个数组 编辑:程序博客网 时间:2024/05/22 13:35

PropertyValuesHolder:类似AnimatorSet,针对同一个对象的多个属性同时作用多种动画。

最后调用ofPropertyValuesHolder实现属性动画的共同作用。

  private void propertyValuesHolder() {        PropertyValuesHolder pv1 = PropertyValuesHolder.ofFloat("translationY", 600f);        PropertyValuesHolder pv2 = PropertyValuesHolder.ofFloat("scaleX", 1f, 0, 0.5f);        PropertyValuesHolder pv3 = PropertyValuesHolder.ofFloat("scaleY", 1f, 0, 0.5f);        ObjectAnimator.ofPropertyValuesHolder(mImage, pv1, pv2, pv3).setDuration(1000).start();    }


AnimatorSet:不仅能够实现PropertyValuesHolder的效果,而且可以更精确的控制动画的顺序。

    private void animatorSet(){        ObjectAnimator animator1 = ObjectAnimator.ofFloat(mImage,"translationX",600);        ObjectAnimator animator2 = ObjectAnimator.ofFloat(mImage,"translationY",600);        ObjectAnimator animator3 = ObjectAnimator.ofFloat(mImage,"scaleY",1f,0,1f);        AnimatorSet animatorSet = new AnimatorSet();        animatorSet.setDuration(1000);//        animatorSet.playTogether(animator1,animator2,animator3);//        animatorSet.playSequentially(animator1,animator2,animator3);        animatorSet.play(animator1).after(animator2).before(animator3);        animatorSet.start();    }




1 0