ObjectAnimator的onFloat方法,四个基本参数,也可以是多个
设置属性动画的view
要设置的属性(“rotationX”,“scaleX","alpha")
该属性的初始值
该属性的完成值
恢复初始值
如果想同时改变多个属性,PropertyValuesHolder的onFloat方法,三个基本参数,也可以是多个
要设置的属性(“rotationX”,“scaleX","alpha")
该属性的初始值
该属性的完成值
恢复初始值
然后通过ObjectAnimator的ofPropertyValuesHolder方法调用多个属性,两个基本参数,也可以是多个
设置属性动画的view
属性a
属性b
。。。
ObjectAnimator添加监听事件:addListener(new AnimatorListenerAdapter)
通过xml定义的属性动画(可以有多种属性)
属性动画的xml标签用<objectAnimator>
view动画的xml标签用<translate><alpha><rotate><scale>
AnimatorInflater的loadAnimator方法,两个参数
当前上下文context
xml的文件R.animator.xxx
这个方法生成Animator对象,这个对象通过setTarget(view)跟srart()方法启动动画,监听事件跟ObjectAnimator一样
这里要区分一下与view动画的区别:
通过xml定义的view动画(可以有多种属性,类似PropertyValuesHolder)
AnimationUtils的loadAnimation方法,两个参数
当前上下文context
xml的文件R.anim.xxx
通过具体的属性定义的view动画(单一属性)
new TranslateAnimation来获取对象,构造函数有几种,写一个最简单的,四个参数
x轴初始位置
x轴完成位置
y轴初始位置
y轴完成位置
上面这两种对象都是通过view的startAnimation来调用的
这两个对象都有一个监听方法:setAnimationListener(new AnimationListener)
设置属性动画的view
要设置的属性(“rotationX”,“scaleX","alpha")
该属性的初始值
该属性的完成值
恢复初始值
如果想同时改变多个属性,PropertyValuesHolder的onFloat方法,三个基本参数,也可以是多个
要设置的属性(“rotationX”,“scaleX","alpha")
该属性的初始值
该属性的完成值
恢复初始值
然后通过ObjectAnimator的ofPropertyValuesHolder方法调用多个属性,两个基本参数,也可以是多个
设置属性动画的view
属性a
属性b
。。。
ObjectAnimator添加监听事件:addListener(new AnimatorListenerAdapter)
通过xml定义的属性动画(可以有多种属性)
属性动画的xml标签用<objectAnimator>
view动画的xml标签用<translate><alpha><rotate><scale>
AnimatorInflater的loadAnimator方法,两个参数
当前上下文context
xml的文件R.animator.xxx
这个方法生成Animator对象,这个对象通过setTarget(view)跟srart()方法启动动画,监听事件跟ObjectAnimator一样
这里要区分一下与view动画的区别:
通过xml定义的view动画(可以有多种属性,类似PropertyValuesHolder)
AnimationUtils的loadAnimation方法,两个参数
当前上下文context
xml的文件R.anim.xxx
通过具体的属性定义的view动画(单一属性)
new TranslateAnimation来获取对象,构造函数有几种,写一个最简单的,四个参数
x轴初始位置
x轴完成位置
y轴初始位置
y轴完成位置
上面这两种对象都是通过view的startAnimation来调用的
这两个对象都有一个监听方法:setAnimationListener(new AnimationListener)