最近,我开始在我的应用程序中实现 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上测试
这是谷歌地图版本 16.4.1 中修复的错误