Что делать, если не работает 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)
Возможно, это будет кому-то полезно :)

