Jetpack compose:在 Box 中定位元素
Jetpack compose: position elements inside a Box
我的应用程序中有一个 Box
和一堆 children:
Box(modifier = Modifier.fillMaxSize()) {
Text("a")
Text("b")
}
我希望文本显示为与顶部对齐,距起始位置 20%。我该如何实现?
要解决这个问题,您需要两个部分:
有两种布局 Box
内容的方法:contentAlignment
将对所有 children 和 Modifier.align
应用对齐方式,这可以申请特定的 child.
通常您可以在这种情况下使用 Modifier.padding
,但如果您需要相对大小则不行。取 parent 大小的一部分最简单的方法是使用 Modifier.fillMax...
修饰符,在这种情况下 Modifier.fillMaxWidth(0.2f)
可以应用于 Spacer
,放在 Row
中用你的元素。
Box(modifier = Modifier.fillMaxSize()) {
Row(
Modifier
.align(Alignment.TopStart)
) {
Spacer(Modifier.fillMaxWidth(0.2f))
Text("a")
}
}
使用 offset
/absoluteOffset
修饰符和 BoxWithConstraints
。
我的应用程序中有一个 Box
和一堆 children:
Box(modifier = Modifier.fillMaxSize()) {
Text("a")
Text("b")
}
我希望文本显示为与顶部对齐,距起始位置 20%。我该如何实现?
要解决这个问题,您需要两个部分:
有两种布局
Box
内容的方法:contentAlignment
将对所有 children 和Modifier.align
应用对齐方式,这可以申请特定的 child.通常您可以在这种情况下使用
Modifier.padding
,但如果您需要相对大小则不行。取 parent 大小的一部分最简单的方法是使用Modifier.fillMax...
修饰符,在这种情况下Modifier.fillMaxWidth(0.2f)
可以应用于Spacer
,放在Row
中用你的元素。
Box(modifier = Modifier.fillMaxSize()) {
Row(
Modifier
.align(Alignment.TopStart)
) {
Spacer(Modifier.fillMaxWidth(0.2f))
Text("a")
}
}
使用 offset
/absoluteOffset
修饰符和 BoxWithConstraints
。