はじめに
今回は、JetpackComposeで、表示している領域を測定する方法を紹介します
本文
一般的に有名なの'BoxWithConstraints'をつかって'width'等を取得することかと思いますが、実はModifier事態にも似た機能は実装されています。
それが下記になります
.onGloballyPositioned { layoutCoordinates ->
rect = Rect(
layoutCoordinates.boundsInRoot().left.toInt(),
layoutCoordinates.boundsInRoot().top.toInt(),
layoutCoordinates.boundsInRoot().right.toInt(),
layoutCoordinates.boundsInRoot().bottom.toInt(),
)
},
こうすることで、Modifierを付けている部品が画面内のどこに存在しているのかを取得することができます
さいごに
BoxWithConstraintsだとわざわざ囲わないければいけませんが、今回紹介した方法であれば何か準備が必要というわけでもないので使い勝手がいいかと思います