Android / Kotlin - создание двух кнопок и применение ограничений - PullRequest
0 голосов
/ 14 апреля 2019

В Android / Kotlin я хотел бы динамически создать две кнопки и добавить ограничения между обоими (начало / начало и верх / низ).

Я могу ограничить две статические кнопки:

    val mainLayout = findViewById<ConstraintLayout>(R.id.constraintLayout)
    val constraintSet = ConstraintSet()
    constraintSet.clone(constraintLayout)
    constraintSet.connect(b1.id, ConstraintSet.START, b2.id, ConstraintSet.END, 0)
    constraintSet.connect(b1.id, ConstraintSet.TOP, b2.id, ConstraintSet.BOTTOM, 0)
    constraintSet.applyTo(mainLayout)

, но не при их динамическом создании: на экране ничего не появляется.

В динамическом случае я заметил идентификаторы, где-1 для обоих ...

В конце моя цель - динамически создать сетку кнопок.

Спасибо!

1 Ответ

1 голос
/ 14 апреля 2019

Позвольте мне начать с конца. если вам нужно сеточное представление, содержащее кнопки, вы все равно должны реализовать его с помощью RecyclerView.

Когда вы создаете кнопку, ее идентификатор равен -1. Вы можете установить идентификатор в этом:

b1.id = View.generateViewId()

Если вы не видите кнопок, отметьте «Добавить кнопки в mainView?» что-то вроде:

mainLayout.addView(b1)

Будьте осторожны, вы должны добавить представление перед клонированием constraintLayout в ConstraintSet.

Тогда я думаю, что ваш код будет работать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...