diff --git a/animations/lib/main.dart b/animations/lib/main.dart index e249abc77..484a6eecf 100644 --- a/animations/lib/main.dart +++ b/animations/lib/main.dart @@ -112,6 +112,11 @@ final miscDemos = [ route: CardSwipeDemo.routeName, builder: (context) => const CardSwipeDemo(), ), + Demo( + name: 'Flutter Animate', + route: FlutterAnimateDemo.routeName, + builder: (context) => const FlutterAnimateDemo(), + ), Demo( name: 'Repeating Animation', route: RepeatingAnimationDemo.routeName, diff --git a/animations/lib/src/misc/flutter_animate.dart b/animations/lib/src/misc/flutter_animate.dart new file mode 100644 index 000000000..19530dcb7 --- /dev/null +++ b/animations/lib/src/misc/flutter_animate.dart @@ -0,0 +1,43 @@ +// Copyright 2023 The Flutter team. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +import 'package:flutter/material.dart'; +import 'package:flutter_animate/flutter_animate.dart'; + +// Demonstrating the `flutter_animate` package +class FlutterAnimateDemo extends StatelessWidget { + static const String routeName = 'misc/flutter_animate'; + + const FlutterAnimateDemo({super.key}); + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('Flutter Animate Demo'), + ), + body: Center( + child: Padding( + padding: const EdgeInsets.all(16), + child: Text( + "Hello Flutter Animate", + style: Theme.of(context).textTheme.headlineLarge, + ) + .animate( + onPlay: (controller) => controller.repeat(), + ) + .then(delay: 250.ms) + .fadeIn(duration: 500.ms) + .then(delay: 250.ms) + .shimmer(duration: 400.ms) + .then(delay: 250.ms) + .slide() + .then(delay: 250.ms) + .blur(duration: 500.ms) + .then(delay: 100.ms), + ), + ), + ); + } +} diff --git a/animations/lib/src/misc/misc.dart b/animations/lib/src/misc/misc.dart index 9da9d533d..634474480 100644 --- a/animations/lib/src/misc/misc.dart +++ b/animations/lib/src/misc/misc.dart @@ -5,6 +5,7 @@ export 'card_swipe.dart'; export 'carousel.dart'; export 'curved_animation.dart'; export 'expand_card.dart'; +export 'flutter_animate.dart'; export 'focus_image.dart'; export 'hero_animation.dart'; export 'physics_card_drag.dart'; diff --git a/animations/pubspec.yaml b/animations/pubspec.yaml index 3aba201f3..c87b1e97d 100644 --- a/animations/pubspec.yaml +++ b/animations/pubspec.yaml @@ -9,6 +9,7 @@ environment: dependencies: flutter: sdk: flutter + flutter_animate: ^4.1.0 go_router: ^6.0.0 window_size: # plugin is not yet part of the flutter framework git: