繁体   English   中英

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

[英]Android Animate view from off screen not working

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

我打电话的时候:

view.startAnimation(tA);

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

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

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

通过研究Android Animations在开始或结束时提供屏幕外坐标时效果不佳的相同问题,我的理解是这样。

Android论坛上有一些关于这个bug的对话已经解决,但我仍然遇到4.2的问题。

编辑:

第二个想法,我只是遇到了这个答案 ,如果你可以使用更新的API( ObjectAnimator ),它提供了一个ObjectAnimator替代方案。

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

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

ObjectAnimator.ofFloat(Object objBeingAnimated, String propertyBeingAnimated, float startValue, float endValue)

我发现这个答案使用ValueAnimator来修改MarginLayoutParams.topMargin ()中的MarginLayoutParams.topMargin (在我的例子中onAnimationUpdate() ,这解决了这个问题。 我的视图以其边距设置开始,以便视图关闭屏幕。

ObjectAnimator方法很有前途,但对我来说不起作用,它与TranslateAnimation的屏幕外视图有相同的截止问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM