行内元素的重力(Jetpack Compose)

5

如何设置Row中元素的对齐方式(gravity)?

我的Row里有两个Image composables。我想让第一个Image在Row的开始位置,第二个元素在Row的末尾位置。

我已经尝试了以下代码:

Row(Modifier.fillMaxWidth()) {

    Image(
        painter = painterResource(id = R.drawable.logo_voodlee),
        contentDescription = "logo",
        modifier = Modifier
            .width(with(LocalDensity.current) { dimensionResource(id = R.dimen._100sdp) })
            .height(with(LocalDensity.current) { dimensionResource(id = R.dimen._55sdp) })
            .offset(x = with(LocalDensity.current) { dimensionResource(id = R.dimen._16sdp) }),
    )

    Image(
        painter = painterResource(id = R.drawable.ic_menu),
        contentDescription = "logo",
        modifier = Modifier
            .width(with(LocalDensity.current) { dimensionResource(id = R.dimen._19sdp) })
            .height(with(LocalDensity.current) { dimensionResource(id = R.dimen._19sdp) })
        ,
    alignment = CenterEnd //This is not working
    )
}

但它没有起作用。

1个回答

7

你可以在 Row 中应用 Arrangement.SpaceBetween

Row(
    Modifier.fillMaxWidth(),
    horizontalArrangement = Arrangement.SpaceBetween
) {
    /* ... */
    Box(Modifier.width(50.dp).height(50.dp).background(Red))
    Box(Modifier.width(50.dp).height(50.dp).background(Blue))
}

enter image description here


我想在最后一个元素的左侧添加另一个元素。我该怎么做? - Sparsh Dutta
使用一个单独的行(在父行中)来放置最后两个元素。想知道是否有更好的方法可以实现这一点。 - Sparsh Dutta
@SparshDutta 在父级Row内使用constraintlayout或者另一个Row作为第二个元素。 - Gabriele Mariotti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接