🧩AnimatedCrossFade
Что такое AnimatedCrossFade
AnimatedCrossFadeAnimatedCrossFade — это виджет, который позволяет плавно переключаться между двумя элементами с эффектом перекрестного затемнения (crossfade). Этот виджет полезен, если вы хотите, чтобы два виджета постепенно сменяли друг друга с красивой анимацией, например, когда текст или изображение меняется на другой вариант при выполнении какого-либо действия.
Пример использования
В этом примере у нас есть два изображения, которые будут постепенно сменять друг друга при нажатии кнопки.

Как работает код
Начальное состояние —
_showFirstустановлено какtrue, что делает видимым первый элемент (firstChild).Функция
_toggleFade— срабатывает при нажатии кнопки, меняет_showFirstна противоположное значение, переключая видимый элемент на другой.AnimatedCrossFade — отображает
firstChildилиsecondChildв зависимости от состоянияcrossFadeState. Когда состояние меняется, анимация перекрестного затемнения плавно сменяет один элемент на другой, используяdurationдля продолжительности иsizeCurveдля плавности изменения размера.
Все настройки AnimatedCrossFade
firstChild
Описание: Первый виджет, который будет отображаться в анимации.
Пример:
Применение: Определяет, какой элемент показывается первым.
secondChild
Описание: Второй виджет, который появляется после перекрестного затемнения.
Пример:
Применение: Задает виджет, который будет показан после перехода.
crossFadeState
Описание: Указывает, какой виджет отображается:
CrossFadeState.showFirstилиCrossFadeState.showSecond.Пример:
Применение: Переключает видимость между
firstChildиsecondChild.
duration
Описание: Длительность анимации перехода.
Пример:
Применение: Определяет, как долго длится анимация смены.
sizeCurve
Описание: Кривая анимации, определяющая плавность изменения размера виджета.
Пример:
Применение: Настраивает поведение изменения размера при переходе между элементами.
layoutBuilder
Описание: Функция, определяющая, как оба элемента будут располагаться друг относительно друга.
Пример:
Применение: Используется для создания пользовательской компоновки, чтобы настроить поведение виджетов во время перехода.
Итог
AnimatedCrossFade позволяет создать красивую анимацию для плавного переключения между двумя элементами. Этот виджет помогает сделать интерфейс динамичным и визуально привлекательным, добавляя анимацию перехода для смены контента.
Last updated