我有一个Row
带有一些文本和不同大小的文本,最后Row
我有一个Column
我有两个的地方,Text
所以输出是这样的:
也许图像不是最好的,但是正如您所看到的,有一个Row
我有两个Text
不同大小的,最后我有Column
两个Text
我遇到的问题是,如果我使用Column(modifier = Modifier.alignBy(LastBaseline))
它可以解决一个问题,我有,但是创建一个新的,将所有的都Column
移到顶部,所以我正在寻找的是不会丢失这个Baseline
(因为我有不同的大小,这个命令非常适合避免玩边距)我想避免移动这个专栏,注意第一个Text
最好Column
的是应该有一个alignTopToTop="secondText"
但我不知道它是否可能。
有两个选项,一个是如果我添加alignBy(LastBaseline)
使列固定并且不移动任何东西只是Text
从底部对齐,另一个是,以某种方式将此约束添加到第二个Text
不Row
移动Column
我的代码
ConstraintLayout {
val (text1, text2) = createRefs()
Column(
horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.constrainAs(text1) {
top.linkTo(parent.top)
start.linkTo(parent.start)
end.linkTo(parent.end)
bottom.linkTo(parent.bottom)
}
) {
Text(
text = "Hello",
style = TextStyle(
fontWeight = FontWeight.Bold,
fontSize = 12.sp,
lineHeight = 18.sp,
color = Black,
),
)
Row(verticalAlignment = Alignment.Bottom) {
Text(
text = "World",
style = TextStyle(
fontWeight = FontWeight.Bold,
fontSize = 12.sp,
lineHeight = 18.sp,
color = Black,
),
modifier = Modifier
.alignByBaseline()
)
Text(
text = "WORLD",
style = TextStyle(
fontWeight = FontWeight.Bold,
fontSize = 24.sp,
lineHeight = 18.sp,
color = Black,
),
modifier = Modifier
.alignByBaseline()
)
Column(modifier = Modifier.alignBy(LastBaseline)) {
Text(
text = "^",
style = TextStyle(
fontWeight = FontWeight.Bold,
fontSize = 12.sp,
lineHeight = 18.sp,
color = Black,
),
)
Text(
text = "^",
style = TextStyle(
fontWeight = FontWeight.Bold,
fontSize = 12.sp,
lineHeight = 18.sp,
color = Black,
),
)
}
}
}
}
您可以在此处看到的问题
是,当我这样做时modifier = Modifier.alignBy(LastBaseline)
,列向上移动并且在文本 2 和文本 1 之间产生了额外的空间,有没有办法避免该列向上移动?