animated_emerge 3.0.0-rc2
animated_emerge: ^3.0.0-rc2 copied to clipboard
AnimatedEmerge simply animates the visibility of a widget.
example/lib/main.dart
import 'package:animated_emerge/animated_emerge.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const App());
}
class App extends StatefulWidget {
const App({super.key});
@override
State<App> createState() => _AppState();
}
class _AppState extends State<App> {
var visible = true;
@override
Widget build(BuildContext context) {
final circle = SizedBox.square(
dimension: 50,
child: ClipOval(
child: DecoratedBox(
decoration: BoxDecoration(
color: Colors.blue.shade500,
)),
),
);
final text = Text("Hello World");
final loadingIndicator = CircularProgressIndicator();
return WidgetsApp(
color: const Color(0xFF52afdc),
builder: (_, __) => Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
AnimatedEmerge(
emerged: visible,
behavior: EmergeBehavior.size,
child: loadingIndicator,
),
const SizedBox(height: 20),
AnimatedEmerge(
emerged: visible,
behavior: EmergeBehavior.size,
direction: SizingDirection.vertical,
animateOpacity: false,
child: circle,
),
const SizedBox(height: 20),
AnimatedEmerge(
emerged: visible,
behavior: EmergeBehavior.scale,
child: text,
),
const SizedBox(height: 20),
TextButton(
onPressed: () => setState(() => visible = !visible),
child: const Text("Toggle"),
)
],
),
);
}
}