Android Animation学习

 时间:2026-02-14 23:24:40

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);

  • Android学习视频
  • Android学习:[8]android体系架构
  • Android Studio 学习之 Android SDK快速更新
  • Android 新建 Android Project
  • Android 属性动画(Property Animation)解析
  • 热门搜索
    感恩教育手抄报 植树节手抄报内容50字 感恩母亲手抄报 卫生与健康手抄报 抗美援朝手抄报 昆虫记手抄报 防溺水手抄报简单 欢庆六一手抄报内容 防溺水手抄报内容文字 一二年级安全手抄报