匹配列中父项的宽度(JetpackCompose)

默认情况下,Column {}具有其最大子元素的宽度。如何使所有其他元素适合父元素的宽度Column?如果我使用Modifier.fillMaxWidth()这些元素将占用整个可用空间并使父元素Column变大。我怎样才能实现与Modifier.matchParentWidth()Modifier 提供的相同的行为?

回答

随着1.0.x你可以使用修饰符.width(IntrinsicSize.Max)

 Column(Modifier.width(IntrinsicSize.Max)) {
        Box(Modifier.fillMaxWidth().background(Color.Gray)) {
            Text("Short text")
        }
        Box(Modifier.fillMaxWidth().background(Color.Yellow)) {
            Text("Extremely long text giving the width of its siblings")
        }
        Box(Modifier.fillMaxWidth().background(Color.Green)) {
            Text("Medium length text")
        }
    }


回答

解决方案是利用内在测量的力量。

而不是使用Modifier.fillMaxWidth()我们使用height(IntrinsicSize.Min)将宽度匹配到最大元素的最小宽度


以上是匹配列中父项的宽度(JetpackCompose)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>