Чтобы анимировать FAB, я использую AnimatedVisibility с FadeIn/
Код: Выделить всё
fadeOutКод: Выделить всё
scaleOutВот компонуемый элемент, который я использую:
Код: Выделить всё
@Composable
fun AddNewNoteFAB(
modifier: Modifier = Modifier,
isVisible: Boolean = true,
onClick: () -> Unit
) {
AnimatedVisibility(
visible = isVisible,
enter = fadeIn() + scaleIn(),
exit = fadeOut() + scaleOut()
) {
FloatingActionButton(
modifier = modifier,
onClick = onClick
) {
Icon(
Icons.Default.Add,
contentDescription = "Add new note"
)
}
}
}
- Когда FAB скрывается, часть его тени обрезается.
- Когда FAB появляется снова, его тень полностью отсутствует во время анимации.
- После завершения анимации тень снова появляется нормально.
Что я пробовал (ни один из них не решил проблему):
- Увеличил отступы вокруг FAB.
- Обернул FAB в коробку с помощью Modifier.shadow(..., clip = false).
- Использовал GraphicsLayer для анимации масштаба и альфа-канала вручную вместо использования AnimatedVisibility.
- Пытался заменить AnimatedVisibility на AnimatedContent.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -during-vi
Мобильная версия