0

我有一个Row带有一些文本和不同大小的文本,最后Row我有一个Column我有两个的地方,Text所以输出是这样的:

在此处输入图像描述

也许图像不是最好的,但是正如您所看到的,有一个Row我有两个Text不同大小的,最后我有Column两个Text我遇到的问题是,如果我使用Column(modifier = Modifier.alignBy(LastBaseline))它可以解决一个问题,我有,但是创建一个新的,将所有的都Column移到顶部,所以我正在寻找的是不会丢失这个Baseline(因为我有不同的大小,这个命令非常适合避免玩边距)我想避免移动这个专栏,注意第一个Text最好Column的是应该有一个alignTopToTop="secondText"但我不知道它是否可能。

有两个选项,一个是如果我添加alignBy(LastBaseline)使列固定并且不移动任何东西只是Text从底部对齐,另一个是,以某种方式将此约束添加到第二个TextRow移动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 之间产生了额外的空间,有没有办法避免该列向上移动?

4

0 回答 0