diff --git a/example/lib/main.dart b/example/lib/main.dart index fefa251..e83d485 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -83,130 +83,132 @@ class _MyAppState extends State { @override Widget build(BuildContext context) { - return Stack( - children: [ - //CENTER -- Blast - Align( - alignment: Alignment.center, - child: ConfettiWidget( - confettiController: _controllerCenter, - blastDirectionality: BlastDirectionality - .explosive, // don't specify a direction, blast randomly - shouldLoop: - true, // start again as soon as the animation is finished - colors: const [ - Colors.green, - Colors.blue, - Colors.pink, - Colors.orange, - Colors.purple - ], // manually specify the colors to be used - createParticlePath: drawStar, // define a custom shape/path. + return SafeArea( + child: Stack( + children: [ + //CENTER -- Blast + Align( + alignment: Alignment.center, + child: ConfettiWidget( + confettiController: _controllerCenter, + blastDirectionality: BlastDirectionality + .explosive, // don't specify a direction, blast randomly + shouldLoop: + true, // start again as soon as the animation is finished + colors: const [ + Colors.green, + Colors.blue, + Colors.pink, + Colors.orange, + Colors.purple + ], // manually specify the colors to be used + createParticlePath: drawStar, // define a custom shape/path. + ), ), - ), - Align( - alignment: Alignment.center, - child: TextButton( - onPressed: () { - _controllerCenter.play(); - }, - child: _display('blast\nstars')), - ), - - //CENTER RIGHT -- Emit left - Align( - alignment: Alignment.centerRight, - child: ConfettiWidget( - confettiController: _controllerCenterRight, - blastDirection: pi, // radial value - LEFT - particleDrag: 0.05, // apply drag to the confetti - emissionFrequency: 0.05, // how often it should emit - numberOfParticles: 20, // number of particles to emit - gravity: 0.05, // gravity - or fall speed - shouldLoop: false, - colors: const [ - Colors.green, - Colors.blue, - Colors.pink - ], // manually specify the colors to be used + Align( + alignment: Alignment.center, + child: TextButton( + onPressed: () { + _controllerCenter.play(); + }, + child: _display('blast\nstars')), ), - ), - Align( - alignment: Alignment.centerRight, - child: TextButton( - onPressed: () { - _controllerCenterRight.play(); - }, - child: _display('pump left')), - ), - - //CENTER LEFT - Emit right - Align( - alignment: Alignment.centerLeft, - child: ConfettiWidget( - confettiController: _controllerCenterLeft, - blastDirection: 0, // radial value - RIGHT - emissionFrequency: 0.6, - minimumSize: const Size(10, - 10), // set the minimum potential size for the confetti (width, height) - maximumSize: const Size(50, - 50), // set the maximum potential size for the confetti (width, height) - numberOfParticles: 1, - gravity: 0.1, + + //CENTER RIGHT -- Emit left + Align( + alignment: Alignment.centerRight, + child: ConfettiWidget( + confettiController: _controllerCenterRight, + blastDirection: pi, // radial value - LEFT + particleDrag: 0.05, // apply drag to the confetti + emissionFrequency: 0.05, // how often it should emit + numberOfParticles: 20, // number of particles to emit + gravity: 0.05, // gravity - or fall speed + shouldLoop: false, + colors: const [ + Colors.green, + Colors.blue, + Colors.pink + ], // manually specify the colors to be used + ), + ), + Align( + alignment: Alignment.centerRight, + child: TextButton( + onPressed: () { + _controllerCenterRight.play(); + }, + child: _display('pump left')), + ), + + //CENTER LEFT - Emit right + Align( + alignment: Alignment.centerLeft, + child: ConfettiWidget( + confettiController: _controllerCenterLeft, + blastDirection: 0, // radial value - RIGHT + emissionFrequency: 0.6, + minimumSize: const Size(10, + 10), // set the minimum potential size for the confetti (width, height) + maximumSize: const Size(50, + 50), // set the maximum potential size for the confetti (width, height) + numberOfParticles: 1, + gravity: 0.1, + ), + ), + Align( + alignment: Alignment.centerLeft, + child: TextButton( + onPressed: () { + _controllerCenterLeft.play(); + }, + child: _display('singles')), + ), + + //TOP CENTER - shoot down + Align( + alignment: Alignment.topCenter, + child: ConfettiWidget( + confettiController: _controllerTopCenter, + blastDirection: pi / 2, + maxBlastForce: 5, // set a lower max blast force + minBlastForce: 2, // set a lower min blast force + emissionFrequency: 0.05, + numberOfParticles: 50, // a lot of particles at once + gravity: 1, + ), + ), + Align( + alignment: Alignment.topCenter, + child: TextButton( + onPressed: () { + _controllerTopCenter.play(); + }, + child: _display('goliath')), ), - ), - Align( - alignment: Alignment.centerLeft, - child: TextButton( - onPressed: () { - _controllerCenterLeft.play(); - }, - child: _display('singles')), - ), - - //TOP CENTER - shoot down - Align( - alignment: Alignment.topCenter, - child: ConfettiWidget( - confettiController: _controllerTopCenter, - blastDirection: pi / 2, - maxBlastForce: 5, // set a lower max blast force - minBlastForce: 2, // set a lower min blast force - emissionFrequency: 0.05, - numberOfParticles: 50, // a lot of particles at once - gravity: 1, + //BOTTOM CENTER + Align( + alignment: Alignment.bottomCenter, + child: ConfettiWidget( + confettiController: _controllerBottomCenter, + blastDirection: -pi / 2, + emissionFrequency: 0.01, + numberOfParticles: 20, + maxBlastForce: 100, + minBlastForce: 80, + gravity: 0.3, + ), ), - ), - Align( - alignment: Alignment.topCenter, - child: TextButton( - onPressed: () { - _controllerTopCenter.play(); - }, - child: _display('goliath')), - ), - //BOTTOM CENTER - Align( - alignment: Alignment.bottomCenter, - child: ConfettiWidget( - confettiController: _controllerBottomCenter, - blastDirection: -pi / 2, - emissionFrequency: 0.01, - numberOfParticles: 20, - maxBlastForce: 100, - minBlastForce: 80, - gravity: 0.3, + Align( + alignment: Alignment.bottomCenter, + child: TextButton( + onPressed: () { + _controllerBottomCenter.play(); + }, + child: _display('hard and infrequent')), ), - ), - Align( - alignment: Alignment.bottomCenter, - child: TextButton( - onPressed: () { - _controllerBottomCenter.play(); - }, - child: _display('hard and infrequent')), - ), - ], + ], + ), ); } diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 3a81eb5..5272a54 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -20,4 +20,4 @@ dev_dependencies: sdk: flutter flutter: - uses-material-design: true + uses-material-design: true \ No newline at end of file