Тень Jetpack Compose FloatingActionButton исчезает или обрезается во время анимации видимости.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Тень Jetpack Compose FloatingActionButton исчезает или обрезается во время анимации видимости.

Сообщение Anonymous »

Я использую Jetpack Compose для анимации FloatingActionButton, который скрывается, когда пользователь прокручивает вниз, и появляется снова при прокрутке вверх.
Чтобы анимировать FAB, я использую AnimatedVisibility с FadeIn/ и масштабировать/

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»