---
title: "requiredWidth"
description: "Declare the width of the content to be exactly the same as the min or max intrinsic width of the
content. The incoming measurement [Constraints] will not override this value. If the content
intrinsic width 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 [height] for options of sizing to intrinsic height. See [width] and [widthIn] for options to
set the preferred width. See [requiredWidth] and [requiredWidthIn] for other options to set the
required width."
type: "modifier"
---

<div class='type'>Compose Modifier</div>

<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.requiredWidth(intrinsicSize: IntrinsicSize) =
    this then
        IntrinsicWidthElement(
            width = intrinsicSize,
            enforceIncoming = false,
            inspectorInfo =
                debugInspectorInfo {
                    name = "requiredWidth"
                    properties["intrinsicSize"] = intrinsicSize
                },
        )
```


Declare the width of the content to be exactly the same as the min or max intrinsic width of the
content. The incoming measurement `Constraints` will not override this value. If the content
intrinsic width 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 `height` for options of sizing to intrinsic height. See `width` and `widthIn` for options to
set the preferred width. See `requiredWidth` and `requiredWidthIn` for other options to set the
required width.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.requiredWidth(width: Dp) =
    this.then(
        SizeElement(
            minWidth = width,
            maxWidth = width,
            enforceIncoming = false,
            inspectorInfo =
                debugInspectorInfo {
                    name = "requiredWidth"
                    value = width
                },
        )
    )
```


Declare the width of the content to be exactly `width`dp. 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 `requiredWidthIn` and `requiredSizeIn` to set a size range. See `width` to set a preferred
width, which is only respected when the incoming constraints allow it.



## Code Examples
### SimpleRequiredWidthModifier
```kotlin
@Composable
fun SimpleRequiredWidthModifier() {
    // The result is a 50.dp x 50.dp magenta box centered in a 100.dp x 100.dp space.
    // Note that although a previous modifier asked it to be 100.dp width, this
    // will not be respected. They would be respected if width was used instead of requiredWidth.
    Box(
        Modifier.requiredWidth(100.dp)
            .requiredWidth(50.dp)
            .aspectRatio(1f)
            .background(Color.Magenta)
    )
}
```

