Flutter: Animation-1

 

Introduction

Animation is a process of showing a series of images / picture in a particular order within a specific duration to give an illusion of movement. The most important aspects of the animation are as follows −

  • Animation have two distinct values: Start value and End value. The animation starts from Start value and goes through a series of intermediate values and finally ends at End values. For example, to animate a widget to fade away, the initial value will be the full opacity and the final value will be the zero opacity.

  • The intermediate values may be linear or non-linear (curve) in nature and it can be configured. Understand that the animation works as it is configured. Each configuration provides a different feel to the animation. For example, fading a widget will be linear in nature whereas bouncing of a ball will be non-linear in nature.

  • The duration of the animation process affects the speed (slowness or fastness) of the animation.

  • The ability to control the animation process like starting the animation, stopping the animation, repeating the animation to set number of times, reversing the process of animation, etc.,

  • In Flutter, animation system does not do any real animation. Instead, it provides only the values required at every frame to render the images.

     

     

Animation Based Classes

Flutter animation system is based on Animation objects. The core animation classes and its usage are as follows −

Animation

Generates interpolated values between two numbers over a certain duration. The most common Animation classes are −

  • Animation<double> − interpolate values between two decimal number

  • Animation<Color> − interpolate colors between two color

  • Animation<Size> − interpolate sizes between two size

  • AnimationController − Special Animation object to control the animation itself. It generates new values whenever the application is ready for a new frame. It supports linear based animation and the value starts from 0.0 to 1.0 

     

    what are some Implicitly Animated Widgets we can use?

    • AnimatedSize

    • AnimatedOpacity

    • AnimatedPadding

    • AnimatedPositioned (Limited use. Only where the Constraints are loose, like a Stack)

    • AmimatedWidget (Animates between different types of Widgets, like a Text and an Icon)

    • Hero (Animates a Widget from one page to another, when it appears on both pages)

      

Comments

Popular posts from this blog

Flutter: Everything is a widget

Flutter: Statefull vs Stateless widget

Flutter: Container, Column and Rows