|
- import 'package:flutter/material.dart';
- import 'package:zhiying_comm/zhiying_comm.dart';
-
- class FNNavigatorObserver extends NavigatorObserver {
- factory FNNavigatorObserver() => _getInstance();
- static FNNavigatorObserver get instance => _getInstance();
- static FNNavigatorObserver _instance;
-
- NavigatorObserver curContext;
-
- FNNavigatorObserver._();
- static FNNavigatorObserver _getInstance() {
- if (_instance == null) {
- _instance = new FNNavigatorObserver._();
- }
- return _instance;
- }
-
- String topRouteName = "";
-
- void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
- notifyHide(previousRoute);
- notifyShow(route);
- NativeUtil.onPagePush(previousRoute == null ? true : previousRoute.isFirst);
- }
-
- void didPop(Route<dynamic> route, Route<dynamic> previousRoute) {
- notifyHide(route);
- notifyShow(previousRoute);
- NativeUtil.onPagePush(previousRoute == null ? true : previousRoute.isFirst);
- }
-
- void didRemove(Route<dynamic> route, Route<dynamic> previousRoute) {
- notifyHide(route);
- notifyShow(previousRoute);
- }
-
- /// The [Navigator] replaced `oldRoute` with `newRoute`.
- void didReplace({Route<dynamic> newRoute, Route<dynamic> oldRoute}) {
- notifyHide(oldRoute);
- notifyShow(newRoute);
- }
-
- void notifyShow(Route<dynamic> route) {}
-
- void notifyHide(Route<dynamic> route) {}
- }
|