🧩AnimatedBuilder

Что такое AnimatedBuilder

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

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

В этом примере мы создаем вращающийся квадрат, используя AnimatedBuilder.

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

  1. Создание AnimationController — контроллер управляет временем и частотой анимации. Здесь он настроен на повторяющуюся анимацию с длительностью 2 секунды.

  2. AnimatedBuilder — виджет, который связывается с контроллером анимации. Когда значение анимации изменяется, AnimatedBuilder вызывает свою функцию builder и перерисовывает только те части виджета, которые изменяются.

  3. Transform.rotate — использует значение анимации, чтобы вращать квадрат на 360 градусов.

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

  1. animation

    • Описание: Анимация, которой управляет виджет AnimatedBuilder.

    • Пример:

    • Применение: Управляет обновлением функции builder каждый раз при изменении значения анимации.

  2. builder

    • Описание: Функция, которая выполняется при изменении значения анимации. Она обновляет виджет, используя текущее значение анимации.

    • Пример:

    • Применение: В этой функции определяется, что конкретно будет анимироваться и как это будет выглядеть на экране.

  3. child

    • Описание: Виджет, который передается в builder и который остается неизменным во время анимации. Это повышает производительность, так как child не перестраивается при каждом обновлении анимации.

    • Пример:

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

Итог

AnimatedBuilder — полезный виджет для создания оптимизированных анимаций. Он позволяет обновлять только те части интерфейса, которые должны анимироваться, что повышает производительность приложения и упрощает работу с анимациями.

Last updated