Что делать, если не работает bias, если задавать программно?

Программно пытаюсь задать bias, чтобы мои чекбоксы равномерно растянулись по контейнеру. Каждый чекбокс между собой соединил. Вот кусочек кода:

val constraintSet = ConstraintSet()
constraintSet.clone(mainConstraintLayout)

constraintSet.setHorizontalBias(checkBox1.id, 0.5F)
constraintSet.setHorizontalBias(checkBox2.id, 0.5F)
constraintSet.setHorizontalBias(checkBox3.id, 0.5F)
constraintSet.setHorizontalBias(checkBox4.id, 0.5F)
constraintSet.setHorizontalBias(checkBox5.id, 0.5F)
constraintSet.setHorizontalBias(checkBox6.id, 0.5F)
constraintSet.setHorizontalBias(checkBox7.id, 0.5F)

constraintSet.applyTo(mainConstraintLayout)

В итоге получаю это:

введите сюда описание изображения

А необходимо так:

введите сюда описание изображения

Почему программная реализация не работает как в xml?


Ответы (1 шт):

Автор решения: Виктор Шамрук

Решение было найдено спустя час))

В коде в одном месте неправильно указал одному чекбоксу привязку, из за этого всё слетело. Починил.

Но! Ещё пришлось дописать одну плюшку, без которой все чекбоксы сдвигались равномерно вправо))

constraintSet.setHorizontalChainStyle(checkBox1.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox2.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox3.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox4.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox5.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox6.id, ConstraintSet.CHAIN_SPREAD)
constraintSet.setHorizontalChainStyle(checkBox7.id, ConstraintSet.CHAIN_SPREAD)

Возможно, это будет кому-то полезно :)

→ Ссылка