app_navigator.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:flutter/material.dart';
  2. import 'package:shuqi/public.dart';
  3. import 'package:shuqi/pages/novel_detail/novel_detail_scene.dart';
  4. import 'package:shuqi/pages/login/login_page.dart';
  5. import 'package:shuqi/pages/web_page.dart';
  6. import 'package:shuqi/pages/reader/reader_scene.dart';
  7. class AppNavigator {
  8. static push(BuildContext context, Widget scene) {
  9. Navigator.push(
  10. context,
  11. MaterialPageRoute(
  12. builder: (BuildContext context) => scene,
  13. ),
  14. );
  15. }
  16. static pushNovelDetail(BuildContext context, Novel novel) {
  17. AppNavigator.push(context, NovelDetailScene(novel.id));
  18. }
  19. static pushLogin(BuildContext context) {
  20. Navigator.push(context, MaterialPageRoute(builder: (context) {
  21. return LoginPage();
  22. }));
  23. }
  24. static pushWeb(BuildContext context, String url, String title) {
  25. Navigator.push(context, MaterialPageRoute(builder: (context) {
  26. return WebPage(url: url, title: title);
  27. }));
  28. }
  29. static pushReader(BuildContext context, int articleId) {
  30. Navigator.push(context, MaterialPageRoute(builder: (context) {
  31. return ReaderScene(articleId: articleId);
  32. }));
  33. }
  34. }