假设我有以下可组合项:
Column(Modifier.fillMaxWidth()) {
Text()
Text()
Text()
}
我想知道如何捕获
measuredWidth
和 measuredHeight
的值 Column
。
使用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()
}
})
)