ConstraintLayout 代码设置属性
创建一个 ConstraintLayout(或者找到自己xml中的)
val constraintLayout = ConstraintLayout(this)
constraintLayout 中的每个子View必须都设置id
创建一个 ConstraintSet()
val constraintSet = ConstraintSet()
constraintSet.clone(constraintLayout )
constraintSet.constrainWidth(view.id, 宽度(可以用具体值,可以用ConstraintSet.MATCH_CONSTRAINT))
constraintSet.constrainHeight(view.id, 高度(可以用具体值,可以用ConstraintSet.MATCH_CONSTRAINT))
constraintSet.connect(int startID, int startSide, int endID, int endSide)
startID:
startSide:
endID:
endSide:
说一下上面的Side,可以使用ConstraintSet.START、END…
ID就是View的ID
举个栗子:constraintSet.connect(a.id, ConstraintSet.START, b.id, ConstraintSet.END)
a的左侧与b的右侧相邻;
connect()方法还有一个带margin参数的方法,这个方法就不多说了。
constraintLayout .addView(view) 上面先将view的位置 宽高确定了,在将view添加到constraintLayout 中
最后 constraintSet.applyTo(constraintLayout)