Jetpack Compose:如何右对齐包装内容的容器

问题描述 投票:0回答:2

我想像这样右对齐文本气泡:

我需要做什么才能获得预期的结果,以及在测量序列中的每个视图时到底发生了什么?

android kotlin view alignment jetpack-compose
2个回答
0
投票

您可以使用带重量的 Spacer 来实现此目的。

Row(modifier = Modifier.fillMaxWidth()){
    Spacer(modifier = Modifier.weight(1f))
    Text(modifier = Modifier
        .background(color = colorResource(id = R.color.light_gray), shape = RoundedCornerShape(8.dp))
        .padding(8.dp),text = "Yes")
}

首先创建一个最大宽度的行。现在创建一个权重为 1f 的 Spacer,它占据了你行中的所有可用空间。现在,无论您在间隔符之后添加什么,都将在行尾对齐。


0
投票

Row
可组合项的修饰符属性设置为
Modifier.fillMaxWidth()
,这使其填充其父容器的宽度。 Row 的
horizontalArrangement
属性设置为
Arrangement.End
,它使 Row 的子元素与容器的右端对齐。

Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.End) {
    Text(
         text = "Yes", modifier = Modifier
           .background(Color.LightGray, RoundedCornerShape(12.dp))
           .padding(10.dp)
     )
}
© www.soinside.com 2019 - 2024. All rights reserved.