ConstraintSet 约束布局独有的 关键帧动画

关键帧动画:
任何动画要表现运动或变化,至少前后要给出两个不同的关键状态,而中间状态的变化和衔接电脑可以自动完成,在Flash中,表示关键状态的帧动画叫做关键帧动画

Constraint 可以配合 ConstraintLayout 实现关键帧动画,只需要给出 
    “动画前的xml”、“动画后的xml”、“插值器”就可以开始动画。

val constraintSet1 = ConstraintSet()
constraintSet1.clone(rootView2)//拷贝一份 rootView2 作为动画结束模板rootVie2: 动画结束时的 xml 文件
//constraintSet1.clone(baseContext,R.layout.activity_main2)//也可以这么clone
TransitionManager.beginDelayedTransition(rootView)//设置动画插值器
constraintSet1.applyTo(rootView)//应用到 此View = view 执行动画;rootView:  Activity 的根 View

注意:这并不是假的,类似属性动画那样,rootView的控件位置真正的改变了。
如果要反向执行动画,不能直接用 constraintSet.clone(rootView),因为rootView的布局已经改变了,执行起来是不会有任何变化的(亲测)。必须在布局改变之前 clone(rootView) 来拷贝开始位置的模板。

还不知道如何监听动画结束


猜你喜欢

转载自blog.csdn.net/qq_34224268/article/details/80541178
今日推荐