requiredSize
fun Modifier.requiredSize(size: Dp) =
this.then(
SizeElement(
minWidth = size,
maxWidth = size,
minHeight = size,
maxHeight = size,
enforceIncoming = false,
inspectorInfo =
debugInspectorInfo {
name = "requiredSize"
value = size
},
)
)
Declare the size of the content to be exactly sizedp 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.
fun Modifier.requiredSize(width: Dp, height: Dp) =
this.then(
SizeElement(
minWidth = width,
maxWidth = width,
minHeight = height,
maxHeight = height,
enforceIncoming = false,
inspectorInfo =
debugInspectorInfo {
name = "requiredSize"
properties["width"] = width
properties["height"] = height
},
)
)
Declare the size of the content to be exactly widthdp and heightdp. 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.
fun Modifier.requiredSize(size: DpSize) = requiredSize(size.width, size.height)
Declare the size of the content to be exactly size. 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.
Code Examples
SimpleRequiredSizeModifier
@Composable
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))
}
