「Flutter/画面遷移/画面遷移イベント検知」の版間の差分
提供: 初心者エンジニアの簡易メモ
行18: | 行18: | ||
} | } | ||
− | // | + | // この画面に戻ったとき |
void didPopNext() { | void didPopNext() { | ||
debugPrint("didPopNext ${runtimeType}"); | debugPrint("didPopNext ${runtimeType}"); | ||
} | } | ||
− | // | + | // 画面がpushされたとき |
void didPush() { | void didPush() { | ||
debugPrint("didPush ${runtimeType}"); | debugPrint("didPush ${runtimeType}"); | ||
} | } | ||
− | // | + | // 画面がpopされたとき |
void didPop() { | void didPop() { | ||
debugPrint("didPop ${runtimeType}"); | debugPrint("didPop ${runtimeType}"); | ||
} | } | ||
− | // | + | // 新しい画面へ移動した時 |
void didPushNext() { | void didPushNext() { | ||
debugPrint("didPushNext ${runtimeType}"); | debugPrint("didPushNext ${runtimeType}"); |
2019年11月16日 (土) 15:29時点における版
Scaffoldの画面でイベント検知する
_TextPageState と ArticleTextPage は各々のクラス名を入れる。
class _TextPageState extends State<ArticleTextPage> with RouteAware { RouteObserver<PageRoute> routeObserver = new RouteObserver<PageRoute>(); @override void didChangeDependencies() { super.didChangeDependencies(); routeObserver.subscribe(this, ModalRoute.of(context)); } @override void dispose() { routeObserver.unsubscribe(this); super.dispose(); } // この画面に戻ったとき void didPopNext() { debugPrint("didPopNext ${runtimeType}"); } // 画面がpushされたとき void didPush() { debugPrint("didPush ${runtimeType}"); } // 画面がpopされたとき void didPop() { debugPrint("didPop ${runtimeType}"); } // 新しい画面へ移動した時 void didPushNext() { debugPrint("didPushNext ${runtimeType}"); }