我正在使用动画师(ObjectAnimator)为视图的几个属性(缩放、旋转)设置动画。
将 ObjectAnimators 设置为目标视图时,它会正确设置动画。
但是有一个额外的要求是在一段时间后查看原始位置 (重置)。
我试图取消()动画师,但它只会取消动画并且不会重置视图。
可能的解决方案:创建另一个与初始动画师相反的动画师。
有没有其他方法可以重置它?
我正在使用动画师(ObjectAnimator)为视图的几个属性(缩放、旋转)设置动画。
将 ObjectAnimators 设置为目标视图时,它会正确设置动画。
但是有一个额外的要求是在一段时间后查看原始位置 (重置)。
我试图取消()动画师,但它只会取消动画并且不会重置视图。
可能的解决方案:创建另一个与初始动画师相反的动画师。
有没有其他方法可以重置它?
我的观点也有同样的问题。所以我用这个技巧解决了这个问题。所以我们假设我们有一个视图,点击它后应用动画。
viewLayout.arrow_back.setOnClickListener {arrow ->
arrow.animate().rotationXBy(50F) // this is a just simple anim not so usefull
.start()
arrow.isEnabled = false
}
我希望它会帮助某人。
请参阅我提出的解决方案,因为我在回收站视图中的视图内的动画有类似的问题,所以我必须找到一种方法来重置它们:
尝试从 Property Animator 重置值以在回收站视图中使用
Android O 中的好消息 这些将得到更好的支持
你的意思是停止正在运行的动画?如果是这样,请调用clearAnimation()
以从您调用的视图中删除动画startAnimation();
如果您的意思是在动画结束后将视图重置为其原始外观,则始终setFillAfter(false);
为动画。
我遇到了同样的问题,因为我使用了动画视图ViewPropertyAnimator
,addView()
并且removeView()
一次又一次地不创建新视图,但是视图可以显示一次,当您删除视图时,您addview()
再次调用,它没有显示,但是您看到属性可见性是可见的,animationListener
也可以调用。它很奇怪。