大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Android中的动画:
十载专业网站建设公司历程,坚持以创新为先导的网站服务,服务超过数千家企业及个人,涉及网站设计、app开发定制、微信开发、平面设计、互联网整合营销等多个领域。在不同行业和领域给人们的工作和生活带来美好变化。
一、分类:TweenAnimation(补间动画)和FrameAnimation(帧动画)。
TweenAnimation,通过对图像不断做变换产生动画效果,是一种渐变效果;
AlphaAnimation:透明度渐变;
ScaleAnimation:尺寸缩放;
TranslateAnimation:移动
RotateAnimation:旋转
FrameAnimation:顺序播放事先做好的图像是一种转换动画;
二、属性简介:
TweenAnimation共同属性:
android:duration [long] :动画持续的时间;
android:fillAfter [boolean]:视图停在动画结束的位置,但是真正的位置仍然是布局中给定位置;
android:fillBefore[boolean]:视图停在动画开始的位置;
android:interpolator :指定一个动画的插入器,常用的插入器有:
accelerater_decelerate_interpolator:加速-减速 动画插入器
accelerater_interpolator:加速动画插入器;
deceleratr_interpolator:减速动画插入器;
android:repeatCount[int]:动画重复次数,-1表示无限循环;
android:repeatMode[int]:定义动画重复的行为,1,从起点重新开始;2,从结束位置开始相反执行;
android:startOffset[long]:动画之间的时间间隔,从上次动画停多少时间开始执行下个动画;
android:zAdjustment[int]:定义动画的Z order的改变,0:保持Z Order不变;1:保持在最上层;-1保持在最下层;(????待验证)
1.1 AlphaAnimation
xml中定义
代码中定义:
//fromAlpha:开始时的透明度,toAlpha:结束时的透明度 AlphaAnimation alpha = new AlphaAnimation(fromAlpha, toAlpha); //设置动画持续的时间 alpha.setDuration(durationMillis);
1.2 ScaleAnimation
xml
代码中
ScaleAnimation scale = new ScaleAnimation(fromX, toX, fromY, toY);
1.3 TranslateAnimation
xml
代码中:
TranslateAnimation anim = new TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta)
1.4 RotateAnimation
xml
代码:
ScaleAnimation anim = new ScaleAnimation(fromX, toX, fromY, toY)
2.xml定义动画在activity中的使用:
Animation animation = (Animation) AnimationUtils.loadAnimation(MainActivity.this, R.anim.animation);
3.插值器的使用
Interpolator对象 | 资源ID | 功能作用 |
---|---|---|
AccelerateDecelerateInterpolator | @android:anim/accelerate_decelerate_interpolator | 先加速再减速 |
AccelerateInterpolator | @android:anim/accelerate_interpolator | 加速 |
AnticipateInterpolator | @android:anim/anticipate_interpolator | 先回退一小步然后加速前进 |
AnticipateOvershootInterpolator | @android:anim/anticipate_overshoot_interpolator | 在上一个基础上超出终点一小步再回到终点 |
BounceInterpolator | @android:anim/bounce_interpolator | 最后阶段弹球效果 |
CycleInterpolator | @android:anim/cycle_interpolator | 周期运动 |
DecelerateInterpolator | @android:anim/decelerate_interpolator | 减速 |
LinearInterpolator | @android:anim/linear_interpolator | 匀速 |
OvershootInterpolator | @android:anim/overshoot_interpolator | 快速到达终点并超出一小步最后回到终点 |
4.FrameAnimation:帧动画
添加图片,按照添加图片的顺序播放;
AnimationDrawable anima = new AnimationDrawable(); anima.addFrame(drawable1, duration1); anima.addFrame(drawable2, duration2); anima.addFrame(drawable3, duration3); anima.addFrame(drawable4, duration4); view.setBackgroudDrawable(anima);