nc-photos/app/lib/widget/page_visibility_mixin.dart
2022-04-06 02:37:58 +08:00

40 lines
696 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;
}