我有一个视图,完全定位在屏幕外面,并且我正在尝试将其动画显示在屏幕上。
当我调用:
当我调用:
view.startAnimation(tA);
没有任何事情发生,tA.initialize和tA.applyTransformation从未被调用。
如果在开始动画之前移动视图使其任意部分可见,则动画将正常工作。
当一个视图定位在父视图的外侧时,是什么阻止了它的动画效果?
view.startAnimation(tA);
没有任何事情发生,tA.initialize和tA.applyTransformation从未被调用。
如果在开始动画之前移动视图使其任意部分可见,则动画将正常工作。
当一个视图定位在父视图的外侧时,是什么阻止了它的动画效果?
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(Object objBeingAnimated, String propertyBeingAnimated, float startValue, float endValue)
我发现使用ValueAnimator
在onAnimationUpdate()
中修改MarginLayoutParams.topMargin
(在我的情况下)来解决问题,这个答案在这里。
ObjectAnimator
的方法很有前途,但对于我来说并没有起作用,它与TranslateAnimation
一样无法处理屏幕外视图的截断问题。