Remember the following observations whenever performing
this step with AnimationController:

You can instantiate AnimationController in several
different lifecycle methods,
but it is most common to use initState().

You should dispose of an AnimationController
when it is no longer needed—this reduces
the likelihood of memory leaks.

Always dispose of AnimationController
within the dispose() lifecycle method.

3. Pass AnimationController parameters

Pass arguments for vsync, duration, lowerBound,
and upperBound to the AnimationController constructor:

{explicit3 → explicit4}/lib/main.dart

@@ -1,5 +1,3 @@

// ignore_for_file: missing_required_argument

3
1

import 'dart:async';

4
2

import 'package:flutter/material.dart';