Android 动画

开发文档中将动画分为了三类:(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使用的而且要写在代码中,切记。

原文地址:https://www.cnblogs.com/mayhelp/p/3418925.html