Android / Kotlin - 创建两个按钮并应用约束
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android / Kotlin - 创建两个按钮并应用约束相关的知识,希望对你有一定的参考价值。
在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)
但不是在动态创建它们时:屏幕上没有任何内容。
在动态的情况下,我注意到两个ids都为-1 ...
最后,我的目标是动态创建一个按钮网格。
谢谢 !
答案
让我从头开始。如果你想要一个包含按钮的网格视图,你必须由RecyclerView
实现它。
创建按钮时,按钮的id为-1。您可以通过以下方式将ID设置为:
b1.id = View.generateViewId()
如果看不到按钮,请选中“是否在mainView中添加按钮?”就像是:
mainLayout.addView(b1)
小心你必须在将constraintLayout
克隆到ConstraintSet
之前添加视图。
然后我认为你的代码会起作用!
以上是关于Android / Kotlin - 创建两个按钮并应用约束的主要内容,如果未能解决你的问题,请参考以下文章
使用 Kotlin 从 Android 上 ViewModel 中的 LiveData 更新 ListView 中的元素