如何连接单独声明的修饰符?

时间:2021-04-15 06:50:08

标签: android android-jetpack-compose

modifierC

如何创建由 A 和 B 串联而成的 .apply

我尝试使用 .also 和 {{1}},但无济于事。

2 个答案:

答案 0 :(得分:1)

您可以使用 composed 函数:

<块引用>

声明一个 Modifier 的即时组合,它将为它修改的每个元素组合

类似于:

Box(modifierA.composed{ modifierB })

val modifierC = modifierA.composed{ modifierB }
Box(modifierC) {}

enter image description here

答案 1 :(得分:1)

您可以使用.then

<块引用>

将这个修饰符与另一个连接起来。

val modifierA = Modifier.size(100.dp)
val modifierB = Modifier.background(Color.Red)
val modifierC = modifierA.then(modifierB)
Row {
    Box(
        modifier = Modifier
            .then(modifierC)
    )
    Box(
        modifier = Modifier
            .then(Modifier.size(100.dp))
            .then(Modifier.background(Color.Green))
    )
    Box(
        modifier = Modifier
            .size(100.dp)
            .background(Color.Blue)
    )
}

这三个修饰符是一样的(颜色除外)