navigation_util.dart 866 B

123456789101112131415161718192021222324252627282930313233
  1. import 'package:flutter/material.dart';
  2. void routeToPage(BuildContext context, Widget page) {
  3. Navigator.of(context).push(
  4. _buildPageRoute(page),
  5. );
  6. }
  7. void replacePage(BuildContext context, Widget page) {
  8. Navigator.of(context).pushReplacement(
  9. _buildPageRoute(page),
  10. );
  11. }
  12. PageRouteBuilder<dynamic> _buildPageRoute(Widget page) {
  13. return PageRouteBuilder(
  14. pageBuilder: (BuildContext context, Animation<double> animation,
  15. Animation<double> secondaryAnimation) {
  16. return page;
  17. },
  18. transitionsBuilder: (BuildContext context, Animation<double> animation,
  19. Animation<double> secondaryAnimation, Widget child) {
  20. return Align(
  21. child: FadeTransition(
  22. opacity: animation,
  23. child: child,
  24. ),
  25. );
  26. },
  27. transitionDuration: Duration(milliseconds: 200),
  28. opaque: false,
  29. );
  30. }