AnimatorSet混合动画类,可以并联或者串联地播放动画。一般的AnimatorSet会和ObjectAnimator一起使用用于切实的改变视图的属性(普通的Animation不会改变视图的属性,动画播放完毕后视图又恢复原来的属性)。
ImageView mLargeCircle = new ImageView(getContext());
PropertyValuesHolder mPvhScaleX = PropertyValuesHolder.ofFloat("scaleX", 1, 0.8f, 1);
参数"scaleX", 1, 0.8f, 1的意思是在执行动画的时候,mLargeCircle会执行setScaleX(scaleValue),scaleValue的值从1到0.8f变化再向1变化。PropertyValuesHolder mPvhScaleY = PropertyValuesHolder.ofFloat("scaleY", 1, 0.8f, 1);
PropertyValuesHolder propertyValuesHolder = PropertyValuesHolder.ofFloat("Alpha",0.5f,1.0f);
以此类推这里就是动画执行的时候会调用mLargeCircle.setAlpha(); ObjectAnimator largeCircleAnim = ObjectAnimator.ofPropertyValuesHolder( mLargeCircle,mPvhScaleX, mPvhScaleY,propertyValuesHolder);
这里是系列动画效果和mLargeCircle绑定 mAnim = new AnimatorSet(); mAnim.play(largeCircleAnim); mAnim.setInterpolator(new AccelerateDecelerateInterpolator()); mAnim.setDuration(500); mAnim.start();