热门获取可组合组件的MeasuredWitdh和MeasuredHeight



让我们假设我有以下可组合:

Column(Modifier.fillMaxWidth()) {

Text()
Text()
Text()
}

我想知道如何捕获ColumnmeasuredWidthmeasuredHeight的值。使用Android View框架风格,我可以利用View中的方法onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int)

var width = 0
var hegiht = 0
Column(modifier = Modifier.onGloballyPositioned { layoutCoordinates ->
width = layoutCoordinates.size.width
hegiht = layoutCoordinates.size.height
}) {
// Column body
}

您可以使用DrawCacheModifier来查找可组合的的大小

Column(
Modifier
.fillMaxWidth()
.then(object : DrawCacheModifier {
override fun onBuildCache(size: Size, density: Density) {
println("Size is $size")
}
override fun ContentDrawScope.draw() {
drawContent()
}
})
)

最新更新