I'm trying to implement a layout in Compose where the items of a horizontally scrollable Row should all have the same height, so smaller items should adjust to the size of the biggest item in the row. I know about intrinsic size but I just can't get it to work. Also I don't want to assign a fixed height to the Row, as the Row's height should also be the height of its biggest child composable.
This is the simplified layout
@Composable fun Screen( modifier: Modifier = Modifier, ) { Row( modifier = modifier .height(IntrinsicSize.Min) .horizontalScroll(state = rememberScrollState()), horizontalArrangement = Arrangement.spacedBy(10.dp), ) { Item( text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy " + "eirmod tempor invidunt ut labore et dolore magna aliquyam" ) Item( text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy " + "eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam " + "voluptua. At" ) Item( text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam" ) } } @Composable private fun Item( modifier: Modifier = Modifier, text: String, ) { Column( modifier = modifier.width(200.dp), horizontalAlignment = Alignment.End, verticalArrangement = Arrangement.SpaceBetween ) { Column { Text("Some static text") // Dynamic text Text( text, modifier = Modifier.padding(top = 5.dp) ) } // The space between these two composables should be flexible, // hence the outer column with Arrangement.SpaceBetween Button( modifier = Modifier.padding(top = 20.dp), onClick = {} ) { Text("Button") } } } This is the result
but what I actually want is
When I apply fillMaxHeight() to Item, the items take up the whole height and all buttons are aligned to the bottom of the screen.
Jetpack Compose version: 1.1.0
Update: This was a bug in Compose which was fixed in compose-foundation version 1.3.0-beta01.





fillMaxHeight()toItemshould be enough in this case, and it works with two items, but doesn't work with 3 or more for some reason. It may be a bug, I suggest you report it.fillMaxHeight()?! When I reduce the width of items to for instance100.dp, it also works with three items. It seems that once an item completely leaves the viewport (because of the horizontal scroll), this breaks intrinsic measurement. Definitively feels like a bug. I will report it.