补间动画
补间动画的分类
AlphaAnimation(透明度渐变)
-
anim_alpha.xml:
- 属性解释:
fromAlpha :起始透明度
toAlpha:结束透明度
透明度的范围为:0-1,完全透明-完全不透明
ScaleAnimation(缩放渐变)
-
anim_scale.xml:
- 属性解释:
fromXScale/fromYScale:沿着X轴/Y轴缩放的起始比例
toXScale/toYScale:沿着X轴/Y轴缩放的结束比例
pivotX/pivotY:缩放的中轴点X/Y坐标,即距离自身左边缘的位置,比如50%就是以图像的 中心为中轴点
TranslateAnimation(位移渐变)
-
anim_translate.xml:
- 属性解释:
fromXDelta/fromYDelta:动画起始位置的X/Y坐标
toXDelta/toYDelta:动画结束位置的X/Y坐标
RotateAnimation(旋转渐变)
-
anim_rotate.xml:
- 属性解释:
fromDegrees/toDegrees:旋转的起始/结束角度
repeatCount:旋转的次数,默认值为0,代表一次,假如是其他值,比如3,则旋转4次 另外,值为-1或者infinite时,表示动画永不停止
repeatMode:设置重复模式,默认restart,但只有当repeatCount大于0或者infinite或-1时 才有效。还可以设置成reverse,表示偶数次显示动画时会做方向相反的运动!
为View动态设置动画效果
1、先调用AnimationUtils.loadAnimation(动画xml文件)
2、然后View控件调用startAnimation(anim) 开始动画~这是静态加载的方式
动画状态的监听
帧动画
1.帧动画非常容易理解,其实就是简单的由N张静态图片收集起来
2.然后我们通过控制依次显示 这些图片,因为人眼"视觉残留"的原因,会让我们造成动画的"错觉",跟放电影的原理一样!
帧动画属性
android:oneshot是设置动画是否只是播放一次
true只播放一次,false循环播放!
帧动画的开启与结束
-获取动画的实例对象
1、AnimationDrawable anim = (AnimationDrawable) img_show.getBackground();
帧动画开启
2、 anim.start();
帧动画结束
3、 anim.stop();
属性动画
android:duration:动画的持续时间
android:propertyName="x":这里的x,还记得上面的"alpha"吗?加载动画的那个对象里需要 定义getx和setx的方法,objectAnimator就是通过这里来修改对象里的值的!
android:valueFrom="1" :动画起始的初始值
android:valueTo="0" :动画结束的最终值
android:valueType="floatType":变化值的数据类型
属性动画属性讲解
加载属性动画
1、用AnimatorInflator加载动画
2、把动画设置给相应控件
3、开启动画