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整个流程会无限循环播放。