nc-photos/lib/widget/page_visibility_mixin.dart
2021-07-11 13:32:35 +08:00

40 lines
695 B
Dart

import 'package:flutter/widgets.dart';
import 'package:nc_photos/widget/my_app.dart';
mixin PageVisibilityMixin<T extends StatefulWidget> on State<T>, RouteAware {
@override
didChangeDependencies() {
super.didChangeDependencies();
MyApp.routeObserver.subscribe(this, ModalRoute.of(context));
}
@override
dispose() {
MyApp.routeObserver.unsubscribe(this);
super.dispose();
}
@override
didPush() {
_isVisible = true;
}
@override
didPushNext() {
_isVisible = false;
}
@override
didPop() {
_isVisible = false;
}
@override
didPopNext() {
_isVisible = true;
}
bool isPageVisible() => _isVisible;
var _isVisible = true;
}