标签:android style blog http color os java 使用 io
声明:下面的内容需要Android API level 11的支持ofInt()
, ofFloat()
, or ofObject()。
例如:
onAnimationUpdate()
回调函数中
调用View.invalidate()方法来刷新屏幕的显示。比如说,设置Drawable对象的color属性。但是,View中的所有setter方法,如 setAlpha()
and setTranslationX()会自动地调用invalidate()方法,因此不需要额外地调用invalidate()方法。
squashAnim1
, squashAnim2
, stretchAnim1
, and stretchAnim2
Animator.AnimatorListener
onAnimationStart()
- 动画启动时调用onAnimationEnd()
- 动画结束时调用onAnimationRepeat()
- 动画重新播放时调用onAnimationCancel()
- 动画被Cancel时调用. 一个被Cancel的动画也会调用onAnimationEnd()ValueAnimator.AnimatorUpdateListener
onAnimationUpdate()
- 在动画的每一帧上调用. 在这个方法中,你可以使用ValueAnimator的getAnimatedValue()方法来获取计算出来的值。当然,这个监听器一般只适用于ValueAnimator。值得注意的是,你可能需要在这个方法中调用View.invalidate()方法来刷新屏幕的显示。
AnimatorListenerAdapter来代替对Animator.AnimatorListener的接口的实现,那么就只需要实现你所关心的方法了。如:
ValueAnimatorAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f); fadeAnim.setDuration(250); fadeAnim.addListener(new AnimatorListenerAdapter() { public void onAnimationEnd(Animator animation) { balls.remove(((ObjectAnimator)animation).getTarget()); }
LayoutTransition
上可以通过调用 setAnimator()方法来设置Animator,另外,还需要向这个方法传递一个 LayoutTransition标志常量,这个常量指示着在什么时候执行这个animator,可用的常量有:
APPEARING
- 指示layout中的view正要显示的时候运行动画CHANGE_APPEARING
- 指示layout中因为有新的view加入而改变layout时运行动画DISAPPEARING
- 指示layout中的view正要消失的时候运行动画CHANGE_DISAPPEARING
- 指示layout中有view消失而改变layout时运行动画android:animateLayoutchanges
这个属性设置为true:
IntEvaluator
, FloatEvaluator
, and ArgbEvaluator
这三种计算器都不能满足你的要求的时候,你可以通过实现 TypeEvaluator
接口的 evaluate()方法来自定义一个Evaluator。
下面是FloatEvaluator的evaluate()的实现:
ValueAnimator
- <animator>
ObjectAnimator
- <objectAnimator>
AnimatorSet
- <set>
AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(myContext,
R.anim.property_animator);
set.setTarget(myObject);
set.start();
[Android Pro] Property Animation
标签:android style blog http color os java 使用 io
原文地址:http://www.cnblogs.com/0616--ataozhijia/p/3941372.html