🧩AnimatedCrossFade

Что такое AnimatedCrossFade

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

Пример использования

В этом примере у нас есть два изображения, которые будут постепенно сменять друг друга при нажатии кнопки.

Как работает код

  1. Начальное состояние_showFirst установлено как true, что делает видимым первый элемент (firstChild).

  2. Функция _toggleFade — срабатывает при нажатии кнопки, меняет _showFirst на противоположное значение, переключая видимый элемент на другой.

  3. AnimatedCrossFade — отображает firstChild или secondChild в зависимости от состояния crossFadeState. Когда состояние меняется, анимация перекрестного затемнения плавно сменяет один элемент на другой, используя duration для продолжительности и sizeCurve для плавности изменения размера.

Все настройки AnimatedCrossFade

  1. firstChild

    • Описание: Первый виджет, который будет отображаться в анимации.

    • Пример:

    • Применение: Определяет, какой элемент показывается первым.

  2. secondChild

    • Описание: Второй виджет, который появляется после перекрестного затемнения.

    • Пример:

    • Применение: Задает виджет, который будет показан после перехода.

  3. crossFadeState

    • Описание: Указывает, какой виджет отображается: CrossFadeState.showFirst или CrossFadeState.showSecond.

    • Пример:

    • Применение: Переключает видимость между firstChild и secondChild.

  4. duration

    • Описание: Длительность анимации перехода.

    • Пример:

    • Применение: Определяет, как долго длится анимация смены.

  5. sizeCurve

    • Описание: Кривая анимации, определяющая плавность изменения размера виджета.

    • Пример:

    • Применение: Настраивает поведение изменения размера при переходе между элементами.

  6. layoutBuilder

    • Описание: Функция, определяющая, как оба элемента будут располагаться друг относительно друга.

    • Пример:

    • Применение: Используется для создания пользовательской компоновки, чтобы настроить поведение виджетов во время перехода.

Итог

AnimatedCrossFade позволяет создать красивую анимацию для плавного переключения между двумя элементами. Этот виджет помогает сделать интерфейс динамичным и визуально привлекательным, добавляя анимацию перехода для смены контента.

Last updated