开发文档中将动画分为了三类:(file:///D:/adt-bundle-windows-x86-20130522/sdk/docs/guide/topics/graphics/overview.html)
1,Property Animation
2,View Animation
3,Drawable Animation
Notes:(如果要没有交互就开始播放动画,最好在onWindowFocusChanged()中执行,而不能在onCreate()中,应为那时AnimationDrawable还没被附加到window上)
Android Animation fillBefore fillAfter和fillEnabled的作用是什么?
看了文档以后发现:
file:///D:/adt-bundle-windows-x86-20130522/sdk/docs/reference/android/view/animation/Animation.html
原来这3个值的意思分别是:
FillBefore:结合fillEnable使用的,当fillBefrore为true或者fillEnable为false的时候会把透明度应用到动画开始前,只有满足fillbefore为false而且fillenable为true的时候才不会吧透明度应用在开始前。
FillAfter , 动画的最后一帧是否保持在View上面,貌似和fillEnable没什么关系,因为我的代码实验了一下,发现在xml文件中设置这2个值为true,并不能起作用。如上面的xml中,是要是把原图放大到1.5贝,最后保持1.5贝的图。但是xml这样设置并不能做到这个效果。
于是,我在代码中强制调用
myAnimation.setFillEnabled(true);
myAnimation.setFillAfter(true);
这样才起作用,而且设置fllenable为false也起作用。这是不是android的一个bug呢。
可见在真正使用的时候fillAfter也要配合filleNable使用的而且要写在代码中,切记。