首页 > 解决方案 > 中心可组合在屏幕的中心

问题描述

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

@Composable
fun Loading() {
    CircularProgressIndicator()
}

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

怎样才能实现?

标签: androidandroid-layoutlayoutandroid-jetpack-compose

解决方案


首先,您需要一个占据整个屏幕的视图,为此您需要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,我刚刚提到它是为了让您知道将来当您在容器内有多个视图时。


推荐阅读