最近,我开始在我的应用程序中实现CostraintLayout,并且我有一个基于地图的应用程序,需要地图动画。因此,我使用了功能强大的ConstraintSet对其进行动画处理,但是当我尝试删除一个旧的约束并将一个新的约束连接到该地图时,该应用程序将冻结并提供ANR。
我的代码:
ConstraintSet set = new ConstraintSet();
set.clone(parent);
set.clear(R.id.detailView, ConstraintSet.TOP);
set.clear(R.id.map, ConstraintSet.BOTTOM);
set.connect(R.id.detailView, ConstraintSet.BOTTOM, R.id.parent, ConstraintSet.BOTTOM, 0);
set.connect(R.id.map, ConstraintSet.BOTTOM, R.id.detailView, ConstraintSet.TOP, 0);
AutoTransition trans = new AutoTransition();
trans.setDuration(500);
trans.setInterpolator(new LinearInterpolator());
TransitionManager.beginDelayedTransition(parent, trans);
set.applyTo(parent);
注意:已在Android 4.4.4上测试