Я только что понял это.
Итак, основываясь на ответах выше,
constrainedWidth
можно получить через ConstraintLayout.LayoutParams
и, следовательно, можно изменить с помощью следующего кода: (Спасибо @JeelVankhede)
ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams)
myView.getLayoutParams(); // View for which we need to set constrainedWidth.
lp.constrainedWidth = true/false;
myView.setLayoutParams(lp);
Однако при использовании ConstraintsSet
потребуется следующий код:
val constraintLayout = // your constraint layout
val constraintSet = ConstraintSet()
constraintSet.clone(constraintLayout)
// This is the imporatant part
constraint.constrainDefaultWidth(R.id.yourViewId, ConstraintSet.MATCH_CONSTRAINT_WRAP)
constraintSet.applyTo(constraintLayout)