Как сделать лейаут, расширяющийся от внутренних элементов?
Хочу сделать лейаут наподобии выпадающего списка, при нажатии он должен расширятся показывая строчки с дополнительной информацией, пробовал вот так:
@Composable
fun Item(
){
var showContent by remember { mutableStateOf(true) }
Card(
modifier = Modifier
.fillMaxWidth()
.height(IntrinsicSize.Min)
.clickable {
showContent = !showContent
}
.padding(bottom = 7.dp),
shape = CutCornerShape(0.dp),
) {
Row {
Divider(
color = primary_color,
modifier = Modifier
.fillMaxHeight()
.width(2.dp)
)
Column(
modifier = Modifier
.padding(start = 10.dp, top = 5.dp, bottom = 5.dp)
) {
Box(
modifier = Modifier
.fillMaxWidth()
){
Text(
text = "sdasdasdad",
fontSize = 20.sp,
style = MaterialTheme.typography.body1,
overflow = TextOverflow.Ellipsis,
color = primary_dark,
textAlign = TextAlign.Left,
maxLines = 1,
modifier = Modifier
.align(Alignment.TopStart),
)
Icon(
imageVector = Icons.Outlined.ArrowDropDown,
contentDescription = null,
tint = primary_dark,
modifier = Modifier
.align(Alignment.TopEnd)
.padding(top = 2.dp),
)
}
if(showContent){
Column(modifier = Modifier
.padding(start = 5.dp, end = 17.dp, bottom = 4.dp)
) {
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
InfoLine("dasdasdasd", "10")
}
}
}
}
}
}
@Composable
fun InfoLine(title: String, value: String){
Box(modifier = Modifier.fillMaxWidth()){
Text(
text = title,
fontSize = 20.sp,
style = MaterialTheme.typography.body1,
overflow = TextOverflow.Ellipsis,
color = primary_color,
textAlign = TextAlign.Left,
maxLines = 1,
modifier = Modifier
.align(Alignment.TopStart),
)
Text(
text = value,
fontSize = 20.sp,
style = MaterialTheme.typography.body1,
overflow = TextOverflow.Ellipsis,
color = primary_color,
textAlign = TextAlign.Left,
maxLines = 1,
modifier = Modifier
.align(Alignment.TopEnd),
)
}
}
Пробовал также через LazyColumn, но получал ошибку:
Asking for intrinsic measurements of SubcomposeLayout layouts is not supported.
Можно ли как-то сделать такой лейаут в Jetpack Compose?