我运行代码A,得到结果A。
我怎样才能使这两个按钮的宽度相同?
顺便说一句,你知道不同的字符串有不同的宽度,你不能写一个硬代码,如Modifier.width(100.dp)
。
代码A
Row(
modifier =Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.Center
) {
Button(
modifier = Modifier,
onClick = { }
) {
Text("Short")
}
Button(
modifier = Modifier.padding(start = 10.dp),
onClick = { }
) {
Text("This is a Long")
}
}
结果A
2条答案
按热度按时间zlwx9yxi1#
您可以实现将长按钮的宽度设置为短按钮,如使用SubcomposeLayout的here所述。
您需要做的是对布局进行子组合,检查哪个元素具有更长的宽度,然后以该宽度作为最小约束再次对项进行子组合。
你可以改变这个layouWidth与constraints.maxWidth如果你想要它到占用可用空间.
然后,如果你想有不同的间距,你需要有你的算法来布局它们在0 y位置和x位置从可组合的开始,而不是设置它们。
位置相对(xPos,0)
用途
结果
n3schb8v2#
你可以使用权重修改器