← Back to Foundation Layout
preferredHeight
Modifier
in
Foundation Layout
. Since 0.1.0-dev15Overview
Examples
Community Notes
@Composable
fun MatchParentDividerForText() {
// Builds a layout containing two pieces of text separated by a divider, where the divider
// is sized according to the height of the longest text.
//
// Here height min intrinsic is adding a height premeasurement pass for the Row,
// whose minimum intrinsic height will correspond to the height of the largest Text. Then
// height min intrinsic will measure the Row with tight height, the same as the
// premeasured minimum intrinsic height, which due to fillMaxHeight will force the Texts and
// the divider to use the same height.
Box {
Row(Modifier.height(IntrinsicSize.Min)) {
Text(
text = "This is a really short text",
modifier = Modifier.weight(1f).fillMaxHeight()
)
Box(Modifier.width(1.dp).fillMaxHeight().background(Color.Black))
Text(
text = "This is a much much much much much much much much much much" +
" much much much much much much longer text",
modifier = Modifier.weight(1f).fillMaxHeight()
)
}
}
}
@Composable
fun MatchParentDividerForAspectRatio() {
// Builds a layout containing two aspectRatios separated by a divider, where the divider
// is sized according to the height of the taller aspectRatio.
//
// Here height max intrinsic is adding a height premeasurement pass for the
// Row, whose maximum intrinsic height will correspond to the height of the taller
// aspectRatio. Then height max intrinsic will measure the Row with tight height,
// the same as the premeasured maximum intrinsic height, which due to fillMaxHeight modifier
// will force the aspectRatios and the divider to use the same height.
//
Box {
Row(Modifier.height(IntrinsicSize.Max)) {
val modifier = Modifier.fillMaxHeight().weight(1f)
Box(modifier.aspectRatio(2f).background(Color.Gray))
Box(Modifier.width(1.dp).fillMaxHeight().background(Color.Black))
Box(modifier.aspectRatio(1f).background(Color.Blue))
}
}
}
Next ComponentAlignmentLineOffset →