kotlin 如何在屏幕的开始(左端)对齐文本按钮内的文本?

oiopk7p5  于 7个月前  发布在  Kotlin
关注(0)|答案(3)|浏览(96)

我试图在文本按钮内对齐屏幕开始处的文本,但由于某种原因,我不能这样做。无论如何,它都会在文本按钮的中心对齐文本。

TextButton(
        onClick = { /*TODO*/ },
        modifier = Modifier
            .fillMaxWidth()

    ) {
        Text(
            text = "Option A",
            style = MaterialTheme.typography.bodySmall,
            textAlign = TextAlign.Start,
            modifier = Modifier
        )

    }

字符串
ExpectedReality的数据库

1cosmwyk

1cosmwyk1#

如果你不想给文本本身添加权重或给予修饰符,你可以把它 Package 在一个“盒子”中,这给了你更多的选择,如下所示:

TextButton(
        onClick = { /*TODO*/ },
        modifier = Modifier.fillMaxWidth()
    ) {
        Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.CenterStart) {
            Text(
                text = "Option A",

            )
        }
    }

字符串

nbnkbykc

nbnkbykc2#

默认情况下,(Text)ButtoncontenthorizontalArrangement = Arrangement.Center放在Row中。您可以通过使Text填充Row的整个宽度来使Text与开始对齐,例如使用Modifier.weight(1F)

3lxsmp7m

3lxsmp7m3#

TextAlign只有在Text填充整个可用宽度时才有意义。

TextButton(
    onClick = { /*TODO*/ },
    modifier = Modifier
        .fillMaxWidth(),

) {
    Text(
        text = "Option A",
        style = MaterialTheme.typography.bodySmall,
        textAlign = TextAlign.Start,
        modifier = Modifier.fillMaxWidth(), // This is important
    )
}

字符串

相关问题