AnimationUtils.loadAnimation()方法,解析xml文件,并生成Animation对象。
补间动画:shake动画,配置1:fromXDelta="0" toXDelta="10" duration="1000" interpolator="@anim/cycle_7"; 配置2:cycleInterpolator cycles="7"; 淡入淡出:fromAlpha="0.0" toAlpha="1.0";
TranslateAnimation/ScaleAnimation/AlphaAnimation/RotateAnimation --> Animation; Animation的startOffset属性,动画执行开始延时时间。
GridLayoutAnimationController --> LayoutAnimationController;动画是根据GridLayoutAnimationController.AnimationParameters来计算的;存储在ViewGroup.LayoutParams参数中。
ObjectAnimator --> ValuAnimator --> Animator; AnimationSet/ValueAnimator --> Animator;
ObjectAnimator动画,target中必须有set<propertyName>()方法; 使用ValueAnimator,需要配合ValueAnimator.AnimatorUpdateListener接口。
逐帧动画:animation-list。
AnimationDrawable --> DrawableContainer --> Drawable。
逐帧动画,一帧一帧的画,优点是灵活,缺点是过度可能不连贯,体积大;补间动画,优点制作方便,占用内存少;
使用scroller/overscroller配合手势动作实现 滚动效果。
AccelerateDecelerateInterpolator/AccelerateInterpolator/AnticipateInterpolator/AnticipateOvershootInterpolator/BounceInterpolator/CycleInterpolator/DecelerateInterpolator/LinearInterpolator/OvershootInterpolator实现Interpolator接口。