手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Android Animation学习

时间:2024-11-01 15:12:47

1、如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator,  (Animator可以是ValueAnimator、ObjectAnimator和AnimatorSet)  然后最后把它们放在一个AnimatorSet中。  另一种思路就是,把多个属性的改变放在同一个ValueAnimator中(ObjectAnimator也是ValueAnimator)。  而这就要借助PropertyValuesHolder。本文主要讲这种方法。

2、View的多属性动画:使用ViewPropertyAnimator  ViewPropertyAnimator是API Level 12引进的。  它是用来做针对蕺清寤凯View对象的多个属性动画功能。  (前面的PropertyValuesHolder对象是针对所有对象的,范围更广)。  如果要同时变换一个View的多个属性的话,ViewPropertyAnimator提供了一种更方便和更适合的方法。  而且由于多个属性的invalidate方法调用统一管理,而不是之前的分别调用,所以还会有一些性能优化。  注意ViewPropertyAnimator这个类的对象不是由调用者构造的,而是通过View类的animate()方法返回的。  比如下面的代码对比:给同一个View实现同一个动画效果:  用多个ObjectAnimator对象:ObjectAnimator animX = ObjectAnimator.ofFloat(myView, "x", 50f); ObjectAnimator animY = ObjectAnimator.ofFloat(myView, "y", 100f); AnimatorSet animSetXY = new AnimatorSet(); animSetXY.playTogether(animX, animY); animSetXY.start();  用一个ObjectAnimator对象加多个PropertyValuesHolder:PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("x", 50f); PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("y", 100f); ObjectAnimator.ofPropertyValuesHolder(myView, pvhX, pvyY).start();  用ViewPropertyAnimator:myView.animate().x(50f).y(100f);

© 手抄报圈