Недавно я начал реализовывать 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