Как программно установить атрибут XML 'layout_constrainedWidth' ConstraintLayout?

эта работа для меня

<meta name="author" content="Alan van Buuren @("@Alan_van_Buuren")">

Или вы можете использовать: @@ Alan_van_Buuren

: S

0
задан sourav.bh 17 January 2019 в 07:05
поделиться

2 ответа

Если вы хотите установить constrainedWidth/Height программно, то вы должны взять ConstraintLayout.LayoutParams для своего просмотра и установить флаг с именем constrainedWidth или constrainedHeight по вашему желанию. 115]

Т.е.

ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams) myView.getLayoutParams(); // View for which we need to set constrainedWidth.
lp.constrainedWidth = true/false;
myView.setLayoutParams(lp);

constrainedWidth

Укажите, будет ли ограничен размер по горизонтали в случае, когда левые и ампер; установлены правильные ограничения, и измерение виджета не является фиксированным измерением.

По умолчанию, если для виджета установлено значение WRAP_CONTENT, мы будем рассматривать это измерение как фиксированное измерение , то есть измерение не изменится независимо от ограничений.

Установка этого атрибута в true позволяет измерению изменяться для соблюдения ограничений.

Проверьте здесь .

0
ответ дан Jeel Vankhede 17 January 2019 в 07:05
поделиться

Я только что понял это.

Таким образом, основываясь на ответах выше, к

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);
[118 ] Однако при использовании 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)
0
ответ дан Archie G. Quiñones 17 January 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: