Android中的动画:

一、分类:TweenAnimation(补间动画)和FrameAnimation(帧动画)。

  1. TweenAnimation,通过对图像不断做变换产生动画效果,是一种渐变效果;

    AlphaAnimation:透明度渐变;

    ScaleAnimation:尺寸缩放;

    TranslateAnimation:移动

    RotateAnimation:旋转

  2. FrameAnimation:顺序播放事先做好的图像是一种转换动画;

二、属性简介:

  1. 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中定义

<!--<alphaandroid:fromAlpha=""开始时的透明度,0.0-1.0--><!--android:toAlpha=""结束时的透明度0.0-1.0--><!--android:duration=""动画持续的时间/>-->

代码中定义:

//fromAlpha:开始时的透明度,toAlpha:结束时的透明度AlphaAnimationalpha=newAlphaAnimation(fromAlpha,toAlpha);//设置动画持续的时间alpha.setDuration(durationMillis);

1.2 ScaleAnimation

xml

<!--<scale--><!--android:fromXScale=""动画起始时X坐标上的伸缩尺寸--><!--android:toXScale=""动画结束时X坐标上的伸缩尺寸--><!--android:fromYScale=""动画起始时Y轴上的伸缩尺寸--><!--android:toYScale=""动画结束时Y轴上的伸缩尺寸--><!--android:pivotX=""动画相对于物件的X坐标的开始位置--><!--android:pivotY=""动画相对与物件Y坐标的开始位置--><!--/>-->

代码中

ScaleAnimationscale=newScaleAnimation(fromX,toX,fromY,toY);

1.3 TranslateAnimation

xml

<translateandroid:fromXDelta="0%"//x轴起始位置android:pivotX="0%"//动画相对于物件X坐标的开始位置android:pivotY="0%"//动画相对于物件Y坐标的开始位置android:toXDelta="30%"//x轴的结束位置android:fromYDelta="0%"//y轴起始位置android:toYDelta="0%"//y轴结束位置android:duration="10000"/>

代码中:

TranslateAnimationanim=newTranslateAnimation(fromXDelta,toXDelta,fromYDelta,toYDelta)

1.4 RotateAnimation

xml

<!--<rotate--><!--android:fromDegrees=""动画起始时物件的角度--><!--android:toDegrees=""动画结束时物件旋转的角度--><!--角度为负表示逆时针旋转,角度为正表示顺时针旋转--><!--android:pivotX=""动画相对于物件X坐标的开始位置--><!--android:pivotY=""动画相对与物件Y坐标的开始位置--><!--android:duration=""动画运行时间/>-->

代码:

ScaleAnimationanim=newScaleAnimation(fromX,toX,fromY,toY)

2.xml定义动画在activity中的使用:

Animationanimation=(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:帧动画

添加图片,按照添加图片的顺序播放;

AnimationDrawableanima=newAnimationDrawable();anima.addFrame(drawable1,duration1);anima.addFrame(drawable2,duration2);anima.addFrame(drawable3,duration3);anima.addFrame(drawable4,duration4);view.setBackgroudDrawable(anima);


更多相关文章

  1. Android(安卓)插值器 Interpolator 介绍
  2. Android(安卓)Activity界面切换添加动画特效
  3. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  4. android 动画
  5. Android(安卓)Activity界面切换添加动画特效
  6. 《Android开发从零开始》——25.数据存储(4)
  7. android实现字体闪烁动画的方法
  8. android Dialog大小修改
  9. android用户界面-组件Widget-地图视图MapView

随机推荐

  1. Execution failed for task ‘app:proces
  2. Android 通用 Dialog
  3. Android项目开发五-《星星生活志》1.使用
  4. Android(安卓)Studio 出现 error: cannot
  5. Android-Error:Cause: com/Android/build
  6. Android(安卓)生成和Pull解析xml
  7. android中使用开源项目做出上拉、下拉刷
  8. Android中的Toast详解
  9. listview中加入listbutton
  10. Android开发艺术探索-IPC机制