android - 在 Jetpack Compose 上使用 Spacer 填充剩余空间

标签 android android-jetpack-compose

我想我可能会遗漏一些东西,有没有办法在 Compose Beta01 中实现“填充其余空间”而无需额外的 Box包裹垫片的元素? Spacer不幸的是,没有权重修饰符。

Column(
    modifier = Modifier
        .height(120.dp)
        .fillMaxWidth()
) {
    Text(
        text = "A"
    )
    Box(
        modifier = Modifier
            .weight(1f)
    ) {
        Spacer(
            Modifier
                .fillMaxHeight()
        )
    }
    Text(
        text = "B"
    )
}
编辑:
额外的盒子根本没有必要,我只是误用了修改器系统。作为旁注,选定的答案可能是实现这一目标的另一种好方法。

最佳答案

据我所知,Column.arrangement均匀适用于所有 child 。
如果您只想将剩余空间填充到最大,Spacerweight(1.0f)修饰符可能是您想要的:

Column(
    modifier = Modifier
        .fillMaxWidth()
) {
    Text("Text A") // top aligned
    Spacer(modifier = Modifier.weight(1.0f)) // fill height with spacer
    Text("Text B") // those two Texts are bottom aligned
    Text("Text C") 
}

关于android - 在 Jetpack Compose 上使用 Spacer 填充剩余空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66420583/

相关文章:

android - Kotlin 1.5.0 上的 Jetpack Compose

android - 单击时如何为 ListView 中的项目设置动画?

Java - 获取已连接的 Android 设备的屏幕截图

android - 如何在android中使用第三方pushwoosh发送推送通知

android - 如何在 Android Studio 中的模块中使用不同的 Kotlin 版本(WearOS 模块)

android - Jetpack Compose 中的 App/Scaffold 白色背景更改问题

java - 尝试在Android平台上的两个类之间传递int

android - Crashlytics 找不到我的 Fabric.properties

android - 如何使用 Jetpack Compose 请求权限?

android - 撰写foreach循环:@Composable invocations can only happen from the context of a @Composable function