onSizeChanged
Common
Modifier in Compose Ui
Invoked with the size of the modified Compose UI element when the element is first measured or when the size of the element changes.
There are no guarantees onSizeChanged
will not be re-invoked with the same size.
Using the onSizeChanged
size value in a [MutableState] to update layout causes the new size
value to be read and the layout to be recomposed in the succeeding frame, resulting in a one
frame lag.
You can use onSizeChanged
to affect drawing operations. Use [Layout] or [SubcomposeLayout] to
enable the size of one component to affect the size of another.
Last updated:
Installation
dependencies {
implementation("androidx.compose.ui:ui:1.8.0-alpha04")
}
Overloads
@Stable
fun Modifier.onSizeChanged(onSizeChanged: (IntSize) -> Unit)
Code Example
OnSizeChangedSample
@Composable
fun OnSizeChangedSample(name: String) {
// Use onSizeChanged() for diagnostics. Use Layout or SubcomposeLayout if you want
// to use the size of one component to affect the size of another component.
Text(
"Hello $name",
Modifier.onSizeChanged { size -> println("The size of the Text in pixels is $size") }
)
}