New Compose Multiplatform components arrived on Composables UICheck it out →

Modifier in Compose Foundation Layout

requiredSize

Common

Declare the size of the content to be exactly [size]dp width and height. The incoming measurement [Constraints] will not override this value. If the content chooses a size that does not satisfy the incoming [Constraints], the parent layout will be reported a size coerced in the [Constraints], and the position of the content will be automatically offset to be centered on the space assigned to the child by the parent layout under the assumption that [Constraints] were respected.

See [requiredSizeIn] to set a size range. See [size] to set a preferred size, which is only respected when the incoming constraints allow it.

Last updated:

Installation

dependencies {
   implementation("androidx.compose.foundation:foundation-layout:1.7.0-beta04")
}

Overloads

@Stable
fun Modifier.requiredSize(size: Dp)
@Stable
fun Modifier.requiredSize(width: Dp, height: Dp)
@Stable
fun Modifier.requiredSize(size: DpSize)

Code Example

SimpleRequiredSizeModifier

@Composable
@Sampled
fun SimpleRequiredSizeModifier() {
    // The result is a 50.dp x 50.dp red box centered in a 100.dp x 100.dp space.
    // Note that although a previous modifier asked it to be 100.dp x 100.dp, this
    // will not be respected. They would be respected if size was used instead of requiredSize.
    Box(
        Modifier
            .requiredSize(100.dp, 100.dp)
            .requiredSize(50.dp, 50.dp)
            .background(Color.Red)
    )
}