gpt4 book ai didi

android - Jetpack Compose 中的居中文本

转载 作者:行者123 更新时间:2023-12-05 04:45:55 25 4
gpt4 key购买 nike

我试图将 Jetpack Compose 的 Text 中的内容居中,但我没有成功。代码对我来说似乎很好(虽然我对 Compose 很陌生)。代码:

Row(
modifier = Modifier
.padding(8.dp)
.height(30.dp)
.fillMaxHeight(),
) {
IconButton(..) {..}
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "Some text",
textAlign = TextAlign.Center,
modifier = Modifier
.fillMaxHeight()
.border(1.dp, Color.Black, RoundedCornerShape(20))
.width(120.dp)
.background(color = Color.White, RoundedCornerShape(20))
.align(Alignment.CenterVertically)
)
Spacer(modifier = Modifier.width(4.dp))
IconButton(..) {..}
}

这会产生以下结果: enter image description here

最佳答案

您的 Text 根据您的修饰符占据全高,在这种情况下 .align(Alignment.Center) 将无济于事。

您可以将您的文本放在Box中并将其居中:

Row(
modifier = Modifier
.padding(8.dp)
.height(30.dp)
.fillMaxHeight()
) {
IconButton({ }) { Text("hello ") }
Spacer(modifier = Modifier.width(4.dp))
Box(
Modifier
.fillMaxHeight()
.border(1.dp, Color.Black, RoundedCornerShape(20))
.width(120.dp)
.background(color = Color.White, RoundedCornerShape(20))
) {
Text(
text = "Some text",
textAlign = TextAlign.Center,
modifier = Modifier
.align(Alignment.Center)
)
}

Spacer(modifier = Modifier.width(4.dp))
IconButton({ }) { Text("hello ") }
}

您可以通过在文本中添加填充来解决此问题,但在这种情况下您不能明确指定 Row 高度,并且需要让它包裹内容大小:

Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.padding(8.dp)
) {
IconButton({ }) { Text("hello ") }
Spacer(modifier = Modifier.width(4.dp))
Text(
text = "Some text",
textAlign = TextAlign.Center,
modifier = Modifier
.border(1.dp, Color.Black, RoundedCornerShape(20))
.width(120.dp)
.background(color = Color.White, RoundedCornerShape(20))
.padding(vertical = 10.dp)
)
Spacer(modifier = Modifier.width(4.dp))
IconButton({ }) { Text("hello ") }
}

关于android - Jetpack Compose 中的居中文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69028186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com