过度动画效果

1.AlphaAnimation(透明度动画)

2.ScaleAnimation(缩放动画)

3.TransalteAnimation(平移动画)

4.RotateAnimation(旋转动画)

先看下Animation的常用属性

Animation anim = new AlphaAnimation(1,0.1f);
//设置动画执行的时长(1秒)
anim.setDuraion(1000);
//动画执行结束后保存效果(1)
anim.setFillAfter(true);
anim.setFillBefore(true);
//重复播放动画(2)
anim.setRepeatCount(1);
//反转播放动画(3)
anim.setRepeatMode(2)

(1)动画执行结束后保存效果:

 动画执行结束后setFillAfter停留在动画的最后一帧,而setFillBefore停留在动画的第一帧,打个比方,点击图标从A点移动到B点,setFillAfter会把图片留在B点(图标虽然显示在B点,但该控件的位置依然在A点,这时候点击图标没什么效果,点击A点动画会再次执行),而setFillBefore会把图标停留在原点(执行后看着好像没什么效果)。

(2)重复播放动画:

  setRepeatCount只能用int型的值,如果填入的值为负数,动画会无限次重复播放。值为0或者整数,重复播放的次数在原来的值上加1,就比如值为0,它会执行1次,值为2,它会执行3次。

(3)反转播放动画:

  解释一下反转播放动画,比如平移效果,点击图标,图标会从A点移动到B点,然后它就会从B点移动回A点。setRepeatMode需要和setRepeatCount配合使用,不然不会有效果。setRepeatMode也是用int型的值,研究了一下,发现它的值只能为2,和setRepeatCount配合,setRepeatCount的值只能为-1和1,其他的会没有效果。setRepeatCount的值为1,整个流程效果(从有到无,然后从无到有)实现一次,值为-1整个流程会无限循环播放。

透明度动画:

缩放动画:

平移动画:

旋转动画:

猜你喜欢

转载自www.cnblogs.com/Mr-Deng/p/12053611.html