Animation.setFillAfter /之前 – 他们工作/他们是什么?
正如在我的问题的标题是什么setFillBefore()
和setFillAfter()
应该做什么?
我希望setFillAfter()
会在animation完成后对View永久化进行更改,但这是不正确的?
答案是肯定的,他们工作,可能不是你期望的 – 例如,对setFillAfter(boolean fillAfter)
的描述说
如果fillAfter为true,则此animation执行的转换在完成时将保持不变。
当设置为true时,它会这样做。
然而,在Android上animation不直观地实际上是animation化视图本身,而是animation化视图的位图表示。
您可能遇到的问题是,在animation之后,视图返回到animation之前的状态 – setFillAfter
和setFillBefore
无法帮助您,因为在这种情况下,您真正想要设置视图的属性与animation表示相同(它们是独立的东西),而setFillAfter
和setFillBefore
仅适用于animation属性,而不适用于视图属性。
他们存在的原因是链接animation。 假设你有一个翻译animation,然后淡出。 如果你没有在翻译animation上设置setFillAfter(true)
,那么视图就会翻译,跳回原来的位置,然后淡出。 通过在翻译animation上设置setFillAfter(true)
,视图将移动,然后在当前位置淡出。