屏幕外的Android Animate视图不起作用

Rai*_*erJ 8 animation android off-screen

我的视图完全位于屏幕之外,我试图将其设置为屏幕上的动画.

我打电话的时候:

view.startAnimation(tA);
Run Code Online (Sandbox Code Playgroud)

没有任何反应,tA.initialize和tA.applyTransformation永远不会被调用.

如果我在开始动画之前移动视图以使其中任何部分可见,则动画可以正常工作.

当视图位于父视图之外时,什么阻止视图被动画?

Alf*_*sen 3

通过研究同样的问题,我了解到 Android 动画在提供开始或结束的屏幕外坐标时表现不佳。

Android 论坛上有一些关于此错误已得到解决的对话,但我在 4.2 上仍然遇到问题。

编辑:

再想一想,我刚刚遇到了这个答案,如果您可以使用较新的 API ( ObjectAnimator),它提供了一个可行的替代方案。

View view = this;
ObjectAnimator anim = ObjectAnimator.ofFloat(view, "y", 0, 100);
anim.setDuration(super.animationDuration());
anim.start();
Run Code Online (Sandbox Code Playgroud)

其中 的属性ObjectAnimator.ofFloat(view, "y", 0, 100);

ObjectAnimator.ofFloat(Object objBeingAnimated, String propertyBeingAnimated, float startValue, float endValue)
Run Code Online (Sandbox Code Playgroud)