Android动画知识回顾--ObjectAnimator属性动画

照例先附上启舰 大神博客链接。

我主要是为了强化记忆和回顾要点,如果想看详细内容那就去看大神的博客吧。

先看构造方法:

public static ObjectAnimator ofFloat(Object target, String propertyName, float... values) 

public static ObjectAnimator ofInt(Object target, String propertyName, int... values) 

public static ObjectAnimator ofObject(Object target, String propertyName,
            TypeEvaluator evaluator, Object... values)

前两种构造方法:

第一个参数用于指定这个动画要操作的控件
第二个参数用于指定这个动画要操作控件的属性
第三个参数是可变长参数,这个就跟ValueAnimator中的可变长参数的意义是一样的

而不同的是第三种构造方法,由于values是Object所以要传入特定的TypeEvaluator (估值器)来获取用于动画可用的参数

例如实现旋转效果:

ObjectAnimator animator = ObjectAnimator.ofFloat(tv,"rotation",0,180,0);
animator.setDuration(2000);
animator.start();

那“rotation”从哪来的呢?

其实rotation就是我们上面说的propertyName,与之相对应的是setPropertyName()方法。

既使用ObjectAnimator来构造动画,要操作的控件中,必须存在对应的属性的set方法,setter 方法的命名必须以骆驼拼写法命名,即set后每个单词首字母大写,其余字母小写,即类似于setPropertyName所对应的属性为propertyName,然后通过反射找到对应控件的setPropertyName()函数,将当前参数传入函数内。

发布了30 篇原创文章 · 获赞 13 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/wjr1949/article/details/105425547