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(
                    ...
                )
            }
        }
    }
}

Пример анимации по нажатию кнопки развернуть/свернуть


Ответы (0 шт):