如何在约束布局中的可组合对象上设置layout_constraintHorizontal_bias道具?这是XML代码:
<TextView
...
tool:layout_constraintStart_toStartOf="parent"
tool:layout_constraintEnd_toEndOf="parent"
tool:layout_constraintWidth_max="wrap"
tool:layout_constraintHorizontal_bias="0"/>
这是我的Jetpack Compose代码现在的样子:
ConstraintLayout(modifier = modifier.fillMaxSize()) {
val (button1, button2) = createRefs()
Button(
onClick = {},
modifier = Modifier.constrainAs(button1) {
top.linkTo(parent.top, margin = 16.dp)
}
) {
Text(text = "Button 1")
}
Button(
onClick = {},
modifier = Modifier.constrainAs(button2) {
top.linkTo(button1.bottom, margin = 4.dp)
start.linkTo(button1.end, margin = 20.dp)
end.linkTo(parent.end, margin = 20.dp)
width = Dimension.preferredWrapContent
}
) {
Text(text = "Button 2")
}
}
所以我的问题是如何将按钮2的水平偏置设置为0?
答案 0 :(得分:2)
您必须使用linkTo
的{{1}}函数,该函数具有更多参数:
ConstrainScope
答案 1 :(得分:1)
我猜想Jetpack Compose中的ConstraintLayout
还不能与xml相提并论,并且根本没有偏见。不过,我发现了一种解决方法-您可以创建一个链,而链实际上确实支持偏差(谈论版本1.0.0-alpha04
)。
对于您的示例,这样的事情应该可以解决问题:
ConstraintLayout(modifier = modifier.fillMaxSize()) {
// ...
createHorizontalChain(button2, chainStyle = ChainStyle.Packed(0F))
}