duration: The duration of the animation is 1 second.

upperBound and lowerBound:
Since the bouncing ball animation moves the ball
by transitioning its top-margin value from 0 to 100,
this step passes 0 as the lowerBound and 100 as the upperBound.

4. Add listener(s)

{explicit4 → explicit5}/lib/main.dart

@@ -22,12 +22,16 @@

22
22

lowerBound: 0,

23
23

upperBound: 100,

24
24

);

25

26

+
                controller.addListener(() {

27

+
                  setState(() {});

28