wrapContentSize
Functions summary
Modifier |
Modifier.wrapContentSize(align: Alignment, unbounded: Boolean)Allow the content to measure at its desired size without regard for the incoming measurement |
Cmn
|
Functions
Modifier.wrapContentSize
fun Modifier.wrapContentSize(
align: Alignment = Alignment.Center,
unbounded: Boolean = false
): Modifier
Allow the content to measure at its desired size without regard for the incoming measurement minimum width or minimum height constraints, and, if unbounded is true, also without regard for the incoming maximum constraints. If the content's measured size is smaller than the minimum size constraint, align it within that minimum sized space. If the content's measured size is larger than the maximum size constraint (only possible when unbounded is true), align within the maximum space.
Example usage:
import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.sizeIn import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp // Here the result will be a 20.dp x 20.dp blue box top-centered in a 40.dp x 40.dp space. // Because of the sizeIn modifier, if wrapContentSize did not exist, the blue rectangle // would actually be 40.dp x 40.dp to satisfy the min size set by the modifier. However, // because we provide wrapContentSize, the blue rectangle is specified to be wrap // content - if the desired size is smaller than 40.dp x 40.dp, it will be top-centered in // this space. Therefore the 20.dp x 20.dp is top-centered in the space. Box( Modifier.sizeIn(minWidth = 40.dp, minHeight = 40.dp) .wrapContentSize(Alignment.TopCenter) .size(20.dp) .background(Color.Blue) )