我使用以下代码使用TransitionManager
和约束集在场景之间制作动画。
val transition = AutoTransition()
transition.addListener(object : Transition.TransitionListener {
override fun onTransitionEnd(transition: Transition) {
// do something
}
})
val constraintSet = ConstraintSet()
constraintSet.clone(this, R.layout.frame_loading)
TransitionManager.beginDelayedTransition(rootLayout, transition)
constraintSet.applyTo(rootLayout)
转换结束时我想做的事情就是回调。但是,有些情况下会有更改视图以及没有要更改的视图。当没有任何改变时,没有转换,并且没有调用回调(如here所述),这是一个问题,因为不应该运行应该在转换端运行的操作。是否有解决这个问题的好方法,不是像移动一个看不见的视图或其他强制预先绘制事件(触发转换)的方式那样的黑客攻击?或者有没有办法检查转换是否需要?