@Composable
fun Sample(){
val startPadding = 10.dp
Column {
Text(
text = "sample text",
modifier = Modifier
.paddingFromBaseline(top = 30.dp)
.padding(start = startPadding)
)
Text(
text = "sample text",
modifier = Modifier.padding(start = startPadding)
)
}
}
上面的
Composable
包含两个Text
元素,垂直排列在Column
中。两个 Text
元素的 start
padding
具有相同的值集。预览如下
当
paddingFromBaseline
设置在padding
之后时,会发生一些奇怪的事情,即
@Composable
fun Sample(){
val startPadding = 10.dp
Column {
Text(
text = "sample text",
modifier = Modifier
.padding(start = startPadding)
.paddingFromBaseline(top = 30.dp)
)
Text(
text = "sample text",
modifier = Modifier.padding(start = startPadding)
)
}
}
第一个
padding
之前的Text
似乎翻倍了,这是错误还是功能?
我的印象是
Modifier
methods
的调用顺序并不重要,所以额外的 padding
不应该存在。
我在模拟器或预览中不再看到您提到的这个问题。
.padding(start=
应在开头添加填充。 paddingFromBaseline(top=
应该从基线添加填充(即)您应该看到添加了顶部填充。这是我看到的代码的输出
我的印象是,调用修饰符方法的顺序并不重要,因此不应存在额外的填充。
不。修饰符方法的顺序很重要,当你链接修饰符方法时应该简洁。 参考官方文档