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