Я попытался реализовать этот эффект с помощью AnimatedVisibility. Однако анимация работает не так, как ожидалось. Ширина первой кнопки не уменьшается постепенно при появлении второй кнопки; вместо этого он резко подпрыгивает без какой-либо анимации. То же самое происходит и при скрытии второй кнопки — ширина первой кнопки внезапно увеличивается.
Вот код, который я пробовал:
Код: Выделить всё
var show by remember { mutableStateOf(false) }
Column(
modifier = Modifier.fillMaxSize().padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(onClick = { show = !show}){
Text(text = "Click")
}
Spacer(modifier = Modifier.padding(32.dp))
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.spacedBy(8.dp)
) {
AnimatedVisibility(
visible = show,
exit = fadeOut() + slideOutHorizontally(),
enter = fadeIn() + slideInHorizontally()
) {
OutlinedButton(
onClick = {}
){
Text("Button 2")
}
}
Button(
modifier = Modifier.fillMaxWidth(),
onClick = {}
){
Text("Button 1", modifier = Modifier.animateContentSize())
}
}
}
Вот что сейчас делает мой код:

Подробнее здесь: https://stackoverflow.com/questions/793 ... her-button