居中可组合在屏幕中央

Center composable in the center of the screen

我有一个简单的加载可组合项:

@Composable
fun Loading() {
    CircularProgressIndicator()
}

我希望它位于屏幕中央。我搜索了文档并找到了用于构建行和列的布局,但是我没有找到任何可以将视图居中放置在屏幕绝对中间的内容。

如何实现?

首先你需要一个占据整个屏幕的视图,为此你需要 fillMaxSize 修饰符。在这种情况下,它可以是透明的 Box。然后您可以将您的视图置于该容器内:

Box(
    contentAlignment = Alignment.Center, // you apply alignment to all children
    modifier = Modifier.fillMaxSize()
) {
    CircularProgressIndicator(
        modifier = Modifier.align(Alignment.Center) // or to a specific child
    )
}

在这种情况下,您可以选择两种设置方式之一align,我刚才提到它是为了让您知道将来当容器内有多个视图时。