| layout | post |
|---|---|
| title | Animation in Flutter Linear Gauge widget | Syncfusion |
| description | Learn here all about adding and customizing animation of Syncfusion Flutter Linear Gauge (SfLinearGauge) widget and more. |
| platform | Flutter |
| control | SfLinearGauge |
| documentation | ug |
All Linear Gauge elements such as axis (along with ticks and labels), range, bar pointer, shape marker pointer, and widget marker pointer can be animated separately.
The animateAxis and animationDuration properties in SfLinearGauge are used to animate the axis track along with the ticks and labels. The axis will have a fade-in with opacity animation when animateAxis is set to true. By default, the animateAxis is set to false.
{% highlight dart %}
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: SfLinearGauge( animateAxis: true, animationDuration: 3000 ), ), ), ); }
{% endhighlight %}
The animateRange and animationDuration properties in SfLinearGauge are used to animate ranges. The range will have a fade-in with opacity animation when animateRange is set to true. By default, the animateRange is set to false.
{% highlight dart %}
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: SfLinearGauge( animateRange: true, animationDuration: 3000 ), ), ), ); }
{% endhighlight %}
The animation behavior is common for all three pointers in Linear Gauge - shape pointer, widget pointer, and bar pointer.
All three pointers have the following properties for animation:
enableAnimation- Enable or disable the animation for bar pointer. The default value istrueanimationDuration- Sets the animation duration. The default value is 1000animationType- Sets the animation type.
The animationType supports the following animations. The default animation type is animationType.ease.
bounceOuteaseeaseInCireaseOutBackelasticOutlinearslowMiddle
The following code example demonstrates how to customize the animation for bar pointer:
{% highlight dart %}
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: SfLinearGauge( barPointers: [ LinearBarPointer( value: 50, animationDuration: 2000, animationType: LinearAnimationType.bounceOut ), ], ), ), ), ); }
{% endhighlight %}
Both the shape and widget marker pointers have the same set of properties and behave similarly for animation. The example below demonstrates LinearShapePointer but the same principles apply to LinearWidgetPointer as well.
The onAnimationCompleted called when the pointer animation is completed. The default value is null.
{% highlight dart %}
@override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Center( child: SfLinearGauge( markerPointers:[ LinearShapePointer( onAnimationCompleted: () { print("Shape Pointer animation is completed"); }, ), ], ), ), ), ); }
{% endhighlight %}


