Animation.setFillAfter /之前 – 他们工作/他们是什么?

正如在我的问题的标题是什么setFillBefore()setFillAfter()应该做什么?

我希望setFillAfter()会在animation完成后对View永久化进行更改,但这是不正确的?

答案是肯定的,他们工作,可能不是你期望的 – 例如,对setFillAfter(boolean fillAfter)的描述说

如果fillAfter为true,则此animation执行的转换在完成时将保持不变。

当设置为true时,它会这样做。

然而,在Android上animation不直观地实际上是animation化视图本身,而是animation化视图的位图表示。

您可能遇到的问题是,在animation之后,视图返回到animation之前的状态 – setFillAftersetFillBefore无法帮助您,因为在这种情况下,您真正​​想要设置视图的属性与animation表示相同(它们是独立的东西),而setFillAftersetFillBefore仅适用于animation属性,而不适用于视图属性。

他们存在的原因是链接animation。 假设你有一个翻译animation,然后淡出。 如果你没有在翻译animation上设置setFillAfter(true) ,那么视图就会翻译,跳回原来的位置,然后淡出。 通过在翻译animation上设置setFillAfter(true) ,视图将移动,然后在当前位置淡出。