Modifier.animateContentSize()
Есть composable-функция DogItem, в которой основная информация (фото, имя, возраст) всегда отображены, и дополнительная информация (например, хобби) отображается по нажатию на кнопку справа, тем самым увеличивая размер контейнера Card. Применил к вложенному Column анимацию изменения размера Modifier.animateContentSize() и она работает как надо, за исключением самого контента (текст с хобби). При расширении Column - текст виден сразу как и должен, но при сжатии Column - текст перед началом анимации резко пропадает. Пытаюсь добиться, чтобы текст никуда не исчезал при сворачивании контейнера, а просто "прятался" за ним.
@Composable
fun DogItem(
...
modifier: Modifier = Modifier,
) {
var expanded by remember { mutableStateOf(false) }
...
Card(modifier = modifier) {
Column(
modifier = Modifier
.background(color = color)
.animateContentSize(
animationSpec = spring(
dampingRatio = Spring.DampingRatioNoBouncy,
stiffness = 1f
)
)
) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(dimensionResource(R.dimen.padding_small))
) {
...
DogItemButton(
...
onClick = { expanded = !expanded }
)
}
if (expanded) {
DogHobby(
...
)
}
}
}
}