Cit*_*tut 7 android android-jetpack-compose
我正在制作一个布局,其中一列最多包含 5 行。每行有三列,我希望每行第一列的宽度完全相等。
每行中的第一列始终占用与其包含的文本一样多的大小,列的大小不会缩放以匹配行列表中最大列的大小。
每行项目:
fun GetRowItem(firstColumnText: String, secondColumnText: String, thirdColumnText: String) {
Row(
modifier = Modifier.padding(start = 4.dp, end = 4.dp),
verticalAlignment = Alignment.CenterVertically
) {
Column(
modifier = Modifier.padding(end = 4.dp),
) {
Text(
text = firstColumnText
)
}
Column(
modifier = Modifier.padding(end = 4.dp),
) {
Text(
text = secondColumnText
)
}
Column(
modifier = Modifier.padding(end = 4.dp),
) {
Text(
text = thirdColumnText
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有一个父母将行排列如下:
Column(modifier = Modifier.fillMaxWidth().padding(start = 8.dp, end = 8.dp) {
GetRowItem(firstColumnText = "short", secondColumnText = "something", thirdColumnText = "something")
GetRowItem(firstColumnText = "Realy long ee", secondColumnText = "something", thirdColumnText = "something")
GetRowItem(firstColumnText = "1", secondColumnText = "something", thirdColumnText = "something")
}
Run Code Online (Sandbox Code Playgroud)
这个输出不是我想要的,我正在努力了解如何对齐每个行项目中的列。它看起来InstrisicSize可能是这里的一个选项,但我不确定如何获取行列表中任意列的最大大小并将其应用到每列。下图显示了我所得到的与我所期望的。我只想对齐第一列,其余的并不重要。
实现此目的的一个简单方法是为每列赋予相同的权重。
Column(modifier = Modifier.weight(1f)){
// text
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |