You have to apply Modifier.height(IntrinsicSize.Min)
to the Row
and the fillMaxHeight()
modifier to the 2nd Box
.
Something like:
Card(shape = RoundedCornerShape(8.dp)) {
Row(
modifier = Modifier.height(IntrinsicSize.Min) //Intrinsic measurement
) {
Box(
Modifier
.background(Color.Yellow)
.weight(1f)
) {
//Box(Modifier.height(50.dp))
}
Box(
Modifier
.width(20.dp)
.fillMaxHeight() //<--- fill max height
.background(Color.Green)
) {
//........
}
}
}
As explained in the doc:
The Row composable’s
minIntrinsicHeight
will be the maximumminIntrinsicHeight
of its children. The GreenBox
element’sminIntrinsicHeight
is0
as it doesn’t occupy space if no constraints are given; the YellowBox
minIntrinsicHeight
will be that of the content given a specific width. Therefore, theRow
element’s height constraint will be the maxminIntrinsicHeight
of the YellowBox
content. The GreenBox
will then expand its height to the height constraint given by theRow
.